【深度学习】Network In Network--在CNN中构建MLP
来源:互联网 发布:Js定义字符串编码 编辑:程序博客网 时间:2024/06/06 10:52
论文名称:《Network in Network》
论文地址: https://arxiv.org/abs/1312.4400
对于1x1卷积核的应用,大家可能对GoogeLenet的Inception中1x1的印象会更深刻一点,在Inception结构中,1x1卷积核起着降维的作用,来降低3x3,5x5卷积核的计算量。
事实上,1x1卷积核在2015的ResNet中也有被用到,其中1x1卷积核不仅对输入特征进行降维,也对输出特征进行升维,在降低计算量的同时,没有降低网络的表现力。
真正把1x1卷积核玩出花样的应该要追溯到2014 ICLR上的Network in Network上。这篇文章很有意思,对我启发很大。
整体网络架构
全文有两个insight:
1. MLP Convolution Layers
这个insight我特别佩服,因为他改变了整个传统CNN的结构模式。以往传统的CNN都是convolution + activation function 来提取特征。其中convolution可以看做是广义线性模型,这也就意味着convolution是假设在特征线性可分这一条件上的。然而这个条件往往不会被满足,因此往往我们一般会采取过完备的filters去提取特征,但这会导致特征维度的大量增加,也就会导致计算量的增加。
那么是否可以在卷积中引入多层感知器呢(MLP)?因为这样就可以在相应的流行空间中提取任意的非线性特征。于是作者将GLM convolution替换成了MLP convolution.
在结构形式也是十分的简单:3x3+relu–1x1+relu–1x1+relu
用公式的表现形式为:
GLM convolution和MLP convolution的对比如下:
2. Global Average Pooling
global average pooling的两个优点如下:
1)global average pooling 比 fully connect方式更简单直观
One advantage of global average pooling over the fully connected layers is that it is more native to the convolution structure by enforcing correspondences between feature maps and categories
2)不需要额外参数,过拟合风险小
Another advantage is that there is no parameter to optimize in the global average pooling thus overfitting is avoided at this layer
总结:
1)NIN网络在结构上非常新颖,但是却能够用传统的卷积方式去实现。
2)整个网络采用的参数量相当小
3)实验结果不错
放一个caffe model的链接:
http://ethereon.github.io/netscope/#/preset/nin
- 【深度学习】Network In Network--在CNN中构建MLP
- 【机器学习】关于CNN中1×1卷积核和Network in Network的理解
- 深度学习(二十六)Network In Network学习笔记
- [深度学习论文笔记][Image Classification] Network in Network
- Network in Network 论文学习
- Network in Network 学习总结
- Network in Network学习笔记
- Network In Network学习笔记
- Network in Network 学习笔记
- Deep Learning-TensorFlow (12) CNN卷积神经网络_ Network in Network 学习笔记
- CNN Network
- 深度学习(二)——深度学习常用术语解释, Neural Network Zoo, CNN, Autoencoder
- 深度学习(二十六)Network In Network学习笔记-ICLR 2014
- 深度学习(二十六)Network In Network学习笔记-ICLR 2014
- 深度学习(二十六)Network In Network学习笔记-ICLR 2014
- 深度学习(二十六)Network In Network学习笔记-ICLR 2014
- Network In Network学习笔记-ICLR 2014
- 学习笔记:Network in Network(NIN)
- C++学习笔记之enable_shared_from_this
- 树莓派配置文档 config.txt 说明
- Node.js中http 接收get请求、接收post请求、发送get请求、发送post请求
- 机器学习系列之EM算法
- Kotlin学习笔记--函数、函数表达式、默认参数、具名参数
- 【深度学习】Network In Network--在CNN中构建MLP
- Java设计模式--观察者模式
- 0x000.索引
- 洛谷 P1414 又是毕业季II
- iOS 清理本地缓存
- OpenStack环境搭建(1)--控制节点
- Java sql查询
- linux中mysql的安装
- Android生命周期浅析(一)