Daily Notes 7.12

  • Network In Network
  • Going deeper with convolutions

Terms

Weight decay

之前是$w = w - \eta * \frac{\partial L}{\partial W}$

加上 weight decay 之后就是
$w = w 0.99 - \eta \frac{\partial L}{\partial W}$

相当于是 regularization 操作,用于防止过拟合

Momentum

$v = \beta v - \alpha dx$
$x = x + v$

其中 $\beta$ 是 Momentum 系数

Network In Network

之前的卷积结构相当于是在对上一层特征做仿射变换,作者指出如果索要提取的特征不是线性可分的那么需要使用大量的滤波器。作者认为可以在卷积过程中选择对感受野进行更加复杂的操作,本文中介绍了 MLP 卷积层的设计。

MLP 卷积层的设计就是用多层 fc 代替。

这里的 n 表示 multilayer perceptron 是 n 层的。这个过程也可以看作是对每一位置的不同通道进行线性变换(跨通道的交互和信息整合),相当于是在做1 x 1的卷积。

对多个线性函数进行 maxout 操作可以得到一个分段函数,这样的分段函数可以近似任何一个凸函数。

可以看出二者是不同的。

文中还提出了一个操作是叫全局均值池化。之前的网络结构是把最后一个卷积层的输出传给全连接层然后再给一个 softmax 层做 logistic regression 。这个结构把卷积层看作是特征提取工具。但是这里面的全连接层很容易发生过拟合,导致整个网络的泛化性能不好。

本文中的全局平均池化是为了代替这个全连接层。文中的方法是对每一种类别生成一个 feature map 之后,并没有再加一个全连接层上去,而是直接对这些 feature map 内部求平均(每张 map 平均成一个数),之后再用 softmax 处理一下。这样做的好处是得到的信息更接近卷积层得到的分类信息,feature map 就可以转化为 categories confidence map。另一个好处是池化的过程没有额外的参数,可以避免过拟合。这个过程实际上就是强制网络学到用 feature map 来表示分类结果的方法。

这里发现了之前的一个错误理解,1 x 1的卷积是多个 feature channel 的线性叠加,这里 channel 不一定只有一个,所以不一定是只能用来 scaling。事实上,可以起到降维、通过后面接的非线性函数来增强非线性性之类的效果。

Going deeper with convolutions

本文中指出 1 x 1 的卷积有两个用处,一是用来降维,二是用来去除计算瓶颈,这使得网络结构可以变深、变宽。

R-CNN 把目标检测的问题分成两个子问题:利用 low-level 的信息(比如颜色和纹理来生成目标区域),和利用 CNN 分类器对得到的区域里的物体进行分类。

文中表示神经网络努力变深变宽带来一个问题是参数变多,另一个问题是会导致在 filter 数量上升的时候,深层网络的计算成本是指数级增长的。文中提出了解决办法,可以引入 sparsity。但是稀疏的数据会在计算过程中产生额外的成本。

文中提出了 Inception 结构,主要是考虑如何用现有的组件来近似卷积网络,同时降低成本。文中引入1 x 1的卷积来实现降维,把降维后的信息在传给代价昂贵的3 x 35 x 5。多引入的卷积层还附带了非线性激活函数,增强模型的非线性性。最后还使用了 max-pooling 层来把网络的大小减半。作者表示,实验发现目前结构仍然不是很理想,适合在更高的层使用而让低层结构使用传统的卷积神经网络结构。

这个结构的优点之一是使得每一阶段增加节点数不会导致之后阶段的总计算复杂度 “uncontrolled blow-up”。作者认为这一设计和传统直觉是一致的,处理图像信息的时候从不同尺度来捕捉。

网络中在一层里包含多个卷积核,这样每一层都能学到稀疏和不稀疏的特征。另外文中引入了 DepthConcat 来对的一层里的信息整合,代替了常见的 ReLU 之类的非线性激活函数。

ref: https://stats.stackexchange.com/questions/184823/how-does-the-depthconcat-operation-in-going-deeper-with-convolutions-work

然后作者表示之前 Alexnet 使用的 cropping approach 看起来很不错,我们也用了,虽然优点不是很大。就是测试的时候把图片按照(256\,288,329,352 四种大小)切出来的四个角落和中间部分喂给网络输入。