残差单元简介
残差网络(Residual Network,ResNet)由多个残差单元堆叠而成。
残差单元通过为非线性的网络层添加跳跃连接(shortcut/skip connection)的方式来提高信息的传播效率。
它将期望的映射函数分解为残差函数和恒等(identity)函数。
第个残差单元的最终输出为:
其中为残差函数的参数。
残差网络为什么有效
将替换为恒等函数。则残差单元最终输出为:
通过递归,例如:
可以得到任意较深的第个单元 和任意浅较的第个单元关系如下:
公式表明:
- 对于任意较深的第个单元,特征 可以表示为较浅的第个单元的特征 加上和之间所有残差函数的和 。
- 对于任意第个单元,它的输出特征 ,即为之前每一层残差函数的总和加上。
这些特性有利于残差网络的反向传播,设损失函数为,由链式法则求梯度:
公式表明
- 梯度可以被分解成两个部分,其中 是通过权重层传递的;而 不涉及到之间任何权重层,这保证了层的信息能够直接传回任意浅层。
- 在一个小批量中梯度不可能出现消失的情况,因为通常 对于一个批次的所有样本不可能都为-1,即对于一个批次不可能都为0。这意味不可能出现梯度为0的情况。
另外,[3]的可视化实验表明,跳跃连接可以使得深度网络的优化地形更加平滑。
NS:No Shortcut/Skip connections
参考:
[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