當前位置:
首頁 > 知識 > 谷歌大腦提出MAPO:用於程序合成的策略優化方法

谷歌大腦提出MAPO:用於程序合成的策略優化方法

選自arXiv

作者:Chen Liang等

機器之心編譯

參與:高璇、李澤南

策略梯度方法正在獲得越來越多學者的關注。來自西北大學、谷歌大腦的研究人員近日提出了內存策略優化方法 MAPO,其通過弱監督的方式在泛化程序合成和問答任務中性能超過了此前幾種全監督的基準方法,該研究的論文已提交至 NIPS 2018 大會。

項目代碼:https://github.com/crazydonkey200/neural-symbolic-machines

神經符號機(NSM)是一種利用強化學習集成神經網路和符號表徵的框架。

該框架可用於從弱監督 (如問答對) 中學習語義解析和程序合成,這比全監督 (如問答對) 更容易收集,也更靈活。應用程序包括虛擬助手、資料庫的自然語言介面、人機交互等。它常被用在 Freebase 上學習語義解析器 (https://arxiv.org/abs/1611.00020) 以及資料庫表的自然語言介面 (https://arxiv.org/abs/1807.02322) 上。

Google Brain 的研究人員使用內存增強策略優化 (MAPO) (https://arxiv.org/abs/1807.02322) 來訓練 NSM。這是一種新的策略優化公式,它包含了一個有期望軌跡的內存緩衝器,以減少確定性環境的策略梯度估計的方差。我們還運用系統探索來優化探索和邊際似然約束來加速和穩定訓練。

我們實現了使用一個分散式的演示者-學習者架構,該體系結構利用多個 CPU 和 GPU 進行可擴展性訓練,類似於 DeepMind 在 IMPALA 論文中介紹的 (https://arxiv.org/abs/1802.01561)。

MAPO 的環境需求:

Python 2.7

TensorFlow > = 1.7

其他需要的包在 requirements.txt 中進行匯總。

研究介紹

最近,人們對將策略梯度方法應用於各種應用領域產生了極大興趣,其中包括程序合成 [25,16,63,10],對話生成 [24,11],架構搜索 [64,66],遊戲 [48,29] 和連續控制 [40,45] 等方向。簡單的策略梯度方法,如增強(Reinforce),使用當前策略中的蒙特卡羅樣本對期望收益進行策略上的優化。這通常會導致學習動態不穩定和樣本效率變低,有時效果會低於隨機搜索 [28]。

基於梯度的策略優化難點來自以下幾個方面:(1) 策略梯度估計的方差較大;(2) 隨機初始化策略的樣本通常只會獲得很小的激勵,導致初始階段的訓練進度緩慢;(3) 隨機策略樣本不能有效地挖掘搜索空間,因為很多樣本存在重複。這些問題在程序合成和機器人學 [4] 等應用程序中令人望而卻步,這些應用程序涉及大量的搜索空間,但所得卻很少。在這樣的任務中,只有經過長時間的正確運行,才能獲得好的回報。例如,在程序合成中,只有大程序空間內的少數程序可以產生正確的函數形式。然而,除非它被頻繁地重採樣 [25,3],不然會導致高回報軌跡的遺漏。

本文提出了一種基於離散確定性環境的策略優化的新構想,它在策略梯度框架內結合了一個有期望軌跡的內存緩衝器。它將策略梯度看作對內存中軌跡的期望和對內存外軌跡的期望的加權和。梯度估計是無偏的,在內存緩衝區的軌跡概率無法忽略的情況下,可以得到較低的方差。因為高回報的軌跡仍然留在內存中,無法被省略。為了使 MAPO 演算法更有效,我們提出了三種技術:(1) 在表演者-學習者體系結構中,從內存緩衝區內外分別進行分散式採樣;(2) 對內存緩衝中高回報軌跡邊際進行似然約束,以在初始訓練階段引入一定偏差為代價加速訓練;(3) 系統地探索搜索空間,以有效發現高回報軌跡。

我們評估了 MAPO 對自然語言弱監督程序合成的有效性 (參見第 2 節)。程序合成可以在策略優化的條件下學習泛化,同時對實際應用產生影響。在具有挑戰性的 WIKI TABLE QUESTIONS[36] 基準測試中,MAPO 在測試集上的準確率達到 46.2%,遠遠超過了之前的 43.7% 的水平 [62]。有趣的是,在 WIKISQL[63] 基準測試中,MAPO 在沒有程序監督的情況下達到了 74.9% 的準確度,超過了幾個表現較好的全監督基準線。

圖 1:具有系統搜索和邊際似然約束的 MAPO 演算法框圖

圖 2:離散的表演者-學習者結構框架

論文:Memory Augmented Policy Optimization for Program Synthesis with Generalization(用於泛化程序合成的內存增強策略優化)

鏈接:https://arxiv.org/abs/1807.02322

摘要:本文提出了內存增強策略優化 (Memory Augmented Policy Optimization, MAPO),這是一種新的策略優化方法,它結合了一個期望軌跡的內存緩衝區,以減少對離散的確定性環境的策略梯度估計的方差。該公式將期望回報目標表示為兩項的加權和:對高回報軌跡內存的期望,以及對內存之外軌跡的單獨期望。提出了 3 種有效的 MAPO 訓練演算法:(1) 採用表演者-學習者架構,從內存內部和內存外部進行分散式採樣;(2) 對內存的邊際進行似然約束,加速訓練;(3) 系統地搜索高回報軌跡。MAPO 提高了策略梯度的樣本效率和魯棒性,特別是在有少量激勵的任務中。我們從自然語言里評估了 MAPO 的弱監督程序合成,並著重泛化能力。在 WikiTableQuestions 基準測試中,我們將之前最高的精確度提高了 2.5%,達到了 46.2%,在 WikiSQL 基準測試中,MAPO 在只有微弱的監督條件下精確度達到了 74.9%,超過了幾個表現較好的全監督的基準線。

本文為機器之心編譯,轉載請聯繫本公眾號獲得授權。

------------------------------------------------


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

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


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

小米開源移動端深度學習框架MACE:可轉換TensorFlow模型
多GPU 加速學習,這是一份嶄新的 XGBoost 庫

TAG:機器之心 |