CNN

网络设计的经验借鉴

激活函数

目的:将卷积后的结果压缩到某一个固定的范围,保证数值范围可。控

缺点

训练的时候很容易就die了,即出现non;

技巧:设置learning rate,不要让网络训练过程中出现很多dead神经元;

对比Inception v3,v4和Inception-ResNet

  • 提升网络宽度时,没有必要设计很多分支,可以通过1*1拉伸网络宽度,有利于网络参数更少(参数变少其实是辩证地实现了网络正则化的一种思路);
  • 设计时,可以通过ResNet的方式保证网络收敛更快,训练更容易;

技巧

  • 小卷积核代替大卷积核;
  • 1×n和n×1的卷积核代替n×1的卷积核;
  • 两个3x3之间添加1x1降维(NIN);
  • 尽可能减少参数,参数少了,网络才能更深、更宽;
  • 卷积代替下采样?
  • avg pooling代替全连接(NIN)

正则化

减少参数的目的其实就是正则化:训练参数减少了,网络就变得简单了,就不容易过拟合,就达到了类似于正则化的效果;

  • group conv
  • dropout(现在用的不多)
  • BN
  • droppath

数据增强

根据实际需求来,不然把样本搞太难,网络学起来不好学;

loss函数

经验:softmax损失比sigmoid损失,更容易学,所以尽量用softmax损失;