前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Network In Network

Network In Network

作者头像
用户1148525
发布2019-05-26 12:13:41
8670
发布2019-05-26 12:13:41
举报

ICLR 2014

本文主要是对 CNN网络中的 卷积层中使用 的 linear filter 改进的。很显然 有 线性就有非线性,非线性的表达能力要更加强大。这里使用一个 小网络 MLP(多层感知器)来代替 linear filter。提高系统的非线性表达能力。

文献【1】中 CNN模型由 卷积层和池化层交替构成。 卷积层主要做卷积,就是将linear filter 和对应的感知野点乘,然后使用非线性激活函数,这样就得到输出叫 feature maps。

感受野(receptive field)是怎样一个东西呢,从CNN可视化的角度来讲,就是输出featuremap某个节点的响应对应的输入图像的区域就是感受野。

比如我们第一层是一个3*3的卷积核,那么我们经过这个卷积核得到的featuremap中的每个节点都源自这个3*3的卷积核与原图像中3*3的区域做卷积,那么我们就称这个featuremap的节点感受野大小为3*3

这里写图片描述
这里写图片描述

2 Convolutional Neural Networks 文献【1】中的 Let-5 CNN网络 由 卷积层和 池化层交替构成,卷积层通过线性卷积滤波器得到卷积再经过非线性激活函数得到 特征maps。这里我们假定使用了 ReLU激活函数,那么特征 map 计算公式如下:

这里写图片描述
这里写图片描述

对于线性可分的特征,这个线性卷积是可以很好的解决问题的。但是对于输入数据中高度非线性关系的特征,这种线性卷积就不能很好的解决问题。当然我们可以通过更多的线性滤波器【6】来弥补这种线性表达能力的缺陷。就是对同一个概念的不同变化,我们可以用不同的线性滤波器来学习。但是一个概念如果有很多滤波器表示,那么这些滤波器会对下一层产生额外的负担。因为我们需要将这些滤波器结合起来进行下一层的学习【7】。CNN中下一层特征是对上一层特征抽象,所以我们更情愿在前面将特征抽象学习,而不是放到后面来。换句话来说如果我们不用这么多线性滤波器就可以把问题很好的解决,那何乐而不为呢。

最近提出的 maxout network【8】中, 特征maps 的数量通过 对 affine feature maps 最大池化 降低。(所谓的 affine feature maps 就是线性卷积后不经过激活函数处理的直接结果)。对线性函数的最大化 近似一种 分段线性逼近器,它可以近似任何一个凸函数。 和传统卷积层中进行的线性分类相比较,maxout network 可以对位于凸集合中的概念进行分类。这使得 maxout network 的性能 在好几个公共测试数据库上名列前茅 。

但是 maxout network 有一个前提假设,那就是 学习的概念位于 凸集合中,但是这有时不成立。这就需要采用一个可以近似更广义函数的逼近器。于是我们提出了 Network In Network 结构,使用 MLP 来对图像块提取更加抽象的特征。

3 Network In Network

这里写图片描述
这里写图片描述

主要包括两个部分: 3.1 MLP Convolution Layers 假定对于我们要学习的潜在特征分布没有任何的先验知识,我们需要一个任何函数逼近器来对图像块进行特征提取。径向基函数和多层感知器 都可以对任意函数进行近似。这里我们选择 多层感知器有两个原因:1)多层感知器可以和卷积网络兼容,都可以通过后向传播算法学习;2)多层感知器本身可以是一个深度模型,这和特征复用的精神是一致的【2】。多层感知器中的激活函数使用 ReLU。

多层感知器中的交叉网络连接可以从 cross channel (cross feature map) pooling 这个角度来看。这种级联交叉通道参数池化结构可以学习到复杂的交叉通道信息。

我们也可以将这个cross channel parametric pooling layer 看做一个卷积层,该层有一个 1*1的卷积核。

Comparison to maxout layers: maxout layer 网络主要是近似凸函数,而 Mlpconv layer 可以近似任何函数。

3.2 Global Average Pooling 传统的 卷积网络 在前几层进行卷积运算,对于分类问题,最后一个卷积层的特征 maps 输入 全链接层,接着是 softmax logistic regression 层。这种结构可以将卷积结构和传统的神经网络分类器连接起来。它将卷积层看做一个特征提取器,提取到的特征使用 传统方法进行分类。

但是全链接层容易过拟合,这就伤害了网络的泛化能力。为此文献【5】提出了 Dropout 来 解决这个过拟合问题。

本文提出另一个策略叫 global average pooling 来代替CNN中全链接层。主要思路就是在最后一个 mlpconv layer,对于每个分类任务中每一类,我们生产一个 feature map。 相对于在 feature maps 加入 全链接层,我们对每个 feature map 计算平均值,将这些均值向量直接输入softmax layer。

global average pooling 相对于 全链接层的优点有: 1) global average pooling 将卷积结构和物体类别更自然的对应起来。 feature maps可以很容易被解释为 类别置信度。 2)没有参数需要优化,避免了过拟合问题。 3) global average pooling 对图像邻域进行求和,这使其对输入中的位置平移更加 robust。

4 Experiments

这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2016年11月25日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档