加入resnet
加入batchnorm
为什么不对激活函数做BN,而是要放在激活函数前面做BN呢?这里面的原因并没有统一的说法,有时候我们放在后面也会起到不错的效果,事实上,实践证明,放在后面是更好的。https://blog.51cto.com/u_15057819/2568670 https://www.cnblogs.com/bonelee/p/8528722.html
减少特征的表征性瓶颈。直观上来说,当卷积不会大幅度改变输入维度时,神经网络可能会执行地更好。过多地减少维度可能会造成信息的损失,这也称为「表征性瓶颈」。防止特征描述的表征性瓶颈(也就是在早期尽量少使用1x1卷积核):会造成某层对空间维度压缩时,导致很多特征丢失;也是inception网络设计准则。
计算资源不够时尝试分解卷积。例如将33的卷积核分解为3*3的depthwise卷积和11的pointwise卷积,会大大减小计算量和模型参数量。或者用多个小卷积核代替一个大卷积核,如inception_v2中用1*n和n*1的卷积核代替n*n
1*1的卷积同时用来增加或者减少通道数,Inception结构中就是使用1*1卷积来降低通道数把信息聚集一下。