7.6.2 残差块

书上对残差网络的理解讲的有一点不清楚,解释一下。实际上,残差网络真正想干的事是通过在原网络上加入层/块(这就让原网络变得更深),而不改变原来的网络能够学习到的函数,以图78为例
这两张图片中的x就是原网络学出来的东西(注意x的所有值都是整数,因为上一个块的激活函数是ReLu),虚线框以及最上面的激活函数就是我们新加的块;左图是原来我们不使用残差网络直接加入一个块,这个样子就可能会导致我们很难学习到以前能够学习到的函数(以前能够学习到x,但是现在的输出f(x)经过最上面的激活函数的输出不一定是x);右图是我们对新加入的块使用残差技巧,这个时候就像书上说的一样,把第二个权重层的参数全部设置为0,那么x经过这个残差块之后(也就是最上面的激活函数的输出)还是x,就能够学习到原来的函数
还有如下各种残差块
image
但是可能效果都差不多,原始的可能还更好
image
效果见下
image
残差块使得训练很深的网络变为可能(甚至一千层)

posted @   最爱丁珰  阅读(8)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示