如何理解微软的深度残差学习

作者:杨思达zzzz
链接:https://www.zhihu.com/question/38499534/answer/147150281
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

用一句话解释就是,深度网络容易造成梯度在back propagation的过程中消失,导致训练效果很差,而深度残差网络在神经网络的结构层面解决了这一问题,使得就算网络很深,梯度也不会消失。


关于梯度消失的问题,详见这篇文章
blog.csdn.net/superCall

我们知道,对于神经网络来讲,我们需要通过反向传播来对网络的权重进行调整
就像这样
Loss = F(X_L,W_L,b_L)



\frac{\partial Loss}{\partial X_{L}} = \frac{\partial F(X_L,W_L,b_L)}{\partial X_L}



但是这个时候,如果网络很深很深,就会出现这样的情况

Loss = F_N(X_{L_N},W_{L_N},b_{L_N})



L_N = F_{N-1}(X_{L_{N-1}},W_{L_{N-1}},b_{L_{N-1}})

\ldots

L_2 = F_{1}(X_{L_{1}},W_{L_{1}},b_{L_{1}})

这个时候再做back propagation求偏导的话,就是


\frac{\partial Loss}{\partial X_{1}} = \frac{\partial F_N(X_{L_N},W_{L_N},b_{L_N})}{\partial X_L}* \ldots * \frac{F_2(X_{L_2},W_{L_2},b_{L_2})}{\partial X_1}

这个偏导就是我们求的gradient,这个值本来就很小,而且再计算的时候还要再乘stepsize,就更小了所以通过这里可以看到,梯度在反向传播过程中的计算,如果N很大,那么梯度值传播到前几层的时候就会越来越小,也就是梯度消失的问题

那DRN是怎样解决这个问题的呢?


它在神经网络结构的层面解决了这个问题它将基本的单元改成了这个样子

<img src="https://pic2.zhimg.com/50/90e58f36fc1b0ae42443b69176cc2a75_hd.jpg" data-rawwidth="435" data-rawheight="218" class="origin_image zh-lightbox-thumb" width="435" data-original="https://pic2.zhimg.com/90e58f36fc1b0ae42443b69176cc2a75_r.jpg"> 其实也很明显,通过求偏导我们就能看到
\frac{\partial X_L}{\partial X_{l}} = \frac{\partial X_l + F(X_l,W_l,b_l)}{\partial X_l} = 1 + \frac{\partial F(X_L,W_L,b_L)}{\partial X_L}
这样就算深度很深,梯度也不会消失了

当然深度残差这篇文章最后的效果好,是因为还结合了调参数以及神经网络的其他的细节,这些也很重要,不过就不是这里我们关心的内容了可以看到,对于相同的数据集来讲,残差网络比同等深度的其他网络表现出了更好的性能


<img src="https://pic4.zhimg.com/50/v2-543d8c86899ec03d623e054b9d100cdb_hd.jpg" data-rawwidth="600" data-rawheight="370" class="origin_image zh-lightbox-thumb" width="600" data-original="https://pic4.zhimg.com/v2-543d8c86899ec03d623e054b9d100cdb_r.jpg"> <img src="https://pic1.zhimg.com/50/v2-d0293f59397ee7158dfc57eae6f4f477_hd.jpg" data-rawwidth="600" data-rawheight="452" class="origin_image zh-lightbox-thumb" width="600" data-original="https://pic1.zhimg.com/v2-d0293f59397ee7158dfc57eae6f4f477_r.jpg">
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值