目的:

通过用Mlpconv层来替代传统的conv层,可以学习到更加抽象的特征。传统卷积层通过将前一层进行了线性组合,然后经过非线性激活得到(GLM),作者认为传统卷积层的假设是基于特征的线性可分。而Mlpconv层使用多层感知机,是一个深层的网络结构,可以近似任何非线性的函数。在网络中高层的抽象特征代表它对于相同concept的不同表现具有不变性(By abstraction we mean that the feature is invariant to the variants of the same concept)。微小的神经网络在输入的map上滑动,它的权值是共享的,而且Mlpconv层同样可以使用BP算法学习到其中的参数。传统卷积层(左)与Mlpcon层(右)对比如下:

实现:

对于非线性激活函数,例如一个ReLU函数有,k代表通道下标,Xij表示以像素(i,j)为中心的输入区域。在Mlpconv层中,每一个神经元计算的规则为

n代表网络的层次。在上述b图可以看到,对于每一个神经元,生成的只有单个输出,而输入是多维(可以理解为多通道,在网络中的每一层是一个1*k的向量),可以把整个过程看作是一个1*1*k的卷积层作用在k通道上。在后续的一些论文中,常用到这样的方法来对输入进行降维(不是对图像的输入空间,而是通道降维),这样的非抽象的过程可以很好地把多维信息压缩。

使用全局平均池化层代替FC层:

使用这样的微网络的结构,可以抽象出更加好的局部特征,使得特征图与类别有一致性。在softmax的前一层去除FC层,则在这一层没有参数的优化,可以减少计算的消耗,降低这一层的过拟合。

过程是这样的:对于每一个特征图计算它的平均数,然后把这些平均数组成一个特征向量,输入到后续的softmax层中。

如下图:

总结NIN的优点:

(1)更好的局部抽象

(2)去除全连接层,更少的参数

(3)更小的过拟合

【CV论文阅读】Network in Network的更多相关文章

  1. [论文阅读笔记] Fast Network Embedding Enhancement via High Order Proximity Approximati

    [论文阅读笔记] Fast Network Embedding Enhancement via High Order Proximity Approximation 本文结构 解决问题 主要贡献 主要 ...

  2. 论文阅读 Continuous-Time Dynamic Network Embeddings

    1 Continuous-Time Dynamic Network Embeddings Abstract ​ 描述一种将时间信息纳入网络嵌入的通用框架,该框架提出了从CTDG中学习时间相关嵌入 Co ...

  3. 论文阅读 dyngraph2vec: Capturing Network Dynamics using Dynamic Graph Representation Learning

    6 dyngraph2vec: Capturing Network Dynamics using Dynamic Graph Representation Learning207 link:https ...

  4. 论文阅读 | Probing Neural Network Understanding of Natural Language Arguments

    [code&data] [pdf] ARCT 任务是 Habernal 等人在 NACCL 2018 中提出的,即在给定的前提(premise)下,对于某个陈述(claim),相反的两个依据( ...

  5. 论文阅读:Stateless Network Functions: Breaking the Tight Coupling of State and Processing

    摘要: 无状态网络功能是一个新的网络功能虚拟化架构,解耦了现有的网络功能设计到无状态处理组件以及数据存储层,在打破紧密耦合的同时,实现了更具可伸缩性和可恢复性的网络功能基础设施.无状态NF处理实例是围 ...

  6. 【CV论文阅读】Deep Linear Discriminative Analysis, ICLR, 2016

    DeepLDA 并不是把LDA模型整合到了Deep Network,而是利用LDA来指导模型的训练.从实验结果来看,使用DeepLDA模型最后投影的特征也是很discriminative 的,但是很遗 ...

  7. 【CV论文阅读】Unsupervised deep embedding for clustering analysis

    Unsupervised deep embedding for clustering analysis 偶然发现这篇发在ICML2016的论文,它主要的关注点在于unsupervised deep e ...

  8. 【CV论文阅读】Dynamic image networks for action recognition

    论文的重点在于后面approximation部分. 在<Rank Pooling>的论文中提到,可以通过训练RankSVM获得参数向量d,来作为视频帧序列的representation.而 ...

  9. 【CV论文阅读】Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks

    由RCNN到FAST RCNN一个很重要的进步是实现了多任务的训练,但是仍然使用Selective Search算法来获得ROI,而FASTER RCNN就是把获得ROI的步骤使用一个深度网络RPN来 ...

随机推荐

  1. D. Fedor and coupons 二分暴力

    http://codeforces.com/contest/754/problem/D 给出n条线段,选出k条,使得他们的公共部分长度最大. 公共部分的长度,可以二分出来,为val.那么怎么判断有k条 ...

  2. [译]libcurl错误码

    CURLcode Almost all "easy" interface functions return a CURLcode error code. No matter wha ...

  3. Spark性能优化指南-高级篇(spark shuffle)

    Spark性能优化指南-高级篇(spark shuffle) 非常好的讲解

  4. 创建maven项目遇到的问题

    1.新建完成的maven项目,缺少src/main/java 解决方案:把项目中的jre换成eclipse中默认的jre. 另外还可以参考:解决Eclipse建立Maven项目后无法建立src/mai ...

  5. Verification Mind Games---how to think like a verifier像验证工程师一样思考

    1. 有效的验证需要验证工程师使用不同于设计者的思维方式思考问题.具体来说,验证更加关心在严格遵循协议的基础上发现设计里面的bug,搜索corner cases,对设计的不一致要保持零容忍的态度. m ...

  6. 【译】x86程序员手册27-7.6任务链

    7.6 Task Linking 任务链 The back-link field of the TSS and the NT (nested task) bit of the flag word to ...

  7. 在Resource中使用x:Bind

    Build2015上,MS热情高涨的演示了x:Bind,一种新的Binding方式,新的方式有如下优点: 1更好的性能(内存占用,CPU占用) 2BuildTime的Binding 具体在Channe ...

  8. 常用Linux命令(长期更新)

    有些命令如果不常用,老是记不住,每每用到总还要去查,特此将一些命令记录在此: (0)按指定时间删除文件 find target_dir -type f -mtime +3 -exec rm {} \; ...

  9. JMeter怎样测试WebSocket,示例演示(二)

    一.测试案例演示 以  http://www.websocket.org/echo.html 网站为例. 地址为:ws://echo.websocket.org 二.长连接的影响 1.没有勾选stre ...

  10. C++写注册表

    1.       注册表简介 注册表是为Windows NT和Windows95中所有32位硬件/驱动和32位应用程序设计的数据文件,用于存储系统和应用程序的设置信息.16位驱动在Winnt (Win ...