• 动手学深度学习 | 卷积层 | 17


    从全连接到卷积

    卷积是深度学习中最重要的概念之一,今天就学习下卷积的基本知识。

    36M*100=3.6B。

    使用MLP来处理图片会遇到权重参数过多的问题。

    就是100个单元的单隐层,这里的权重都需要 3.6*1e9 * 4 / 1024 / 1024 / 1024 = 13.4GB的内存,这就需要很好的GPU才可以存储的下来,现在还没有涉及运算,这肯定是不对的。

    对图片中的信息查找有两个原则:

    • 平移不变形

    对于图片中的方框,不管是在图片中的哪个位置,都应该要能够被识别出来,不能因为方框出现的像素位置不同而改变。

    • 局部性

    就是要找到方框中的内容,其实不用看的太远,只需要看到局部的信息,不需要看到全局的信息。

    这两个在图片中找模式的原则,可以启发我们之后的整个设计。

    我现在来看,怎么从MLP出发,利用上述两个原则,得到卷积。所以也可以说卷积是一个特殊的全连接层。

    如果图片要输入MLP,那么我们会将其重置成一维,这样会丢失空间信息。这里输入是以矩阵的形式输入(为了保留空间信息)

    (看不懂公式推导)这里其实权值共享

    一张图片会有多个卷积核,然后这些卷积核就是这张图片共用的(不会因为位置的改变而改变卷积核中的参数),卷积核的权值共享就保证了平移不变形。

    局部性就是,这个点的话,我不会看的太远,一般都是选小卷积核。

    对全连接层使用平移不变性局部性得到卷积层。

    卷积层

    刚才我们讲的是卷积这个操作子,我们现在讲讲卷积层是个什么东西。

    下面是卷积操作的动图,Kernel的Weight是不会发生改变的。

    卷积操作(也叫做交叉相关运算):kernel的对应元素相乘再sum()。

    img

    经过卷积操作之后,输出会变小,其实也可以认为是进行了一次特征的提取。

    (Y_{shape}=(n_h-k_h+1) imes (n_w-k_w+1)),

    我们可以看到,不同卷积核的weight可以带来不同的效果(这里是有关数字图像处理的内容)

    交叉相关和卷积其实是没有太多区别的,实际使用中没有区别。

    • 一维卷积 conv-1d

    我们之后会讲用CNN来做文本,效果其实也挺好的。文本也好,语言也好,都是一个一维的向量。

    • 二维卷积 conv-2d

    像图片就是一个二维的卷积。

    • 三维卷积 conv-3d

    像视频(图像+时间),医学图像,气象地图

    代码

    QA

    1. 不应该看那么远?感受野不是越大越好吗?

    其实这个问题和“为什么宽一点,浅一点的MLP效果没有窄一点,然后深一点的MLP效果好”,其实对于卷积神经网也是一样的。

    而且有理论根据,小卷积核是可以等价替换大卷积核的感受野的。还有感受野相同的情况下,核越小,计算量越小。

    1. 二维卷积核,有没有可能同时使用两个尺寸的Kernel进行计算,然后再计算出一个更合适的Kernel,从而提高特征提取的性能?

    这个idea是很好的,如果早5年,GoogleNet那篇论文就是你的了。这个就是Inception的设计思路。

    1. 怎么理解卷积是反过来走的?卷积公式里面有负号的原因?

    卷积其实是从傅里叶变换,也就是从信号处理那边过来的,只不过深度学习拿来用了,数学上就是这么定义的。

    1. 卷积核的大小对应了局部性,那什么体现了平移不变形呢?

    还是可以通过找Waldo来进行理解,找Waldo的那个核是不会改变的,就是同一个核(权值共享),那么就和Waldo具体在图片中的哪个位置无关了,这就体现了平移不变形。

    1. (1,2)这个核大小是怎么确定的?

    因为我们有先验知识,知道核的大小就是应该(1,2),这样就可以提取垂直的边缘信息。

    1. 自己训练的模型,loss抖动很厉害怎么办?

    其实抖动并不要紧,如果只抖动但是不下降,这个问题就很大了。

    如果抖动剧烈的话,建议:调小学习率 & 增加批量大小。

    1. mlp和卷积神经网关于图片处理参数量大小差别?

    mlp(假设单隐层,100个神经元)的参数量是随着输入的大小线性增加的!

    但是卷积的话,kernel的大小固定了,那么卷积最终就是为了得到一个feature_map,其大小为(Y_{shape}=(n_h-k_h+1) imes (n_w-k_w+1))。所以现对于mlp,卷积神经网的参数量真的降低了很多很多。

  • 相关阅读:
    PostgreSQL中的partition-wise join
    Partition-wise join
    外观模式 门面模式 Facade 结构型 设计模式(十三)
    桥接模式 桥梁模式 bridge 结构型 设计模式(十二)
    组合模式 合成模式 COMPOSITE 结构型 设计模式(十一)
    创建型设计模式对比总结 设计模式(八)
    原型模式 prototype 创建型 设计模式(七)
    单例模式 创建型 设计模式(六)
    建造者模式 生成器模式 创建型 设计模式(五)
    抽象工厂模式 创建型 设计模式(四)
  • 原文地址:https://www.cnblogs.com/Rowry/p/15320803.html
Copyright © 2020-2023  润新知