美文网首页机器学习与数据挖掘
神经网络参数优化方法的总结

神经网络参数优化方法的总结

作者: Mattina | 来源:发表于2019-04-10 16:18 被阅读0次

这里总结了各种优化方法,不涉及很多公式,按照各种方法提出的目的递进式地总结,帮助你的理解和记忆。

1. 批量梯度下降(BGD)

记住一点,这个方法每计算一个参数就要用到所有样本。BGD计算所有样本的平方损失和,然后求导,更新参数。更新速度慢,因为要所有样本都带入,计算总损失的梯度,计算速度受样本数量的影响;优点是能够收敛到全局最优,可以并行。

2.随机梯度下降(SGD)

为了让参数收敛的速度更快,那就不要所有样本都拿来更新梯度。怎么做?随机梯度下降按照数据生成分布抽取m个小批量(独立同分布)样本,美好的设想是希望通过计算它们梯度的均值,得到梯度的无偏估计。

while(条件未满足):

        从训练集中抽样m个样本

        for i in m:

                更新梯度(对每个维度都这么做)

end while

从上面的过程详解可以看出,下一个样本的损失计算依赖于前一个样本更新的参数,因为要将上个样本更新的参数代入损失函数,重新计算当前的损失,再求梯度,如此用完m个样本。因为每个点求得的梯度不一定是最优方向,这就引入了一定的随机性。随机性会使学习曲线震荡,因此SGD有必要随着时间的推移逐渐降低学习率(批量梯度则不用,因为既然梯度在快到达最优时会平缓些,那么步长也会跟着减少,不用去调学习率)。

简单地来说,SGD就是牺牲“精度”换“速度”吧。

3.小批量梯度下降(MBGD)

SGD引入噪声源,那么可以结合BGD和SGD做个折中。每次更新用一个小批量m,m比原始数据量小。每个小批量分别代入损失函数,求得总和,计算一次梯度,更新一下参数。

上述总结虽然看起来简单,但是实际上有坑,加粗的是重要细节(稍不慎就可能完全理解错),要学者自己写个简单的线性回归求梯度,然后自己按照上述三种方法模拟,体会一下。

后续继续在本篇追加 参数优化方法,包括动量、自适应学习率的方法、牛顿法和Hessian矩阵与梯度的总结,未完待续。。。。

相关文章

  • 神经网络参数优化方法的总结

    这里总结了各种优化方法,不涉及很多公式,按照各种方法提出的目的递进式地总结,帮助你的理解和记忆。 1. 批量梯度下...

  • 优化方法总结

    优化算法框架 神经网络模型中有多种优化算法,优化算法的作用用来优化更新参数。对于优化算法而言,主要的框架如下。参数...

  • 预备知识及优化器

    神经网络预备知识 目标:学会神经网络优化过程,使用正则化减少过拟合,使用优化器更新网络参数 预备知识 神经网络复杂...

  • 超参数调试,正则化和优化

    参数调试技巧 神经网络涉及了许多不同的超参数,这些参数包括神经网络层数,学习率和adam优化算法参数等,一些系统性...

  • Pytorch 任务六

    PyTorch理解更多神经网络优化方法

  • 调参

    参数更新 神经网络的学习目的是找到使损失函数尽可能小的参数,即解决一个最优化问题.但是由于神经网络参数空间过于复杂...

  • 梯度消失和梯度爆炸问题详解

    1.为什么使用梯度下降来优化神经网络参数? 反向传播(用于优化神网参数):根据损失函数计算的误差通过反向传播的方式...

  • 神经网络和深度学习 - Chapter7 超参数调优

    超参数调优:Grid Search vs 随机搜索 神经网络中参数主要包括:学习率、优化器、batch size等...

  • 机器学习 | 优化——调整学习率

    写在前面: 学习率 是神经网络优化时的重要超参数。在 梯度下降方法 中,学习率的取值非常关键,如果过大就不会收敛,...

  • 优化器

    一、优化器定义 优化器是tensorflow中的梯度下降的策略,用于更新神经网络中数以百万的参数。除了不断更新神经...

网友评论

    本文标题:神经网络参数优化方法的总结

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