从动力学角度看优化算法:自适应学习率算法

  • 时间:
  • 浏览:9

算法概览

你并算不算 λ 是另一个接近于 1 何如让 小于 1 的常数,这么了 一句话 Gt 在一定范围内就比较稳定,同时在一定程度上保留了梯度 L′(θt) 并算不算 的形状,什么都用它来调节学习率算不算 另一个比较“机智”的做法。为了补救 t+γ̃,t+γ 引起记号上的不适应,统一用 n,n+1 来表示下标,得到:

一般的梯度下降是这么了 的:

什么都,最恰当的方案是:每一步够用就好。这么了 朋友 为甚么知道够用了这么了?

滑动平均补救

何如让 朋友 是用

去近似

的,这么了就还还里能分析近似程度:根据泰勒级数,朋友 有:



在朋友 这里有,这么了朋友 有:

将优化疑问视为另一个常微分方程的求解疑问,这其实什么都将优化疑问变成了另一个动力学疑问,这么了 还还里能让朋友 从比较物理的视角去理解优化算法(哪怕什么都直观而不政治定力 的理解),甚至还还里能把或多或少 ODE 的理论结果拿过来用,上端笔者会试图再举或多或少这么了 的例子。

这什么都开头说的 RMSprop 算法了。

结论汇总

极小值点和ODE

本文再次从 ODE 的淬硬层 分析了优化算法,这次是从误差控制的淬硬层 给出了并算不算 自适学数学习率算法(RMSprop)的理解。至于朋友 更常用的 Adam,则是 RMSprop 与动量加速的结合,这里就不赘述了。

疑问是,γ 选十十几个 为好呢?当然,从“用

去近似

”你并算不算淬硬层 来看,当然是 γ 越小越精确,何如让 γ 越小,还还里能的迭代次数就越多,也什么都说计算量就越大,什么都越小越好是很理想,何如让 不现实。

是我不好读者其实很简单:把标量加带向量不就行了么?并这么了这么了简单,何如让 (13) 推广到高维,相当于有并算不算 合理的选则:



或:

RMSprop

原文发布时间为:2018-12-27

本文作者:苏剑林

本文来自云栖社区合作协议伙伴“ PaperWeekly”,了解相关信息还还里能关注“paperweekly”微信公众号

首先,朋友 看另一个非常经典的自适学数学习率优化算法:RMSprop。RMSprop 其实全部都会最早提出的自适学数学习率的优化算法,何如让 它却是相当实用的并算不算 ,它是诸如 Adam 这么了 更综合的算法的基石,通过它朋友 还还里能观察自适学数学习率的优化算法是为甚么做的。

上端的讨论全部都会一维的情況,何如让 是多维情況,那为甚么推广呢?

朋友 平时所说的 RMSprop 算法,全部都会指后者 (15)。何如让 有什么都喜欢纯 SGD 炼丹的朋友 会诟病你并算不算向量化的学习率实际上改变了梯度的方向,原因分析梯度不准,最终效果过低好。什么都不喜欢向量化学习率的读者,不妨试验一下前者。

你这学数学习率的调节,是通过因子来实现的,而则是梯度平方的滑动平均。本质上来说,“滑动平均”平均什么都让训练过程更加平稳或多或少,它全部都会起到调节作用的原因分析,起作用的主要帕累托图是“梯度”,也什么都说,还还里能用梯度大小来调节学习率。

注意,从解 ODE 的淬硬层 看,其实这并这么了毛病,何如让 ODE 的解是二根绳子 轨迹 (t,θ(t)),上端这么了 补救,其实 θ 变得平凡了,何如让 t 却变得不平凡了,也什么都相当于 t,θ 的地位交换了,何如让 还是合理的。

先要判断,L(θ) 的另一个极小值点什么都你并算不算方程的稳定的不动点,朋友 从任意的 θ0 出发,数值求解你并算不算 ODE,还还里能期望它最终会收敛于你并算不算不动点,从而也就得到了另一个极小值点。



这么了 朋友 就通过梯度来调节了学习率。

何如让 把你并算不算向量也看成是学习率,这么了 RMSprop 什么都找到了另一个方案,还里能给参数的每个分量分配不同的学习率。

读者何如让 会诟病,把 γ=γ̃/∣L′(θt)∣ 代入这么了 的迭代结果,不什么都:

为有哪些用梯度大小还还里能来调节学习率呢?其实你并算不算思想非常朴素。

话越多说,简单起见,朋友 先从另一个一维例子出发:假设朋友 要求 L(θ) 的另一个极小值点,这么了朋友 引入另一个虚拟的时间参数 t,转化为 ODE:

自适学数学习率

变学习率思想

什么都,为了改善你并算不算不平凡的情況,又为了保留用梯度调节学习率的形状,朋友 还还里能把梯度平均一下,结果什么都:

对比朴素的 SGD,还还里能发现 RMSprop 在对 θ 的更新中,将这么了 是标量的学习率 γ,加带了另一个向量。

只不过,何如让 关心的是优化疑问,也什么都求 L(θ) 的极小值点一句话,这么了上式其实不得劲平凡了,何如让 何如让 每次迭代 θ 都什么都移动固定的长度,那全部都会点像网格搜索了,太低效。

很明显,这里的 γ 是另一个超参数,便是学习率,它何如让 还还里能在不同阶段做不同的调整。而 RMSprop 则是:

最简单的欧拉解法,什么都用

去近似

,从而得到:



也什么都:



这什么都梯度下降法了,θt+γ 相当于 θn+1,而 θt 相当于 θn,也什么都每步前进 γ 这么了多。

高维情況分析

还还里能期望,当 γ 比较小的以前,误差项,也什么都说,在一定条件下,γ∣L′(θt)∣ 并算不算 什么都误差项的度量,何如让 朋友 将 γ∣L′(θt)∣ 控制在一定的范围内,这么了误差也被控制住了。即:



其中 γ̃ 是另一个常数,甚至只还还里能简单地 γ∣L′(θt)∣=γ̃(暂时忽略 L′(θt)=0 的何如让 性,先观察整体的核心思想),也什么都:

算法分析

前者用梯度的总模长来帕累托图,最终保持了学习率的标量性;后者将梯度的每个分量分别帕累托图,你并算不算情況下调节后的学习率就变成了另一个向量,相当于给每个参数都分配不同的学习率。什么都从严格理论分析的淬硬层 来,其实第并算不算 做法更加政治定力 ,何如让 从实验效果来看,却是第二种更为有效。



整个梯度你只用了它的符号信息,这是全部都会太浪费了?过于平凡:也什么都不管梯度大小何如,每次迭代 θ 都什么都移动固定的长度。