深度神经网络一览

背景

AlexNet(ISVRC2012)

AlexNet有5个卷积层和3个全连接层


AlexNet结构
  • 用Relu函数代替Sigmoid函数
Sigmoid

Relu

Gradient Vanishing

Sigmoid函数在深度网络中常常会导致导数逐渐变为0,使得参数无法被更新,神经网络无法被优化。原因在于两点:(1) 在上图中容易看出,当x较大或较小时,导数接近0,而后向传递的数学依据是微积分求导的链式法则,当前层的导数需要之前各层导数的乘积,几个小数的相乘,结果会很接近0 (2) Sigmoid导数的最大值是0.25,这意味着导数在每一层至少会被压缩为原来的1/4,通过两层后被变为1/16,…,通过10层后为1/1048576。

Dropout

在前向传导过程中,以一定的概率P使某个神经元停止工作。在同一网络里模拟出更多的组合的子网络,再求模型平均,从而防止过拟合。


Dropout

Data Augmentation

通过数据增强,也可以防止过拟合,提高鲁棒性。

  • 颜色增强(包括图像亮度、饱和度、对比度)
  • 随机剪裁
  • 旋转、平移、翻转、缩放变换
  • 噪声(高斯噪声、椒盐噪声)

VGG16-19

  • 增加层数
    通过在现有网络结构的基础上,不断增加3*3卷积核,当深度增加到16-19层时,识别效果有较大提升。
  • 采用小的卷积核
    更少的训练参数

GoogleNet(Inception)

  • 通过采用不同大小的卷积核提取特征在进行联合。意味着不同大小的感受野,最后拼接意味着不同尺度特征的融合;
  • 不使用FC层
    使用Global Average Pooling取代最后的全连接层,因为全连接层参数多且易过拟合。做法即移除全连接层,在最后一层(文中使用mlpconv)层,后面加一层Average Pooling层。

ResNet-50、101、152

退化问题(随着模型深度增加,学习能力增强,性能却比浅的模型差。因为当模型变复杂时,SGD的优化变得更加困难,导致了模型达不到好的学习效果。)
*增加shortcut connection


Residual

这一想法源于图像处理中的残差向量编码,通过一个reformulation,将一个问题分解成多个尺度直接的残差问题,能够很好的起到优化训练的效果。

DenseNet

DenseNet
Architecture
Result

why?结果说明一切。。

  • 省参数和计算量
    DenseNet 比其他网络效率更高,其关键就在于网络每层计算量的减少以及特征的重复利用。DenseNet 的每一层只需学习很少的特征,使得参数量和计算量显著减少。
  • 抗过拟合
    DenseNet 具有非常好的抗过拟合性能,尤其适合于训练数据相对匮乏的应用。神经网络每一层提取的特征都相当于对输入数据的一个非线性变换,而随着深度的增加,变换的复杂度也逐渐增加(更多非线性函数的复合)。相比于一般神经网络的分类器直接依赖于网络最后一层(复杂度最高)的特征,DenseNet 可以综合利用浅层复杂度低的特征,因而更容易得到一个光滑的具有更好泛化性能的决策函数

你可能感兴趣的:(深度神经网络一览)