滑動平均記錄了每個參數一段時間內過程值的平均,可以增加模型的泛化性。
影子變量shadow在t時刻記爲,爲變量shadow在t時刻的取值,在不使用滑動平均法時
上式中,。並且=min{MOVING_AVERAGE_DECAY,(1+輪數)/(10+輪數)},MOVING_AVERAGE_DECAY是基礎值。
不使用滑動平均 | 使用滑動平均 | global step |
0.0 | 0.0 | 0 |
1.0 | 0.9 | 0 |
10.0 | 1.6445453 | 100 |
10.0 | 2.3281732 | 100 |
10.0 | 2.955868 | 100 |
10.0 | 3.532206 | 100 |
10.0 | 4.061389 | 100 |
10.0 | 4.547275 | 100 |
10.0 | 4.9934072 | 100 |
上述表格是MOVING_AVERAGE_DECAY=0.99時影子值跟隨情況。
通過影子值變化的情況可以看出來,影子值能更好的應對訓練過程中參數的突變情況,使參數變化更爲平緩。