为什么多层的卷积神经网络训练时不用深度学习方法训练,难道误差、梯度不会逐层扩散和消失?

为什么多层的卷积神经网络训练时不用深度学习方法训练,难道误差、梯度不会逐层扩散和消失?

多层的神经网络在解决复杂问题时,如果使用反向传播算法效果会很不理想,有专家说是因为梯度在逐层扩散和消失,那么,为什么多层的卷积神经网络不会出现这类问题,现在卷积神经网络的训练都是误差反向传播的,不影响?为什么?


作者:Hengkai Guo
链接:https://www.zhihu.com/question/40553822/answer/127718841
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

CNN肯定也受影响,只不过就像

@吴洋

所说的,由于卷积层的权值共享和pooling的进一步减少参数,CNN相对来说更容易训练一些。而且现在也有很多技术对于梯度的传播有改进作用,简单列举一下:(参考、整理了部分 @乔海军 的答案)

\1. 初始化:pretrain + finetuning,更加准确的权值初始化比如Xavier、MSRA的初始化(参Caffe)。【严格来说,初始化跟梯度没有直接联系,但如果一开始就在比较好的位置,梯度更新会更容易一些】
\2. 预处理:各种augmentation。
\3. 网络层:dropout、batch normalization、好的激活函数比如relu、prelu、maxout等等。
\4. 网络结构:GoogleNet、kaiming的residual结构及其他变种,skip connection, auxiliary task等等。这个太多了。
\5. 最优化算法:各种自适应学习率的梯度下降,Caffe中就有不少。
\6. 中医调参技术【划掉】

欢迎指正和补充~

posted @ 2020-06-16 01:38  别再闹了  阅读(146)  评论(0)    收藏  举报