當前位置:
首頁 > 新聞 > Petuum提出序列生成學習演算法通用框架

Petuum提出序列生成學習演算法通用框架

近日,來自人工智慧創業公司 Petuum 的研究人員發表論文,提出序列生成學習演算法的通用框架——廣義的熵正則化策略優化框架(Generalized Entropy-Regularized Policy Optimization)。該框架是對包括最大似然學習 (MLE)、增強學習 (RL) 等多種廣泛使用的演算法的泛化。研究人員進而提出一種新的序列生成演算法,該演算法在已有演算法中進行動態插值,在機器翻譯和文本摘要任務中實現了穩定的提升。

Petuum提出序列生成學習演算法通用框架

序列生成是一個常見的機器學習任務,比如機器翻譯、文本摘要、圖像字幕生成等。

近日,Petuum 發布論文《Connecting the Dots Between MLE and RL for Sequence Generation》,對多種廣泛使用的序列生成學習演算法提出了統一的視角,即廣義的熵正則化策略優化框架。可以證明這些演算法在數學上等同於在框架中設定不同超參數的特例。該研究提供了對不同演算法的系統性的理解和對比,並啟發更多的演算法提升。基於此通用框架,研究人員還提出了一種新的插值演算法,在機器翻譯和文本摘要任務中實現了穩定的提升。

序列模型的發展(如具備不同單元和注意力機制的循環神經網路)促進了序列生成任務的進步。這些模型通常可以使用多種不同的學習演算法進行訓練,詳見下文。

常用的序列生成學習演算法(點)

標準的訓練演算法基於最大似然估計(MLE),即試圖最大化真實數據的對數似然(data log-likelihood)。儘管 MLE 訓練計算簡單、高效,但它會遭遇曝光偏差(exposure bias)。即模型在預測下一個 token 時使用的是真實數據中的 token,而訓練出的模型在測試時無法得到真實數據而只能使用模型預測出的 token。這種訓練和測試之間的偏差導致預測出現誤差,且隨著序列長度的增加,這一偏差也會越來越大。

很多研究試圖解決該問題,其中一些基於強化學習 (RL)。例如,Ranzato 等人在《Sequence Level Training with Recurrent Neural Networks》中採用策略梯度演算法,通過在訓練和測試階段使用同樣的解碼策略來避免這種偏差。但是,基於 RL 的序列生成方法會面臨極低的採樣效率和極高的方差。

為了使訓練更加可行,其他研究人員提出了多種方法,這些方法介於 MLE 和 RL 之間。例如,RAML 對 MLE 數據樣本根據 reward 函數進行擾動,SPG 基於 reward 分布實現策略梯度的高效採樣,數據加噪(data noising)等方法也有一定的性能提升。

最大似然估計(MLE)

最大似然估計是訓練序列生成模型最常用的方法。MLE 旨在尋找最大化數據對數似然的最優參數值:

Petuum提出序列生成學習演算法通用框架

獎勵增強最大似然(RAML)

RAML 最初用於將特定任務的 reward(task metric reward)納入 MLE 訓練,該方法相對於原版 MLE 有很大的性能提升。具體來說,RAML 引入了一個指數 reward 分布 e(y|y*) ∝ exp{R(y|y*)},其中 R 指任務度量(如 BLEU)。RAML 最大化以下目標函數:

Petuum提出序列生成學習演算法通用框架

如果我們將 e(y|y*) 中的任務獎勵 R 換成 MLE 的 δ 獎勵,則 RAML 目標函數等同於原版 MLE 目標函數,即:

Petuum提出序列生成學習演算法通用框架

數據加噪

向訓練數據添加雜訊是常用的正則化方法。之前的研究提出多種適合序列生成 的數據加噪策略。例如,將數據 y* 中的每個 token 以概率 γ 替換成雜訊 token,每個雜訊 token 隨機從一元頻率分布(unigram frequency distribution)中採樣獲得。然後將得到的帶雜訊數據用於 MLE 訓練。形式上來看,它等同於使用獎勵函數:

Petuum提出序列生成學習演算法通用框架

其中 u(·) 表示一元頻率分布。使用鬆弛(即平滑)獎勵後,數據加噪一定程度上擴展了原版 MLE 的探索空間。其效果本質上等同於 RAML 演算法,區別在於 RAML 基於任務獎勵函數來擴展探索空間。

Softmax 策略梯度 (SPG)

SPG 旨在適應原版策略梯度,用作採樣的獎勵函數。SPG 的目標函數如下:

Petuum提出序列生成學習演算法通用框架

其中 R 表示 reward 函數。作為標準策略梯度演算法的變體,SPG 旨在解決曝光偏差問題,並表現出了卓越的結果。

Petuum提出序列生成學習演算法通用框架

圖 1:不同演算法的有效探索空間。(a):MLE 的探索空間即訓練樣本的集合。(b):RAML 和數據加噪使用平滑的獎勵函數,允許訓練樣本周圍的較大探索空間。(c):常見的策略優化演算法(如 SPG)大體上允許全部探索空間。

連點成線

Petuum 對這些學習演算法構建了一個統一的視角。具體來說,他們展示了一個廣義熵正則化策略優化(ERPO)框架,並證明明顯不同的多種演算法(如 MLE、RAML、SPG 和數據加噪)都可以重新公式化為該框架中的特殊實例,唯一的區別在於 reward 函數和超參數值的不同選擇。

除了對已有演算法進行全新詮釋以外,該統一視角還推動了新演算法的開發。研究人員展示了一個新演算法,隨著訓練的進行,新演算法對 reward 函數和超參數值退火,從而逐漸擴展探索空間。退火實際上就是在已有演算法中進行動態插值。在機器翻譯和文本摘要任務上的實驗表明,該插值演算法比已有的方法有顯著提升。

通用框架

該研究提出的通用框架旨在用常見的數學公式統一上述演算法。該框架基於策略優化,策略優化即在模型分布下最大化期望獎勵。大量關於熵正則化策略優化(ERPO)的研究通過用資訊理論正則化項增強策略優化來穩定學習。Petuum 研究人員提出一個 ERPO 的通用公式。假設變數分布為 q(y|x),則我們採用以下目標函數:

Petuum提出序列生成學習演算法通用框架

其中 (x, y*) 表示訓練數據對,y 指在 q(y|x) 分布中採樣的句子,KL(·||·) 表示 KL 散度,H(·) 是香農熵,α 和 β表示相應項的均衡權重,pθ 指用 θ 進行參數化的序列生成模型。

使用拉格朗日乘子法,該目標函數可以通過類似 EM 演算法的步驟分別優化 q 和θ。在第 n 次迭代時:

Petuum提出序列生成學習演算法通用框架

現有演算法是特殊實例

我們可以將已有的序列生成演算法表示為該框架的特殊實例。

最大似然估計(MLE)

使 (R = Rδ, α → 0, β = 1)。如果 y = y*,則 ERPO 的 E-step 中 q(y|x) = 1,反之結果為 0。因此 M-step 與以下公式等價:

Petuum提出序列生成學習演算法通用框架

可見上式精確地還原了 MLE 的目標函數。

也就是說,MLE 可以看做帶有 δ 獎勵及上述權重值的策略優化演算法的一個實例。任何不能精確匹配數據 y* 的樣本 y 都將收到負無窮獎勵,從而永遠不對模型學習做出貢獻。

獎勵增強最大似然(RAML)

如果用 MLE δ 獎勵取代 e(y|y*) 中的任務獎勵 R,則 RAML 目標函數就將等同於原版 MLE 目標函數。MLE 和 RAML 之間的這種關係在 ERPO 中仍然存在。與在 ERPO 中還原 MLE 的方法類似,使 (α → 0, β = 1),但將 R 設置為任務度量獎勵,則 ERPO 的 M-step 精確地等同於最大化上述 RAML 目標函數。

數據加噪

數據加噪也可以作為 ERPO 框架中的特殊實例。從取 (R = Rδ, α → 0, β = 1) 的 MLE 的 ERPO 重公式化開始,數據加噪可以用上述一元鬆弛 Rδ 進行公式化。

Softmax 策略梯度(SPG)

SPG 可以輕鬆兼容 ERPO 框架。將 SPG 目標函數的梯度設為 θ,我們可以立即得到與 ERPO 相同的更新規則,(α = 1, β = 0, R = common reward)。

注意,SPG 和 RAML 配置中唯一的區別在於現在 α = 1。與 RAML 相比,SPG 利用獎勵分布和模型分布使探索空間更向前了一步。從理論上來講,在訓練階段進行充分的探索將提高測試階段的性能。然而,隨著訓練難度的增加,必須使用額外的複雜優化及近似技術(Ding & Soricut, 2017),使訓練更加可行。

Petuum提出序列生成學習演算法通用框架

圖 2:不同學習演算法的統一表述。每個演算法對通用 ERPO 框架來說都是一個特例,採用了超參數 (R, α, β) 的某些特定取值。

應用:插值演算法

在廣義 ERPO 框架中,一系列常用學習演算法都可以被理解為具有三個特定規格超參數 (R, α, β) 的實例。每個演算法都可以被視為超參數空間(圖 1)中的一個點。通常,具有更受限的獎勵函數 R 和非常小的 α 的點具有更小的有效探索空間,並且允許高效學習(如 MLE),相比之下,帶有平滑 R 和較大 α 的點將導致更難的學習問題,但允許更高效的探索和更好的測試性能(如 (softmax) 策略梯度)。研究人員在論文中還探索了一種對現有演算法進行插值的示例演算法。

該插值演算法從最受限但最簡單的配置 (MLE) 開始學習,並逐漸擴展探索空間以減少和測試階段之間的差異——由易到難的學習範式。由於已經將常用演算法映射到超參數空間中的點,因此插值變得非常簡單,只需超參數值的退火。

實驗結果

研究人員在機器翻譯和文本摘要任務上評估了上述插值演算法。如下圖所示,與之前的方法相比,該演算法達到了更好的效果。

Petuum提出序列生成學習演算法通用框架

Petuum提出序列生成學習演算法通用框架

圖 3:上圖是不同學習演算法在機器翻譯任務上的收斂曲線。下圖是與 MLE 相比,該演算法在文本摘要任務上的提升。

論文:Connecting the Dots Between MLE and RL for Sequence Generation

Petuum提出序列生成學習演算法通用框架

  • 論文鏈接:https://arxiv.org/abs/1811.09740
  • 代碼:https://github.com/asyml/texar/tree/master/examples/seq2seq_exposure_bias

該研究的代碼實現基於 Texar,一個通用、易用的文本生成工具庫。

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 機器之心 的精彩文章:

前端開發者的福音:根據UI設計圖自動生成GUI骨架代碼
Waymo首次公開自動駕駛技術:讓AI學會「危機想像力」

TAG:機器之心 |