您的位置:首页 > 理论基础 > 计算机网络

针对有多层卷积的神经网络不易收敛的措施(持续更新中)

2019-03-11 17:32 190 查看
版权声明:本文为博主原创文章,如需转载请附上博文链接 https://blog.csdn.net/wendygelin/article/details/88399145

1. 卷积层权重初始化的时候,不用默认的constant,都为0,而是用Xavier,msra

[code]weight_filler {
type: "msra"
}

原因:如果网络中的权重太小,则信号在经过每一层的时候就会抖动(shrinks),直到信号太小了,都没用了。
如果网络中的权重初始值就太大了,信号在经过每一层的时候都会增大,直到太大了以至于没用了。
Xavier 初始化,确保权重大小正合适,让信号在一个合理的大小范围内经过各层。

reference: Xavier Glorot & Yoshua Bengio’s Understanding the difficulty of training deep feedforward neural networks.

https://www.geek-share.com/detail/2690116746.html

2. 绘制learning curve,查看算法是否运行正常,是否有过拟合和欠拟合

绘制learning curve的方法,横轴是训练样本的数量,纵轴是训练集和交叉验证集的error。正常情况下,随着训练样本的增加,训练集的error先上升后平稳,交叉验证集的error先下降后平稳。

如果有欠拟合,则训练集的error很快就上升到一个平台期,随着数据的增大,不再变化。而且随着数据的增大,与交叉验证集的error非常接近;

如果有过拟合,则即使数据量已经很大,交叉验证集和训练集的error都有很大的区别。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: