残差单元简介

残差网络(Residual Network,ResNet)由多个残差单元堆叠而成。

残差网络为什么有效_python

残差单元通过为非线性的网络层添加跳跃连接(shortcut/skip connection)的方式来提高信息的传播效率。

残差网络为什么有效_人工智能_02

它将期望的映射函数残差网络为什么有效_人工智能_03分解为残差函数残差网络为什么有效_python_04和恒等(identity)函数残差网络为什么有效_权重_05

残差网络为什么有效_python_06个残差单元的最终输出为:

残差网络为什么有效_人工智能_07

其中残差网络为什么有效_ide_08为残差函数的参数。

残差网络为什么有效

残差网络为什么有效_ide_09替换为恒等函数。则残差单元最终输出为:

残差网络为什么有效_人工智能_10

通过递归,例如:

残差网络为什么有效_权重_11

可以得到任意较深的第残差网络为什么有效_ide_12个单元 和任意浅较的第残差网络为什么有效_机器学习_13个单元关系如下:

残差网络为什么有效_机器学习_14


公式表明:

  • 对于任意较深的第残差网络为什么有效_机器学习_15个单元,特征残差网络为什么有效_python_16 可以表示为较浅的第残差网络为什么有效_机器学习_17个单元的特征 残差网络为什么有效_机器学习_18加上残差网络为什么有效_机器学习_15残差网络为什么有效_机器学习_17之间所有残差函数的和 残差网络为什么有效_权重_21
  • 对于任意第残差网络为什么有效_机器学习_15个单元,它的输出特征 残差网络为什么有效_机器学习_23,即为之前每一层残差函数的总和加上残差网络为什么有效_机器学习_24

这些特性有利于残差网络的反向传播,设损失函数为残差网络为什么有效_python_25,由链式法则求梯度:

残差网络为什么有效_机器学习_26


公式表明

  • 梯度残差网络为什么有效_python_27可以被分解成两个部分,其中 残差网络为什么有效_人工智能_28是通过权重层传递的;而 残差网络为什么有效_人工智能_29不涉及残差网络为什么有效_机器学习_17残差网络为什么有效_机器学习_15之间任何权重层,这保证了残差网络为什么有效_机器学习_15层的信息能够直接传回任意残差网络为什么有效_机器学习_17浅层。
  • 在一个小批量中梯度残差网络为什么有效_python_27不可能出现消失的情况,因为通常 残差网络为什么有效_python_35对于一个批次的所有样本不可能都为-1,即对于一个批次残差网络为什么有效_权重_36不可能都为0。这意味不可能出现梯度为0的情况。

另外,[3]的可视化实验表明,跳跃连接可以使得深度网络的优化地形更加平滑。

残差网络为什么有效_python_37

NS:No Shortcut/Skip connections

残差网络为什么有效_ide_38

参考:

[1] Deep Residual Learning for Image Recognition https://arxiv.org/abs/1512.03385

[2] Identity Mappings in Deep Residual Networks https://arxiv.org/abs/1603.05027

[3]Visualizing the Loss Landscape of Neural Nets https://arxiv.org/abs/1712.09913