Deep Learning 25:读论文“Network in Network”——ICLR 2014

论文Network in network (ICLR 2014)是对传统CNN的改进,传统的CNN就交替的卷积层和池化层的叠加,其中卷积层就是把上一层的输出与卷积核(即滤波器)卷积,是线性变换,然后再加上一个非线性变换的激活函数(比如:relu),但是在NIN中并有像CNN中这样,

1.它们的区别之一是卷积层不一样:

CNN: 卷积层= 卷积+激活函数

NIN:卷积层=mlpconv层= 卷积+MLP = 卷积+1*1卷积+1*1卷积=卷积+relu+1*1卷积+relu+1*1卷积+relu

a.一个mlpconv层的cafe实现代码见:深度学习(二十六)Network In Network学习笔记-ICLR 2014

b.问题:我在想如果把NIN的mlpconv层中的relu变成maxout会怎么样?有人做这方面工作了吗?

答:好像论文“Batch-normalized Maxout Network in Network”就是这样做的

2.NIN与CNN的区别之二是softmax前一层不一样:

CNN:全连接层+softmax

NIN:全局均值池化+softmax

alexnet的参数要230多M,而NIN只要29M,且准确率更高

3.NIN的结构:

data---conv1(96,11,4)=(滤波器数,卷积核大小,stride)---relu0---cccp1---relu1---cccp2---relu2---pool1(3*3,2)=(kernel_size,stride)---

conv2(256,5,1)---relu3---cccp3---relu4---cccp4---relu5---pool2(3*3,2)--

conv3(384,3,1)---relu6---cccp5---relu7---cccp6---relu8---pool3(3*3,2)---dropout(0.5)---

conv4(1024,3,1)---relu9---cccp7---relu10---cccp8---relu11---pool4(6*6,1)---softmax

注意:cccp=conv(1,1)即:“隐隐层”就是一个1×1的卷积层

基础资料

论文翻译见:深度学习(二十六)Network In Network学习笔记-ICLR 2014

Network In Network

NIN结构详细解释:(Paper)Network in Network网络分析

其他资料: Network In Network(精读)NIN-Network In Network阅读笔记

上一篇:jenkins持续集成简介[一]


下一篇:JAVA 8 主要新特性 ----------------(二)版本中数据结构的修改浅析