关于GoogleNet中1*1卷积与多尺度同时卷积聚合的问题

在深度神经网络中我们常常要解决随着网络的加深带来的一些梯度消失,模型退化,还有随着网络加深参数指数级增长等问题。在Inception结构中使用了1*1卷积进行降维,同时在多尺度上同时进行卷积在聚合,这么做目的是:

1. 在相同的尺寸上感受野中叠加更多的卷积,能够提取更加丰富的特征NIN(network in network 2013)。在这里说一些NIN网络中的一些内容:

  •  采用 mlpcon 的结构来代替 traditional 卷积层; 
  •  remove 卷积神经网络最后的 全连接层,采用 global average pooling 层代替;

mplconv 结构

conventional 的卷积层 可以认为是linear model , 为什么呢,因为局部接收域上的每一个tile 与 卷积核进行加权求和,然后接一个激活函数;它的 abstraction 的能力不够, 对处理线性可分的的 concept 也许是可以的,但是更复杂的 concepts 它有能力有点不够了,所以需要引入 more potent 的非线性函数;

基于此,提出了 mlpcon 结构,它用多层的感知器(其实就是多层的全连接层)来替代单纯的卷积神经网络中的 加 权求和; mlpcon 指的是: multilayer perceptron + convolution;

两者的结构如下所示:其中下图的 Mlpconv 的有两层的隐含层;

   image

说明:在mlpconv中的每一层的后面都跟着一个 ReLU激活函数;用于加入更多的nonlinearity;

在 卷积神经网络中,无论是输入还是输出,不同的 feature map 之间的卷积核是不相同的;

在mlpconv中,不同的 feature map 之间的开头与能结尾之间的权值不一样,而在 隐含层之间的权值是共享的;

global average pooling 结构

卷积神经网络最后的全连接层可以说作为了一个分类器,或者作为了一个 feature  clustering.   它把卷积层学习到的特征进行最后的分类;   intuitively, 根本不了解它是怎么工作的, 它就像一个黑盒子一样,并且它也引入了很多的参数,会出现 overfitting 现象;   (我认为其实最后的 全接层就是一个分类器)

本文,remove掉了 全连接层, 使用 global average pooling 来代替; 举个例子更容易说明白: 假设分类的任务有100 classes,  所以设置网络的最后的 feature maps 的个数为 100, 把每一个feature map 看作成 对应每一类的 概率的相关值 ,然后对每一个 feature map 求平均值(即 global average pooling), 得到了 100维的向量, 把它直接给 softmax层,进行分类;(其实100个数中最大值对应的类别即为预测值, 之所以再送给 softmax层是为了求 loss,用于训练时求梯度)

 

网络的整体结构

image

 

image

 

当分类的类别有4种时,则最后的 global average pooling 应该是这样的:

image

 关于GAP层代替全连接层即对每一个feature上的所有点做平均,有n个feature就输出n个平均值作为最后的softmax输入,好处有以下几点:

1. 对数据中整个feature上做正则化,防止了过拟合

2. 不需要全连接层,减少了整个结构参数的数目,因为我们知道全连接层的参数最多,过拟合的可能性降低

3. 不用在关注图像的尺寸,因为不管是怎样的输入都是一样的平均方法,传统的全连接层要根据尺寸来选择参数的数目,不具有通用性!

传送门关于softmax的应用

在NIN中,额外的1×1卷积层被添加到网络中,增加其深度,增强函数的表达能力。论文中大量使用了1x1的卷积核。在这里1×1卷积有双重目的:

  • 最多关键一个的是,它们主要用作降维模块来消除计算瓶颈,否则会限制我们网络的规模。
  • 使用1x1卷积核之后使得不仅仅只是增加了深度,而且还增加了我们网络的宽度而没有显着的性能损失。

使用1*1卷积进行降维,降低计算复杂度。那么我们降维的同时,会不会损失一些信息呢?

当然不会,只要我们输出的特征数不变,中间的降维类似于一个压缩过程,并不会影响最终的训练结果!

多尺度卷积聚合

在多尺度上聚合能够提取到不同尺度的特征,利用稀疏矩阵分解成密集矩阵计算的原理来加快收敛速度,在Inception上就是在维度上进行分解!

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值