美文网首页
全连接层&卷积层

全连接层&卷积层

作者: zelda2333 | 来源:发表于2019-11-11 13:34 被阅读0次

    1.全连接层可以视作一种特殊的卷积

    考虑下面两种情况:

    特征图和全连接层相连:AlexNet经过五次池化后得到77512的特征图,下一层全连接连向4096个神经元,这个过程可以看做有4096个77512的卷积核和77512的特征图进行卷积操作,最终得到114096的特征图,等价与全连接得到4096个神经元。

    全连接层和全连接层相连:AlexNet的再下一层依然是4096个神经元,即4096个神经元和4096个神经元全连接,由(1)我们得到了114096的特征图,本次全连接过程可以看做存在4096个114096个卷积核,依次和114096的特征图进行卷积操作,等价与全连接。

    2. 为什么卷积方便高效

    方便:对于384384的图片,不修改AlexNet的结构使之适应384384(依然使用原来224x224输入的结构),直到经过汇聚层得到[12x12x512]的数组时,网络运行没有任何问题,按照原来的架构,接下来要将特征图平铺和4096个神经元全连接,这时候就出问题了,因为原架构平铺后是7x7,现在是12x12,无法使用之前的参数矩阵了,但是将全连接层转化为卷积层后可继续进行,并最终得到6x6的正确输出,仅仅将网络的全连接层等价转化为卷积层,就能接收更大的图片,这显然方便了很多。

    高效:第一层卷积,对于224x224的一张图片,假设卷积耗时为t,那么前向传播时,36张图片的时间为36t,对于384x384的图片,耗时同样为66t = 36t,假设下一层为池化层,每次2x2池化的时间为ti,对于36张224x224的图片,总耗时36112112ti = 451584ti,对于384x384的图片,耗时为192192*ti = 36864ti << 451584ti,类似进行计算下去,发现全卷积每一层的耗时都少的多。因此全卷积效率更高,直观上如何得到这个结论呢?将384x384的图片按照32的步长切成224x224后得到36张图片,这36张图片有很多区域重叠了,本来一次池化就可以得到结果的,但是输入36张图片后,相同区域进行了多次重复池化操作,因此耗费了更多的时间。

    3.

    全连接层 卷积层
    全连接层是使用图像的全局信息,全连接层的权重是固定的,要求输入的feature map的大小也有要求,所以网络开始输入图像的大小要固定。全连接层的每一个节点都有上一层的所有节点相连。 卷积层取局部特征,不需要固定输入的大小,因为它是对局部区域进行窗口滑动。
    例如:feature map大小3 * 3 * 2,有12个像素点,那么就需要将其转换成12*1的列向量,对于要乘的权重,形式应该为1 * 12,经过全连接层后的输出就是1 * 1.(可存在多权重,一个权重一行,输出为n * ( 1 * 1 )) 例如:输入提箱是32 * 32 * 3,卷积层为一个5 * 5 * 3的filter(深度需要相同,可多个filter),通过filter后可得一个28 * 28 * 1的特征图。

    卷积层优点:
    局部连接:提取数据局部特征,比如卷积核的感受野。
    权值共享:一个卷积核只需提取一个特征,降低了网络训练的难度

    参考链接:全连接层与卷积层(总结)
    理解为什么要将全连接层转化为卷积层

    相关文章

      网友评论

          本文标题:全连接层&卷积层

          本文链接:https://www.haomeiwen.com/subject/mactictx.html