深度学习: 指数加权平均
1. 指数加权平均
指数加权平均是深度学习众多优化算法的理论基础,包括Momentum、RMSprop、Adam等,在介绍这些优化算法前,有必要对指数加权平均(exponentially weighted averages)做一个简单的介绍,以期对后续的优化算法的原理有所知晓。
何为指数加权平均那?
现在想求一段时间内的平均温度,给定一段时间的温度序列 ,加和平均结果为
,每天温度的权重都是相同的。进一步,若要根据平均气温预测明天的温度,显然昨天的温度应该较30天之前的温度权重大一些,因为越早的日期对于预测明天温度所起到的作用越小,这符合我们的常规思维,因此给予每天的温度不同的权重,这就引出了统计学中常用的一种平均方法——指数加权平均,平均温度预测的指数加权平均形式如下:
其中, 代表第
天的平均温度值,
代表可调节的参数值。令
,上式递推式展开如下:
可以看到,随着日期的向后推移,温度的权重以单位 进行衰减。 当
为 0 时,平均气温的计算完全忽略历史信息,随着
由 0 到 1 不断增大,历史温度的权重衰减速度不断降低。
在吴恩达的深度学习课程中,英国每日温度以及每日温度的指数加权平均示意图如下:
图 1 β 为0.98(绿线),0.9(红线)和0.02(黄线)时的指数加权平均值
从上图分析可得,当 β 为 0.98 时,指数加权平均减慢了对历史温度的衰减,因而纳入了更多的历史温度信息,导致绿线在上升阶段的值小于红线,且最高点滞后于红线;当 β 为 0.9 时,似乎时根据历史温度预测明天温度的最恰当的取值;当 β 为 0.02时,历史温度信息几乎没有纳入指数加权平均的计算中,更注重最近几天的温度。随着 β 值的不断减小,指数加权平均线的平滑度在不断下降(时效性增强)。
2. 指数加权平均的偏差修正
实际上,在图2中,当 β 取0.98时,得到的曲线并非绿色,而是下图的紫色曲线:
图 2 β 为0.98的实际曲线(紫线)
紫色曲线的值在开始上升的初始阶段明显小于绿色曲线,这是什么原因那? 通过指数加权的递推公式可以发现,最初几天的温度预测值不足历史温度的0.02,因而在预测前期会有一定的偏差。因此,引入偏差修正公式如下:
通过此修正公式,开始几天的平均温度预测值可以接近实际值,随着 的增大,偏差修正公式会逐渐还原为修正之前的指数加权平均公式。
在基于指数加权平均的深度学习优化算法中, 如果你对初期的偏差修正比较重视,则可采用修正的指数加权平均公式,如果对初期的偏差修正不是特别在意,可以选择马虎的度过初始阶段。总之,如果你关心初始时期的偏差,修正偏差能帮助你在早期获得更好的估测。