首页 人工智能

提到1x1卷积,能想到什么?我能想到的就是把图像中每个像素点乘以某个倍数,这除了调整图像亮度什么的有用,还能有什么用处呢?带着疑惑我们来学习网络中的网络及1x1卷积。学习了1x1卷积后,我们开始接触谷歌Inception网络结果,通过1x1卷积的方式大幅度降低运算量。

一、1x1卷积(网络中的网络)

放在二维图像中,1x1卷积确实是这么个用处。
在这里插入图片描述
而放在三维图像中,会显得非常实用。
在这里插入图片描述
最终的结果是:高和宽的维度不变,仅仅32变成了过滤器数量。
一个神经元的输入是32个数字,乘以相同高度和宽度上的某个切片的32个数字,应用ReLU激活函数,输出结果。这32个单元应用了全连接神经网络,所以称网络中的网络

在这里插入图片描述

  • 在上图中,将192个通道压缩到32个,那么过滤器$1\times1\times192$,用了32个过滤器。
  • 与之形成对比的是池化层,池化将宽和高压缩得更小,而通道数不改变。
  • 如果用的是192个过滤器,那么卷积后结果仍然是$28\times28\times192$,但是也发生了改变,加入了一次ReLU激活函数,可以学习更复杂的函数。

二、Inception网络概述

在这里插入图片描述
Inception的基本思想:不需要去决定用什么过滤器、用不用池化层,而是由网络自行确定参数。我们可以给网络添加这些参数的所有可能,然后把这些输出连接起来,让网络自己学习需要什么参数,组合哪些过滤器。
简单来说,如果你在搭建神经网络时不知道怎么决定过滤器的大小,那么Inception模块就是你可以考虑的。应用各种过滤器,把输出连接起来。

三、Inception的计算成本问题

在这里插入图片描述
这个例子中,过滤器维度是$5\times5\times192$,乘法次数是:$5\times5\times192\times28\times28\times32=120m$
1.2亿这个运算量对于计算机来说太大了,有什么办法可以压缩?想到了1x1卷积。
在下面的例子中,用1x1卷积搭建了一个瓶颈层,大幅度降低了运算量。
在这里插入图片描述
直观来看,这样搭建瓶颈层会影响神经网络的效率,但事实上如果搭建合理,可以在降低运算量的同时,保证效率。

四、Inception模块

在这里插入图片描述
在这里插入图片描述

五、Inception网络

在这里插入图片描述

将Inception模块组合在一起,形成了如下的Inception网络。
在这里插入图片描述
竖着放,放大看这个图
在这里插入图片描述

在这里插入图片描述
放大这个网络可以看到除了网络最终的输出,在中间还有Softmax输出,这是Inception的一个细节,确保即便是在隐藏单元和中间层,也参与了特征计算,同样可以预测图片分类,在网络中起到调整的作用,防止过拟合!
这是谷歌研究的成果,称GoogLeNet,背景为了致敬经典卷积神经网络LeNet。还有个有趣的背景,盗梦空间(Inception)中提到“we need to go deeper”,论文的作者在文章中引用到盗梦空间的这个梗。



文章评论

    65j 访客ChromeWindows
    2021-03-26 10:01 回复

    空包代发、一单一用单号网www.kuaid100.cn