赞
踩
提到1x1卷积,能想到什么?我能想到的就是把图像中每个像素点乘以某个倍数,这除了调整图像亮度什么的有用,还能有什么用处呢?带着疑惑我们来学习网络中的网络及1x1卷积。学习了1x1卷积后,我们开始接触谷歌Inception网络结果,通过1x1卷积的方式大幅度降低运算量。
放在二维图像中,1x1卷积确实是这么个用处。
而放在三维图像中,会显得非常实用。
最终的结果是:高和宽的维度不变,仅仅32变成了过滤器数量。
一个神经元的输入是32个数字,乘以相同高度和宽度上的某个切片的32个数字,应用ReLU激活函数,输出结果。这32个单元应用了全连接神经网络,所以称网络中的网络。
Inception的基本思想:不需要去决定用什么过滤器、用不用池化层,而是由网络自行确定参数。我们可以给网络添加这些参数的所有可能,然后把这些输出连接起来,让网络自己学习需要什么参数,组合哪些过滤器。
简单来说,如果你在搭建神经网络时不知道怎么决定过滤器的大小,那么Inception模块就是你可以考虑的。应用各种过滤器,把输出连接起来。
这个例子中,过滤器维度是
5
×
5
×
192
5\times5\times192
5×5×192,乘法次数是:
5
×
5
×
192
×
28
×
28
×
32
=
120
m
5\times5\times192\times28\times28\times32=120m
5×5×192×28×28×32=120m
1.2亿这个运算量对于计算机来说太大了,有什么办法可以压缩?想到了1x1卷积。
在下面的例子中,用1x1卷积搭建了一个瓶颈层,大幅度降低了运算量。
直观来看,这样搭建瓶颈层会影响神经网络的效率,但事实上如果搭建合理,可以在降低运算量的同时,保证效率。
将Inception模块组合在一起,形成了如下的Inception网络。
竖着放,放大看这个图
放大这个网络可以看到除了网络最终的输出,在中间还有Softmax输出,这是Inception的一个细节,确保即便是在隐藏单元和中间层,也参与了特征计算,同样可以预测图片分类,在网络中起到调整的作用,防止过拟合!
这是谷歌研究的成果,称GoogLeNet,背景为了致敬经典卷积神经网络LeNet。还有个有趣的背景,盗梦空间(Inception)中提到“we need to go deeper”,论文的作者在文章中引用到盗梦空间的这个梗。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。