network in network
这篇论文主要阐述了一个重要思想是用微型网络代替卷积层,用多层感知器来实例化微型网络,mlpconv层实现3个卷积层,第一个还是原来的卷积层,后2个是11卷积核的卷积层,每个卷积层后面都要加上**层,(做法不是很高大上,理论很高大上,5篇论文看了都有这个额感受)。为什么要这么做,作者认为传统的卷积层是广义上的线性模型(GLM),当数据样本的隐含属性是线性可分的时候,GLM能达到很好的效果,而感知器是一个通用函数逼近器。最后分类的时候不用全连接层,作者认为全连接层容易过拟合,提出了全局平均池化层,在最后一个mlpconv层生成一个分类任务中相应类别的特征图求每个特征图的平均值,作者认为这样操作的优点是:
1通过增强特征图与类比间的对应关系使卷积结构保留的更好,使特征图分类是可信的得到很好的解释
2全局平均池化层没有参数
3P汇聚了空间信息,所以对输入的空间转换更鲁棒
最后提一句11卷积核好像是这篇最先提出的,有啥作用尼?现在一些主流的网络中都很喜欢用
1信息的跨通道整合
2升降维
附上中文翻译连接翻译
最后在突出一下它的牛逼之处,采用了少量的参数就松松击败了Alexnet网络,Alexnet网络参数大小是230M,采用这篇paper的算法才29M,减小了将近10倍啊
maxout network
这篇论文我觉得最主要的一个点提出了maxout**函数,maxout可以拟合任何凸函数,凸函数有一个重要性质,局部最小点就是全局最小点。
实现技巧: maxout和relu唯一的区别是,relu使用的max(x,0)max(x,0)是对隐层每一个单元执行的与0比较最大化操作,而maxout是对5个“隐隐层”单元的值执行最大化操作。如果将“隐隐层”单元在隐层展开,那么隐层就有20个“隐隐层”单元,maxout做的就是在这20个中每5个取一个最大值作为最后的隐层单元,最后的隐层单元仍然为4个。这里每5个取一个最大值也称为最大池化步长(max pooling stride)为5,最大池化步长默认和“隐隐层”个数相等,如果步长更小,则可以实现重叠最大池化。
实现的时候,可以将隐层单元数设置为20个,权重维度(2,20)偏置维度(1,20),然后在20个中每5个取一个最大值得到4个隐层单元。
Spatial Transformer Networks
这篇论文很有意思,对于图像分类当中,如果图片被旋转平移了怎么办,是否还能正确分类,现在可以通过数据增强,统统扔进网络输入,让其学习特征。传统的cnn在这方面显得不足,最大池化层给网络带来了一点点不变性,而作者提出了STN这种可微分的网络结构能嵌入到任何cnn网络中,显示学习这种不变性。
其结构主要分为3个模块:
如上图所示,STN由Localisation net (定位网络),Grid generator(网格生成器)和Sampler(采样器)三部分构成。
其前向传播执行顺序,很多网上的博客讲的很含糊要么就是错的,我理解的是这样:
Localisation net训练回归【2,3】矩阵,6个参数,Grid generator根据生成图片的大小(这点很重要,因为stn是嵌入到两个卷积层中间,并不改变输入输出大小,所示输出图片的大小已知)遍历根据Localisation net的参数变换过去到输入图片的像素位置,因为可能不能是整数,要用上线性插值,根据Sampler(采样器)获得原始图片上像素的值。
STRIVING FOR SIMPLICITY-The All Convolutional Network
这篇文章主要对比突出只有卷积层的网络,放弃了传统的池化层和全连接层,使用步长更大的卷积层来带起池化层,用11的卷积层来带起全连接层。作者认为池化层对cnn的作用:
1.p-norm使CNN的表示更具不变性(invariant)
2.降维使高层能够覆盖输入层的更多部分
3.feature-wise的特性更容易优化
1不变性我是这么理解的,对旋转,平移,maxpooling层在小的特征图上因为取最大值,确实有这些不变性
2降维很好理解
3不理解
假设上面的第二点即降维对与CNN的性能提升至关重要,我们可以通过使用下面两种方法来代替池化层取得相似的降维效果:
1.直接移除池化层病增大卷积层的步长
2.使用步长大于1的卷积层来代替池化层
最后整个网络前面已经提到了论文网络模型相较于以往CNN的不同之处,在这里进行说明:
1.使用stride大于1的卷积层代替以往CNN中的池化层(下采样层)
2.使用filter大小为11的卷积层代替全脸阶层
整个网络模型完全只有卷积层,在softmax层之前使用全局平均。
STACKED WHAT-WHERE AUTO-ENCODERS
这篇暂时还没怎么理解,下次再说。