Why Stochastic Weight Averaging? averaging results V.S. averaging weights


由以前這篇文章知道, 對多顆不同 models 的結果取平均通常會得到更好的結果.
但如果對 models 的參數先取平均呢? 一樣會好嗎?
Stochastic Weight Averaging (SWA) 的這篇文章 “Averaging Weights Leads to Wider Optima and Better Generalization“ 嘗試說明這是有效的.
而實務上, PyTorch 和 PyTorch Lightning 也已經直接導入了 SWA 的 API. 甚至在語音辨識業界裡, 有取代 Kaldi 勢頭的 WeNet 裡面也有類似的機制.

本文直接截圖自己的 slides 內容, 而 Pdf 檔案可參考 這裡

投影片內容


直接上圖:


















References


  1. Why-Aggregation-Work
  2. Averaging Weights Leads to Wider Optima and Better Generalization
  3. PyTorch 1.6 now includes Stochastic Weight Averaging
  4. Stochastic Weight Averaging in PyTorch Lightning
  5. WeNet