当前位置:   article > 正文

Network-in-network理解

network-in-network

Lin M, Chen Q, Yan S. Network in network[J]. arXiv preprint
arXiv:1312.4400, 2013.

在Network in Network结构(NIN结构),mlpconv层相当于先进行一次普通的卷积(比如3x3),紧跟再进行一次1x1的卷积。(多层感知机(MLP))

在这里插入图片描述
由图可知,mlpconv=convolution+mlp(图中为2层的mlp)。
在实现上,mlpconv=convolution+1×1convolution+1×1convolution(2层的mlp)
个人认为实现NIN就是在原来的卷积后再加上11的卷积即可,如下图,有三个NIN层,那么第一个NIN的实现应该是conv1[33],(kernal) conv2[11],conv3[11]这种
在这里插入图片描述
2.Global Average Pooling
提出了全局平均池化来代替全连接层,且在Global Average Pooling(gap)前通道数(feature maps)已经减少到分类的个数,gap直接对每个feature map求均值,假设输入是[N,10,10,100]经过gap后为[N,100]
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,用于训练时求梯度)

在这里插入图片描述

在这里插入图片描述
1X1卷积核到底有什么作用呢?

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/93429
推荐阅读
相关标签
  

闽ICP备14008679号