神经网络训练的一些建议

作者: 3b899188980c | 来源:发表于2018-04-16 16:04 被阅读108次

你或许可以轻松的使用tensorflow等深度学习框架构建一个你想要的深度学习模型,但是在训练的过程中总是会出现一些这样那样的问题,那么下面就让我介绍一些常出现的问题和解决的方案,毕竟算法工程师也叫调参师嘛

先放上地表最强宝可梦大师的一张关于深度学习模型训练的图


神经网络的训练其实就是这么几步,那么下面我们就要说一下它容易出些什么样的问题,需要怎么去解决。

有的时候你有没有发现网络越深效果反而越差呢?

梯度爆炸和消失

其实这里第一个问题就是深层网络带来的梯度爆炸和梯度消失,层数越多问题就越加得明显,关于梯度爆炸和梯度消失的问题可以参考我的相关博文https://www.jianshu.com/p/9f919535e270

误差在反向传播的过程,一旦是梯度消失就会出现如下图所示的情况


梯度爆炸情况类似,离输出层的更新还靠谱些,离输出层越远情况就越糟糕。

梯度的问题大多来源于不合适的激活函数和过大的权值初始化,像sigmoid这种激活函数梯度最大的时候才0.25,乘几下就没有了,那能怎么办。

选择合适的激活函数

ReLU函数



Maxout函数


其实可以看的出来maxout是可以拟合出relu函数的,这边是两个元素的max,你可以设定任意你想要的一些个数


还有的问题就是你的优化算法不够好,像梯度下降这种简单的优化算法其实是很难得到好的结果的

这边讲三个关于学习率和梯度的优化算法,更多的优化算法请参考https://www.jianshu.com/p/61741ef524b3

首先是动量梯度下降法,也就是Momentu

它保留了前面梯度对下一梯度的影响,准确的说指数平均法,平均了t时刻前的所有梯度,下面是从吴恩达课程copy下来的图片


RMSprop

这边也是采用的指数平均,和Momentu有点异曲同工。很明显它限制住了学习率。

Adm

综合上面两种方法



这边出现了校正,其实吴恩达的课程中提过,因为指数平均初始值为0,后期也会有点飘,需要必要的校正。

还有问题那就是过拟合啦

首先是



思想很简单,我们提前终止训练,当测试集精度足够好的时候

正则化

dropout

几个注意点:
随机选取一些神经元扔掉,但是扔掉的需要备份,因为每一批次训练需要扔掉的可能都不一样,但是扔的时候必须保证所有的神经元都还是有的
训练好的权重需要*权重,1-p

(未完待续……)

相关文章

  • 神经网络训练的一些建议

    你或许可以轻松的使用tensorflow等深度学习框架构建一个你想要的深度学习模型,但是在训练的过程中总是会出现一...

  • tensorflow断点续训

    在进行神经网络训练过程中由于一些因素导致训练无法进行,需要保存当前的训练结果下次接着训练全连接反向传播神经网络中,...

  • 斯坦福cs231n学习笔记(10)------神经网络训练细节(

    神经网络训练细节系列笔记: 神经网络训练细节(激活函数) 神经网络训练细节(数据预处理、权重初始化) 神经网络训练...

  • 吴恩达深度学习4.5 面部验证与二分类

    三元损失函数是一种可以很好训练神经网络的方法,但是除此之外,还有一些其他的方法可以训练神经网络的参数,比如说我们也...

  • 深度学习基础2

    Stochastic Gradient Descent 如何训练神经网络 训练神经网络就是调整权重。 这里介绍了损...

  • 迁移网络实现原理

    补发一段对于迁移网络的学习笔记。手动训练一些层数较深的神经网络会花费大量的时间。我们可以利用一些常见的神经网络模型...

  • pytorch 入门 api

    张量操作 神经网络 训练图片分类器 多GPU训练 参考 张量神经网络训练图片分类器DataParallel多GPU示例

  • 深度学习的优化:理论和算法《Optimization for d

    5.训练神经网络的通用算法 前面讨论了一些神经网络的特定tricks, 这些小技巧需要结合最优化方法,如SGD。通...

  • 神经网络模型+进阶

    PART I 神经网络模型 模拟数据 查看模拟数据 神经网络模型训练 可视化训练结果 神经网络模型结果评估 平均准...

  • 机器学习之卷积神经网络(二)

    今天继续分享卷积神经网络,常常用深度学习这个术语来指训练神经网络的过程,有时它指的是特别大规模的神经网络训练。那么...

网友评论

    本文标题:神经网络训练的一些建议

    本文链接:https://www.haomeiwen.com/subject/jmsekftx.html