滑动平均模型的理解

tensorflow中有一种让模型在测试数据更健壮的方法———滑动平均模型。

形象地来说,就是数据每一次训练出得到的模型都受到之前模型的影响,同时也影响着后面训练出的模型,并且这个影响的大小随着训练次数的增多而减小,并且可以通过decay系数来进行调节。就是这样子让模型的的训练更加稳定的。有这句话的理解,下面的都可以不看。


滑动平均模型的定义是:滑动平均(exponential moving average),或者叫做指数加权平均(exponentially weighted moving average),可以用来估计变量的局部均值,使得变量的更新与一段时间内的历史取值有关。

滑动平均值不会改变变量本身的取值,而是会维护一个影子变量来记录滑动平均值,当需要使用这个滑动平均值时,需要明确地调用它。可以看作是变量的过去一段时间取值的均值,相比对变量直接赋值而言,滑动平均得到的值在图像上更加平缓光滑,抖动性更小,不会因为某次的异常取值而使得滑动平均值波动很大。就如同下图中,蓝线与橙线的差别。

 

References:

理解滑动平均(exponential moving average)https://www.cnblogs.com/wuliytTaotao/p/9479958.html

《TensorFlow实战Google深度学习框架》

原文地址:https://www.cnblogs.com/hercules-chung/p/11348701.html