tensorflow中有一種讓模型在測試數據更健壯的方法———滑動平均模型。
形象地來說,就是數據每一次訓練出得到的模型都受到之前模型的影響,同時也影響着后面訓練出的模型,並且這個影響的大小隨着訓練次數的增多而減小,並且可以通過decay系數來進行調節。就是這樣子讓模型的的訓練更加穩定的。有這句話的理解,下面的都可以不看。
滑動平均模型的定義是:滑動平均(exponential moving average),或者叫做指數加權平均(exponentially weighted moving average),可以用來估計變量的局部均值,使得變量的更新與一段時間內的歷史取值有關。
滑動平均值不會改變變量本身的取值,而是會維護一個影子變量來記錄滑動平均值,當需要使用這個滑動平均值時,需要明確地調用它。可以看作是變量的過去一段時間取值的均值,相比對變量直接賦值而言,滑動平均得到的值在圖像上更加平緩光滑,抖動性更小,不會因為某次的異常取值而使得滑動平均值波動很大。就如同下圖中,藍線與橙線的差別。
References:
理解滑動平均(exponential moving average):https://www.cnblogs.com/wuliytTaotao/p/9479958.html
《TensorFlow實戰Google深度學習框架》