日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

殊途同归的策略梯度与零阶优化

發布時間:2024/10/8 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 殊途同归的策略梯度与零阶优化 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?PaperWeekly 原創 ·?作者|蘇劍林

單位|追一科技

研究方向|NLP、神經網絡

深度學習如此成功的一個巨大原因就是基于梯度的優化算法(SGD、Adam 等)能有效地求解大多數神經網絡模型。然而,既然是基于梯度,那么就要求模型是可導的,但隨著研究的深入,我們時常會有求解不可導模型的需求,典型的例子就是直接優化準確率、F1、BLEU 等評測指標,或者在神經網絡里邊加入了不可導模塊(比如“跳讀”操作)。

▲ Gradient

本文將簡單介紹兩種求解不可導的模型的有效方法:強化學習的重要方法之一策略梯度(Policy Gradient),以及干脆不需要梯度的零階優化(Zeroth Order Optimization)。表面上來看,這是兩種思路完全不一樣的優化方法,但本文將進一步證明,在一大類優化問題中,其實兩者基本上是等價的。

形式描述

首先,我們來形式地定義我們需要解決的問題。以監督學習為例,訓練數據 ,模型為 , 是待優化參數,其維度為 d,假設模型本身是可導的,其的一般形式為 ,其中 稱為溫度參數,沒有特別注明的情況下默認 。

假如真實標簽是 ,預測標簽是 ,那么單個樣本的得分記為 ,訓練目標希望總得分越大越好,即:

看上去挺復雜的,但事實上它的含義很直觀清晰:我們想求出參數 ,使得整個數據集的得分 盡可能大,而 ,說明模型預測時輸出的是概率最大的那一個。說白了,我們希望“預測概率最大的那一個 y 就是評測得分最高的那一個 y”。

這個形式對應著相當多的機器學習任務,在 NLP 中包括文本分類、序列標注、文本生成等,甚至回歸問題也可以對應上去,可以說是很有代表性了。其困難之處就是 這一步無法提供有效的梯度,因此不好直接用基于梯度的優化算法優化。

策略梯度

策略梯度的想法很直接,既然原始的目標(1)沒法求梯度,那換個跟它強相關的、可求梯度的目標就行了,比如:

2.1 排序不等式

很明顯,上述定義的目標并沒有包含 之類的算子,因此它是可導的。那么我們首先想要知道的是上式跟原始目標(1)有什么關系呢?差異又在哪呢?這需要用數學中的“排序不等式”來回答:

排序不等式:對于 以及 ,并假設 是 的任一排列,那么:

也就是說“同序積和 ≥ 亂序積和 ≥ 倒序積和”。

排序不等式是很經典的不等式,網上很容易找到它的證明(一般用數學歸納法),這里就不證了。

根據排序不等式我們可以知道,如果目標(2)達到最大值,那么 與 是同序的,也就是說確實可以實現“預測概率最大的那一個 y 就是評測得分最高的那一個 y” 這個目標,但是同時還實現了“預測概率第二大的那一個y就是評測得分第二高的那一個 y”、“預測概率第三大的那一個 y 就是評測得分第三高的那一個 y” 等目標,而這些并不是原始目標所必須的。

所以,目標(2)跟原始目標是強相關的,但是要求更多一些。

注意到,排序不等式沒有要求 都是非負數,所以實際的打分函數 有可能是負數的。

2.2 采樣估計梯度

確定目標(2)是可行的之后,我們可以求它的梯度:

一般來說,求梯度 并不困難,而 才是主要的困難,因為它要對所有候選類別求和,而實際上的候選類別數目可能大到難以承受,相關討論在之前的《漫談重參數:從正態分布到 Gumbel Softmax》[1] 也出現過。因此,比較好的辦法是轉化為采樣估計的形式,即:

這樣原則上我們就只需要采樣適當數目的 y 估計上式了,最后的結果便稱為“策略梯度”。有了梯度,就可以套用現成的優化器來完成優化了。

2.3 降低方差

剛才我們說,往 里加上一個常數,并不會改變最終的結果。但是,它有可能改變采樣估算的效率,用統計的語言來說,就是它能改變采樣的方差。舉個簡單的例子,[4, 5, 6] 和 [-10, 10, 15],它們的均值都是 5(代表我們要估算的目標),但是它們的方差分別為 0.67 和 116.67,也就是后者方差遠大于前者。

如果我們只從中采樣一個樣本,那么前者與目標的最大誤差也不過是 1,后者最大誤差能達到 15,最小誤差都有 5,所以雖然理論上最終的均值都是一樣的,但是前者的估算效率要遠遠高于后者(采樣更少的樣本,得到更高的估算精度)。

這個簡單的例子告訴我們要提高估算效率,就要想辦法得到方差更小的估計量。這時候我們往 里邊減去一個常數 b(稱為 baseline,“常數”是指不依賴于 y,但可以依賴于 x):

最終的結果(均值)不會產生變化:

但是它方差有可能變,我們希望最小化方差,根據 知最小化方差等價于最小化二階矩:

這只不過是一個二次函數最小值問題,解得最優的 b 是:

即以 為權重對 求加權期望。但是要獲取每個候選類別的梯度成本會比較大,我們通常不考慮這個權重,而使用一個簡化的版本:

結合式(6),我們可以發現思想其實很直觀:就是要從 里邊采樣若干個 y,然后算出 的均值 b,大于這個均值的執行梯度上升(強化效果),小于這個均值的執行梯度下降(削弱效果)。

2.4 一言以蔽之

簡單來說,策略梯度就是在遇到有 操作等不可導目標函數時,換一個可導的目標(2),這時候用強化的語言來說,y 稱為“策略”, 稱為“決策模型”, 就是“獎勵”,然后配合采樣估計和降低方差技巧,得到原模型的一個有效的梯度估計,從而完成模型的優化。

零階優化

零階優化泛指所有不需要梯度信息的優化方法,而一般情況下它指的是基于參數采樣和差分思想來估計參數更新方向的優化算法。

從形式上來看,它是直接在參數空間中進行隨機采樣,不依賴于任何形式的梯度,因此理論上能求解的目標是相當廣泛的;不過也正因為它直接在參數空間中進行采樣,只是相當于一種更加智能的網格搜索,因此面對高維參數空間時(比如深度學習場景),它的優化效率會相當低,因此使用場景會很受限。

不過就算這樣,也不妨礙我們學習零階優化的思想,畢竟技多不壓身。此外,深度學習雖然往往參數量很大,但是通常來說我們設計的模型大部分模塊都是可導的,不可導的可能只有一小部分,因此也許有可能讓可導部分直接用梯度優化器來優化,不可導的部分才用零階優化,這便是它的應用場景之一了,這樣的思想在很多 NAS 的論文中都出現過。

3.1 零階梯度

零階優化不需要我們通常意義下所求的梯度,但是它定義了一個基于采樣和差分的“替代品”,我們暫且稱為“零階梯度”:

對于標量函數 f(x),定義它在 x 處的零階梯度為:

其中 是事先給定的小正數, 則是事先指定的均值為 0、協方差矩陣為單位矩陣的分布,通常我們會使用標準正態分布。

可以看到,只需要從 中采樣若干個點,就可以對零階梯度進行估算,而有了零階梯度之后,我們就可以把它當作普通的梯度來套用基于梯度的優化器,這便是零階優化的基本思想。

特別地,如果 本身是可導的,那么 ,所以當 時:

也就是說 等于普通的梯度,所以 確實是普通梯度的合理推廣之一。

3.2 也有basline

善于推導的讀者可能會發現,在定義(11)中,由于 的均值為 0,所以 其實不影響最終結果,即:

那么 的作用是什么呢?其實跟前面策略梯度一樣,都是為了降低方差,我們同樣可以引入 b,然后最小化二階矩(等價于最小化方差):

解得最優的 b 為:

實驗的時候,可以直接用有限個樣本估計上式。事實上,如果 是可導的話,可以用泰勒展開近似完成積分,結果是 ,從這個角度看直接取 也是一個合理的選擇,這就說明了引入 項的必要性與合理性。

3.3 一言以蔽之

零階優化方法主要是基于差分來定義了一個梯度的合理推廣,由于算差分不需要函數的可導性,因此自然能適用于可導/不可導目標的優化。

當然,由于 u 的維度就是全體參數 的維度,對于深度學習這樣的參數量巨大的模型,其實更新過程中的方差會很大,不好收斂,所以通常來說零階優化只用來優化模型的一小部分參數,或者作為輔助優化手段(比如“可導目標+普通梯度+大學習率”與“不可導目標+零階梯度+小學習率”交替更新)。

對于直接在高維空間中應用零階優化方法,也有一定的研究工作(比如Gradientless Descent: High-Dimensional Zeroth-Order Optimization [2] ),但還不算很成功。

此外,之前在《從采樣看優化:可導優化與不可導優化的統一視角》[3] 介紹的統一視角,也可以看作是一種零階優化方法,它是對常見優化思路的更統一的推廣(通過它可以導出梯度下降、牛頓法、零階梯度等),但原則上來說,它也存在跟零階梯度一樣的方差大等“通病”,這是零階優化方法很難避免的。

貌離神合

看上去,策略梯度和零階優化確實有很多相似之處,比如大家都是需要隨機采樣來估計梯度,大家都需要想辦法降低方差,等等。當然,不相似之處也能列舉出不少,比如策略梯度是要對策略空間采樣,而零階優化則是對參數空間采樣;又比如策略梯度本質上還是基于梯度的,而零階優化理論上完全不需要梯度。

那么,兩者之間的關系究竟是怎樣呢?接下來我們將會證明,對于本文開頭提出來的優化問題(1)來說,兩者基本上是等價的。證明的思路是求目標(1)的零階梯度,經過一系列簡化后發現它基本上就是策略梯度。

4.1 劃分全空間

我們記:

那么根據式(13),它的零階梯度是:

它可以轉化為:

看起來很復雜,其實思想很簡單,就是不同的u的預測結果 也不同,我們將預測結果同為y的所有 u 放在一起,記為 ,這時候全空間 就被劃分為互不相交的子集 了。

前面沒有特別注明積分區域的積分默認是在全空間 進行的,劃分空間后,它就等于在各個劃分的子集 上的積分之和了。

4.2 示性函數

然后,我們用一個“示性函數”技巧,定義:

那么:

回顧 的含義,對于任意 ,模型 的預測結果就是 y,在示性函數里邊則輸出 1,那么我們可以發現實際上就有:

其中 是 softmax 里邊的溫度參數(文章開頭已經說明)。根據這個結論,我們可以近似地用 代替 ,然后代入上述各個式子,得到:

4.3 近似求積分

最后,由于 是可導的,因此利用展開 代入上式完成對 u 的積分得:

對比式(4)可以發現,上式右端正是策略梯度。

所以,看起來差異蠻大的零階梯度,最終指向的方向實際上跟策略梯度是相近的,真可謂貌離神合、殊途同歸了,有種“正確的答案只有一個”的感覺。這不禁讓筆者想起了列夫·托爾斯泰的名言:

幸福的家庭都是相似的,不幸的家庭各有各的不幸。

參數的更新方向也是如此。

文末小結

本文主要介紹了處理不可導的優化目標的兩種方案:策略梯度和零階優化,它們分別是從兩個不同的角度來定義新的“梯度”來作為參數的更新方向。

表面上來看兩者走了不同的路徑,但筆者的探討表明,在處理跟策略梯度一樣的優化問題時,零階優化所給出的更新方向跟策略梯度基本上是等價的,兩者殊途同歸。此外,本文也可以作為強化學習的入門資料供初學者參考。

參考文獻

[1] https://kexue.fm/archives/6705

[2] https://arxiv.org/abs/1911.06317

[3] https://kexue.fm/archives/7521

更多閱讀

#投 稿?通 道#

?讓你的論文被更多人看到?

如何才能讓更多的優質內容以更短路徑到達讀者群體,縮短讀者尋找優質內容的成本呢?答案就是:你不認識的人。

總有一些你不認識的人,知道你想知道的東西。PaperWeekly 或許可以成為一座橋梁,促使不同背景、不同方向的學者和學術靈感相互碰撞,迸發出更多的可能性。?

PaperWeekly 鼓勵高校實驗室或個人,在我們的平臺上分享各類優質內容,可以是最新論文解讀,也可以是學習心得技術干貨。我們的目的只有一個,讓知識真正流動起來。

?????來稿標準:

? 稿件確系個人原創作品,來稿需注明作者個人信息(姓名+學校/工作單位+學歷/職位+研究方向)?

? 如果文章并非首發,請在投稿時提醒并附上所有已發布鏈接?

? PaperWeekly 默認每篇文章都是首發,均會添加“原創”標志

?????投稿郵箱:

? 投稿郵箱:hr@paperweekly.site?

? 所有文章配圖,請單獨在附件中發送?

? 請留下即時聯系方式(微信或手機),以便我們在編輯發布時和作者溝通

????

現在,在「知乎」也能找到我們了

進入知乎首頁搜索「PaperWeekly」

點擊「關注」訂閱我們的專欄吧

關于PaperWeekly

PaperWeekly 是一個推薦、解讀、討論、報道人工智能前沿論文成果的學術平臺。如果你研究或從事 AI 領域,歡迎在公眾號后臺點擊「交流群」,小助手將把你帶入 PaperWeekly 的交流群里。

總結

以上是生活随笔為你收集整理的殊途同归的策略梯度与零阶优化的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。