首页 > 编程知识 正文

adam优化算法流程图,神经网络算法三大类

时间:2023-05-05 05:09:58 阅读:30154 作者:4330

原文链接《Adam:A Method for Stochastic Optimization》

在常见的知识更新中,最容易将参数更改为负梯度方向。 坡度指向上升方向,但需要使损失函数最小化。 如果存在参数向量x及其梯度dx,则最简单的更新形式如下:

x =- learning_rate * dx其中learning_rate是超级参数,是固定常数。 在整个数据集上进行计算时,如果学习率足够低,则总是在损耗函数上取得非负进展。

动量(Momentum )更新v=mu * v - learning_rate * dx # )和速度融合x=v )和位置融合在此引入了初始=0的变量v和超级参数mu。

变量mu在优化过程中被认为是动量,但其物理意义与摩擦系数更一致。 该变量有效地抑制了速度,降低了系统的动能。 否则,质点在山的底部永远不会停止。

交叉验证通常将mu设置为[ 0.5、0.9、0.95、0.99 ]之一。 与学习率随时间退火(见下文)一样,动量随时间的变化略有效果,其中动量在学习过程的后阶段上升。 一个典型的设定最初为0.5,但在多个周期(epoch )中逐渐上升到0.99。

rmspropcache=decay _ rate * cache (1- decay _ rate ) dx * * 2x=-learning _ rate * dx/(NP.sqrt ) cache ) eps )

x=与Adagrad相同,但cache变量不同。 因此RMSProp仍然基于梯度大小修改每个权重的学习率,这同样有效。 但是,其更新不会单调地减小学习率。

Adam原文算法如下。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。