深度學習: 指數加權平均
1. 指數加權平均
指數加權平均是深度學習眾多優化演算法的理論基礎,包括Momentum、RMSprop、Adam等,在介紹這些優化演算法前,有必要對指數加權平均(exponentially weighted averages)做一個簡單的介紹,以期對後續的優化演算法的原理有所知曉。
何為指數加權平均那?
現在想求一段時間內的平均溫度,給定一段時間的溫度序列 ,加和平均結果為 ,每天溫度的權重都是相同的。進一步,若要根據平均氣溫預測明天的溫度,顯然昨天的溫度應該較30天之前的溫度權重大一些,因為越早的日期對於預測明天溫度所起到的作用越小,這符合我們的常規思維,因此給予每天的溫度不同的權重,這就引出了統計學中常用的一種平均方法——指數加權平均,平均溫度預測的指數加權平均形式如下:
其中, 代表第 天的平均溫度值, 代表可調節的引數值。令 ,上式遞推式展開如下:
可以看到,隨著日期的向後推移,溫度的權重以單位
在吳恩達的深度學習課程中,英國每日溫度以及每日溫度的指數加權平均示意圖如下:
圖 1 β 為0.98(綠線),0.9(紅線)和0.02(黃線)時的指數加權平均值
從上圖分析可得,當 β 為 0.98 時,指數加權平均減慢了對歷史溫度的衰減,因而納入了更多的歷史溫度資訊,導致綠線在上升階段的值小於紅線,且最高點滯後於紅線;當 β 為 0.9 時,似乎時根據歷史溫度預測明天溫度的最恰當的取值;當 β 為 0.02時,歷史溫度資訊幾乎沒有納入指數加權平均的計算中,更注重最近幾天的溫度。隨著 β 值的不斷減小,指數加權平均線的平滑度在不斷下降(時效性增強)。
2. 指數加權平均的偏差修正
實際上,在圖2中,當 β 取0.98時,得到的曲線並非綠色,而是下圖的紫色曲線:
圖 2 β 為0.98的實際曲線(紫線)
紫色曲線的值在開始上升的初始階段明顯小於綠色曲線,這是什麼原因那? 通過指數加權的遞推公式可以發現,最初幾天的溫度預測值不足歷史溫度的0.02,因而在預測前期會有一定的偏差。因此,引入偏差修正公式如下:
通過此修正公式,開始幾天的平均溫度預測值可以接近實際值,隨著 的增大,偏差修正公式會逐漸還原為修正之前的指數加權平均公式。
在基於指數加權平均的深度學習優化演算法中, 如果你對初期的偏差修正比較重視,則可採用修正的指數加權平均公式,如果對初期的偏差修正不是特別在意,可以選擇馬虎的度過初始階段。總之,如果你關心初始時期的偏差,修正偏差能幫助你在早期獲得更好的估測。