论文笔记 《Maxout Networks》 && 《Network In Network》

出处

maxout:http://arxiv.org/pdf/1302.4389v4.pdf
NIN:http://arxiv.org/abs/1312.4400

参考

maxout和NIN具体内容不作解释下,可以参考:
Deep learning:四十五(maxout简单理解)
Network In Network

各用一句话概括

  • 常规卷积层: conv→relu
  • maxout: several conv(full)→max
  • NIN: serveral conv(full)→relu→conv(1x1)→relu

具体一点

  • 常规卷积层:conv→relu
    • conv: conv_out=∑(x·w)
    • relu: y=max(0, conv_out)
  • maxout:several conv(full)→max
    • several conv (full): conv_out1 = x·w_1, conv_out2 = x·w_2, …
    • max: y = max(conv_out1, conv_out2, …)
  • NIN: conv→relu→conv(1x1)→relu
    • several conv (full): conv_out1 = x·w_1, conv_out2 = x·w_2, …
    • relu: relu_out1 = max(0, conv_out1), relu_out2 = max(0, conv_out2), …
    • conv(1x1): conv_1x1_out = [relu_out1, relu_out2, …]·w_1x1
    • relu: y = max(0, conv_1x1_out)

举例子解释

假设现在有一个3x3的输入,用一个9维的向量x代表,卷积核大小也是3x3,也9维的向量w代表。

  • 对于常规卷积层,直接x和w求卷积,然后relu一下就好了。
  • maxout,有k个的3x3的w(这里的k是自由设定的),分别卷积得到k个1x1的输出,然后对这k个输入求最大值
  • NIN,有k个3x3的w(这里的k也是自由设定的),分别卷积得到k个1x1的输出,然后对它们都进行relu,然后再次对它们进行卷积,结果再relu。(这个过程,等效于一个小型的全连接网络)

图例

继续渣手绘,从上到下分别对应常规卷积层,maxout,NIN:

总结

总的来说,maxout和NIN都是对传统conv+relu的改进。
maxout想表明它能够拟合任何凸函数,也就能够拟合任何的激活函数(默认了激活函数都是凸的)
NIN想表明它不仅能够拟合任何凸函数,而且能够拟合任何函数,因为它本质上可以说是一个小型的全连接神经网络

很久没有更新网站,发现多了不少评论和问题,无法一一回复,如果现在仍有问题请再次留言 :) 2016.03.29