Score Function Trick及其在机器学习中的应用
引
機器學習中有很多有意思的 Trick,Deepmind 的 Shakir Mohamed (http://blog.shakirm.com) 維護了一個高質量的博客,其中寫了一系列的機器學習 Trick,包括 Score Function 和 Reparameterisation。
本文接著上文
本文內容主要包括:
Score Function 的定義和性質?
Score Function 的應用:變分推斷和強化學習
Score Function (SF) 介紹
SF的定義
先從最大似然估計(MLE)說起,在學習統計時,最常見的一個操作是通過 MLE 來估計參數,為方便計算一般都采樣對數似然函數(Log Likelihood, LL)作為目標函數,如下:
記 L(θ)=log p(x;θ),求最優的一個最直接方法就是令其對參數的導數為 0,如下:
這里 L(θ) 的一階導數即為Score Function,記為:
即:求 MLE 相當于求解 Score 方程。如果繼續對參數進行求導,會得到另一個非常有價值的量 Fisher Information,如下:
Fisher Information 經常用來衡量樣本信息量,是一個非常有價值的指標(后面專門寫一篇介紹 Fisher Information 的文章)。由上式可以看出,Fisher 信息量是 Score Function 的負導數。
SF的性質?
SF 之所以在機器學習中非常有用,是因為具有非常好的性質:
與 MLE 有著密不可分的關系,參看公式 (2) (3)
?SF 的期望等于 0,推導如下:
推導中用到了一個符合函數求導的公式,如下:
期望為 0 是一個非常好用的性質,比如:
這里的 b 是 baseline,在估計梯度時可以起到降低估計方差的作用,具體會在應用中講到。SF 的方差為 Fisher Information,推導如下:
用來估計梯度時,可以松弛對代價函數的要求,不必使得代價函數可微,因此可以用來優化很多不可導的目標問題甚至是黑箱問題。
Score Function應用
SF 在機器學習中有著廣泛的應用,尤其是在變分推斷、強化學習中作用巨大。本節將通過詳細的推導,對 SF 的應用進行介紹。?
變分推斷
VI 的思路和 EBLO 的推導已在
推導出的優化問題如下:
其中,x 是觀測變量,z 是隱變量,q(z) 是變分分布,λ 是變分分布的參數。
計算 L(λ) 的梯度如下:
公式 (10) 倒數第三行到導數第二行的推導利用了 score function 的期望為 0 這一性質,基于公式 (10) 就可以利用蒙特卡洛采樣進行梯度估計,然后利用隨機優化算法進行參數的更新。算法流程圖如下:參數估計除了要保證無偏之外,還希望估計的方差要盡量小。在此基礎上,本文介紹一種經典的降低方差的方法 Control Variates,也會用到 score function 的一些性質。?
這里,假設一個估計是 f,希望可以找到一個新估計,使得:控制變量法是構造一類估計函數,定義如下:
其中,a 是一個標量,h 是一個函數。由公式 (12) 容易得到,f 和的期望相同,方差如下:
直觀上講,Cov(f,h) 越大,新估計的方差越小,控制變量效果越好。令:可得:
最優參數值是協方差和方差之比。為了方便計算,函數 h(z) 的選擇是 score function,即:所以,E[h(z)]=0。?
用新的估計來替換公式 (10) 中的估計 f,如下:基于蒙特卡洛采樣對梯度進行估計,從上述推導中可以保證新的估計方差會更小。?
強化學習
強化學習中有一類方法是無模型的策略梯度優化算法,本節將從 Score Function 的角度來推導 REINFORCE 及其變種。?
策略梯度優化算法需要解決的問題是:
優化目標是一個函數的期望,如果用基于梯度的優化方法,需要對期望的梯度進行估計。其中,γ 是一個 rollout,r(γ) 是該 rollout 的 reward,p(γ) 是這個 rollout 的分布。所以,由 score function 來推導 REINFORCE 如下:通過對 rollout 進行采樣來估計該期望的梯度,從而進行參數優化。從推導中可以看出,該方法并不要求代價函數可微,這個性質非常好,對于一些不可微的代價函數甚至是一些沒有顯式函數形式的黑盒函數的期望進行優化。?
根據公式 (5) score function 的期望為 0,可推導出加了 baseline 版本的 REINFORCE。
通過添加 baseline 這一項,參見公式 (17) 可見,選擇一個合適的 baseline 可以有效降低梯度估計的方差,提高優化的效率。?
這里簡單介紹了利用 score function 的性質來推導 REINFORCE 以及加了 baseline 的版本,對于隨機優化問題來說,還有很多地方值得研究,比如估計梯度時的采樣分布并不方便采樣,可以借助重采樣進行采樣;比如為了保證收斂效果,可以考慮增加一些相應的約束條件;比如除了 score function 之外,pathwise derivative 也是一個常用的梯度估計方法。?
Policy Gradient 有一系列的方法,這類基于優化來做的方法,都有一定的共性,后面會抽空來寫一個 Policy Gradient 的小綜述,從最基礎的 REINFORCE 開始,到最新的一些方法。具體會參考下圖:
總結
score function 是一個非常有用的 trick,在梯度估計和方差降低兩個基礎問題中作用明顯。在很多研究中 score function 還有一些其他名字,如:Likelihood Ratio,Automated Variational Inference,REINFORCE,Policy Gradients 等。
由上述兩個應用可以看出,做函數期望的優化問題時,核心思路是通過一些 trick 將期望的梯度變成梯度的期望,從而利用蒙特卡洛采樣對期望進行估計,然后利用隨機優化算法,對所優化參數進行更新。梯度估計的方差越小,估計就越準確,優化求解效率就會越高。?
從核心計算問題上來看,變分推斷和強化學習是可以統一起來的,下圖可以看出,從期望梯度估計問題出發,變分推斷和強化學習兩個領域中的一些概念可以完全映射起來,兩個問題完全可以協同著進行研究,其中一個領域誕生的新計算方法都可以在另一個領域進行嘗試。
后續,會寫一些相關綜述,計劃如下:
score function 的姊妹篇——pathwise derivative?
降低估計方差的常見方法?
變分推斷的“前世今生”?
策略梯度的“從古到今”?
DNN 預測不確定性估計的方法綜述
參考文獻
[1] Ranganath, R., Gerrish, S., & Blei, D. M. (2014). Black Box Variational Inference. In Proceedings of the Seventeenth International Conference on Artificial Intelligence and Statistics (pp. 814–822).?
[2] http://blog.shakirm.com?
[3] https://lilianweng.github.io?
[4] Weber, T., Heess, N., Eslami, A., Schulman, J., Wingate, D., & Silver, D. (2015). Reinforced Variational Inference. In NIPS ABIW 2015 (2015).
點擊以下標題查看更多往期內容:?
#投 稿 通 道#
?讓你的論文被更多人看到?
如何才能讓更多的優質內容以更短路徑到達讀者群體,縮短讀者尋找優質內容的成本呢?答案就是:你不認識的人。
總有一些你不認識的人,知道你想知道的東西。PaperWeekly 或許可以成為一座橋梁,促使不同背景、不同方向的學者和學術靈感相互碰撞,迸發出更多的可能性。?
PaperWeekly 鼓勵高校實驗室或個人,在我們的平臺上分享各類優質內容,可以是最新論文解讀,也可以是學習心得或技術干貨。我們的目的只有一個,讓知識真正流動起來。
??來稿標準:
? 稿件確系個人原創作品,來稿需注明作者個人信息(姓名+學校/工作單位+學歷/職位+研究方向)?
? 如果文章并非首發,請在投稿時提醒并附上所有已發布鏈接?
? PaperWeekly 默認每篇文章都是首發,均會添加“原創”標志
? 投稿郵箱:
? 投稿郵箱:hr@paperweekly.site?
? 所有文章配圖,請單獨在附件中發送?
? 請留下即時聯系方式(微信或手機),以便我們在編輯發布時和作者溝通
?
現在,在「知乎」也能找到我們了
進入知乎首頁搜索「PaperWeekly」
點擊「關注」訂閱我們的專欄吧
關于PaperWeekly
PaperWeekly 是一個推薦、解讀、討論、報道人工智能前沿論文成果的學術平臺。如果你研究或從事 AI 領域,歡迎在公眾號后臺點擊「交流群」,小助手將把你帶入 PaperWeekly 的交流群里。
▽ 點擊 |?閱讀原文?| 獲取最新論文推薦
總結
以上是生活随笔為你收集整理的Score Function Trick及其在机器学习中的应用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: RoBERTa中文预训练模型:RoBER
- 下一篇: IJCAI 2019 论文解读 | 基于