resnet简单了解

ResNet简介

ResNet是在2015年有何凯明,张翔宇,任少卿,孙剑共同提出的,ResNet使用了一个新的思想,ResNet的思想是假设我们涉及一个网络层,存在最优化的网络层次,那么往往我们设计的深层次网络是有很多网络层为冗余层的。那么我们希望这些冗余层能够完成恒等映射,保证经过该恒等层的输入和输出完全相同(即让这部分冗余层不起作用)。具体哪些层是恒等层,这个会有网络训练的时候自己判断出来。将原网络的几层改成一个残差块,残差块的具体构造如下图所示:在这里插入图片描述
可以看到x是这一层残差块的输入,也称作F(x)为残差,x为输入值,F(x)是经过第一层线性变化并激活后的输出,该图表示在残差网络中,第二层进行线性变化之后激活之前,F(x)加入了这一层输入值x,然后再进行激活后输出。而这种在第二层输出并激活前加入x,这条路径称作shortcut连接。
简单来说一个残差块的输出是:out = G(w_2F(w_1x)+x)
F和G分别是两层的激活函数relu

直观来说当shortcut中间层是冗余的其实就相当于不同层权重相乘随着层数增加逐渐趋于0(或者说是dF(x)=0)即dout = dG(y)*dy=dG(y)*(w_2*dF(w_1*x)+1) =dG(y)->1从而避免了冗余层造成的梯度消失。

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页