Add(残差连接)
Add(残差连接),把“这一层的输入”和“这一层的输出”加起来,作为最终输出。
Add做了什么
1 | #输出=输入+F(输入) |
为什么要这么做呢,这样做首先保留了原始输入x,哪怕学习效果不好,也保留了原始x可以让你撤回。其次每一层只需要学习”增量”(输入和理想输出之间的差值),而不是从零学习完整输出。比如从5->5.1,只需要输出0.1即可,小量更容易学习。
综上:**Add提高了训练稳定性(容错)**和学习效率
Add解决了什么
缓解[[梯度消失]]: 在反向传播时,梯度可以直接通过残差路径(加号)无损地流回浅层网络,确保深层参数也能得到有效的更新信号。
信息高速公路: 为模型提供了一条“捷径”,使得网络即使很深,浅层的信息也能相对容易地传递到深层,反之亦然。
模型更容易优化: 让网络更容易学习到一个恒等映射(即输出等于输入),这通常是深层网络一个不错的起点。如果子层需要做出改变,它只需要学习相对于输入的“残差”(Residual)即可。