DeepMind 發佈Acme框架,可簡化強化學習算法開發

本文最初發表在 WIRED 網站,由InfoQ 中文站翻譯並分享。

近日,DeepMind 發佈了 Acme,該框架旨在通過使人工智能驅動的智能體能夠在不同的執行規模下運行,從而簡化強化學習(Reinforcement learning,RL)算法的開發。Acme 背後的工程師和研究人員共同撰寫了一篇關於該項工作的技術論文,根據這篇論文的說法,Acme 可以用來創建比以前的方法更具並行性的智能體。

強化學習涉及到智能體與環境交互以生成自己的訓練數據,它已經在電子遊戲、機器人技術、自動駕駛機器人出租車等領域取得了突破。最近取得的進展,在一定程度上要歸因於所使用的訓練數據量的增加,這激發了智能體與環境實例交互以快速積累經驗的系統的設計。DeepMind 曾斷言,這種從算法的單進程原型到分佈式系統的擴展通常需要重新實現相關的智能體,這正是 Acme 框架的用武之地。

Acme 是一個用於訓練強化學習智能體的開發套件,它試圖解決複雜性和規模化的問題,其組件用於構建從算法和策略到學習者的不同抽象層次的智能體。我們的思路是,這樣可以對想法進行迅速迭代,並在生產中對這些想法進行評估,主要是通過訓練循環、強制日誌記錄和檢查點。

在 Acme 中,行爲者(actor)與環境密切互動,對環境進行觀察,並採取行動,而這些行動又反過來反饋到環境中。在觀察到隨之而來的過渡後,行爲者有機會更新它們的狀態;這通常與它們的行動選擇政策有關,這些政策決定了它們爲應對環境採取哪些行動。一種特殊類型的 Acme actor 包括行爲和學習組件,它們被稱爲“智能體”,它們的狀態更新是由學習者(learner)組件中的一些步驟觸發的。也就是說,智能體在大多數情況下都會將它們的行動選擇權交給它們自己的行爲組件。

Acme 提供了一個位於行爲者和學習者組件之間的數據集模塊,該模塊由一個名爲 Reverb 的低級存儲系統提供支持,DeepMind 日前也發佈了這個系統。此外,該框架還建立了一個用於插入 Reverb 的通用接口,從而實現了不同風格的預處理和觀測數據的持續聚合。

行爲組件、學習組件和存儲組件被劃分到 Acme 內部的不同線程或進程中,這帶了兩個好處:環境交互和學習過程異步發生,以及數據生成得到加速。在其他地方,Acme 的速率限制允許執行從學習到執行的理想速率,只要進程保持在某個定義的容忍度內,進程就可以暢通運行。例如,如果其中一個進程由於網絡問題或資源不足而開始落後於另一個進程,速率限制器將阻止落後的進程,而另一個進程則迎頭趕上。

除了這些工具和資源之外,Acme 還附帶了一套示例智能體,作爲各自強化學習算法的參考實現,以及強大的研究基線。DeepMind 表示,未來可能會有更多的產品問世。“通過提供這些……我們希望 Acme 將有助於改善強化學習中的可重複性問題,並賦予學術研究界用簡單的構建模塊來創建新智能體的能力,”研究人員寫道,“此外,我們的基線應該提供額外的標準,以衡量該領域的進展。”

作者介紹:

Kyle Wiggers,技術記者,現居美國紐約市,爲 VentureBeat 撰寫有關人工智能的文章。

原文鏈接:

https://venturebeat.com/2020/06/03/deepmind-releases-acme-a-distributed-framework-for-reinforcement-learning-algorithm-development/

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章