【055】CNN 优化器 Adam 自适应矩估计
发布时间:2024-08-12 02:42:38

内容目录

一、Adam 介绍二、Adam 优点三、Adma 算法公式

一、Adam 介绍

Adam 算法和传统的随机梯度下降不同。随机梯度下降保持单一的学习率(即 alpha)更新所有的权重,学习率在训练过程中并不会改变。而 Adam 通过计算梯度的一阶矩估计和二阶矩估计而为不同的参数设计独立的自适应性学习率。

适应性梯度算法(AdaGrad)为每一个参数保留一个学习率以提升在稀疏梯度(即自然语言和计算机视觉问题)上的性能。
均方根传播(RMSProp)基于权重梯度最近量级的均值为每一个参数适应性地保留学习率。这意味着算法在非稳态和在线问题上有很有优秀的性能。
Adam 算法同时获得了 AdaGrad 和 RMSProp 算法的优点。Adam 不仅如 RMSProp 算法那样基于一阶矩均值计算适应性参数学习率,它同时还充分利用了梯度的二阶矩均值(即有偏方差/uncentered variance)。
具体来说,算法计算了梯度的指数移动均值(exponential moving average),超参数 beta1 和 beta2 控制了这些移动均值的衰减率。移动均值的初始值和 beta1、beta2 值接近于 1(推荐值),因此矩估计的偏差接近于 0。该偏差通过首先计算带偏差的估计而后计算偏差修正后的估计而得到提升。

 
 

参数

  • lr: float >= 0. 学习率。

  • beta_1: float, 0 < beta < 1. 通常接近于 1。

  • beta_2: float, 0 < beta < 1. 通常接近于 1。

  • epsilon: float >= 0. 模糊因子. 若为 None, 默认为 K.epsilon()。

  • decay: float >= 0. 每次参数更新后学习率衰减值。

  • amsgrad: boolean. 是否应用此算法的 AMSGrad 变种,来自论文 "On the Convergence of Adam and Beyond"。

二、Adam 优点

Adam 优化器可以说是目前使用最广泛、收敛速度较快且收敛过程较稳定的优化器。它只需要一阶的梯度,并且只需要很小的内存。

Adam 算法梯度的对角缩放(diagonal rescaling)具有不变性,因此很适合求解带有大规模数据或参数的问题。

?该算法同样适用于解决大噪声和稀疏梯度的非稳态(non-stationary)问题。

Adam通常被认为对超参数的选择相当鲁棒,尽管学习率有时需要从建议的默认修改。

三、Adma 算法公式

 
 

About Me:小婷儿

●?本文作者:小婷儿,专注于python、数据分析、数据挖掘、机器学习相关技术,也注重技术的运用

● 作者博客地址:https://blog.csdn.net/u010986753

●?本系列题目来源于作者的学习笔记,部分整理自网络,若有侵权或不当之处还请谅解

●?版权所有,欢迎分享本文,转载请保留出处

●?微信:tinghai87605025 联系我加微信群

●?QQ:87605025

●?QQ交流群py_data?:483766429

●?公众号:python宝 或 DB宝

●?提供OCP、OCM和高可用最实用的技能培训

●?题目解答若有不当之处,还望各位朋友批评指正,共同进步

如果你觉得到文章对您有帮助,欢迎赞赏哦!有您的支持,小婷儿一定会越来越好!

平台注册入口