博客專欄

        EEPW首頁 > 博客 > 谷歌發布 RLDS,在強化學習生成、共享和使用數據集

        谷歌發布 RLDS,在強化學習生成、共享和使用數據集

        發布人:AI科技大本營 時間:2022-01-16 來源:工程師 發布文章

        編譯 | 禾木木

        出品 | AI科技大本營(ID:rgznai100)

        大多數強化學習和序列決策算法都需要智能體與環境的大量交互生成訓練數據,以獲得最佳性能。這種方法效率很低,尤其是在很難做到這種交互的情況下,比如用真實的機器人來收集數據,或者和人類專家進行交互。要緩解這個問題,可以重用外部的知識源,比如 RL Unplugged Atari 數據集,其中包括玩 Atari 游戲的合成智能體的數據。

        然而,這些數據集非常少,而且序列決策生成數據的任務和方式多種多樣(例如,專家數據或噪聲演示,人類或合成交互,等等),因此,整個社區要用一組很少的、具有代表性的數據集進行工作,就不太現實,甚至不可取。另外,有些數據集被發行成僅適合特定算法的形式,因此研究者不能重用這些數據集。比如,某些數據集并沒有包含與環境的交互序列,但卻提供了一組讓我們無法重構其時間關系的隨機交互,其他數據集則會以稍有差異的方式發行,從而導致細微的誤差,非常難以識別。

        基于此,研究人員提出了強化學習數據集(RLDS),并發布了一套用于記錄、重放、操作、注釋和共享數據的工具,用于序列決策制定,其中包括離線強化學習、學徒學習或模仿學習。RLDS 可以方便地共享數據集,而不會損失任何信息(比如,保持交互的序列,而非隨機化),而且獨立于底層原始格式,從而允許用戶在更廣泛的任務上對新的算法進行快速測試。另外,RLDS 提供了收集由合成智能體(EnvLogger)或人類(RLDS Creator)生成的數據的工具,以及對收集到的數據進行檢查與處理的工具。最后,通過與 TensorFlow Dataset(TFDS)集成,有助于加強與研究界共享強化學習數據集。

        RL、離線 RL 或模仿學習中的數據集結構

        強化學習、離線強化學習或模仿學習中的算法,都有可能會使用格式完全不同的數據,并且,當數據集的格式不清楚時,很容易導致由于對底層數據的誤解引起的錯誤。RLDS 通過定義數據集的每個字段的內容和意義,使數據格式顯式化,并為其提供了重新對齊和轉換的工具,以適應任何算法實現所需的格式。為了定義數據格式,RLDS 利用了強化學習數據集固有的標準結構,也就是智能體和環境之間的交互(步驟)的序列(情節),其中,智能體可以是基于規則的/自動化控制器、正式規劃者、人類、動物,或上述的組合。

        這些步驟中的每一個都包含當前的觀察、應用于當前觀察的行動、作為應用行動的結果而獲得的獎勵以及與獎勵一起獲得的折扣。步驟還包括額外的信息,以表明該步驟是該情節的第一個還是最后一個,或者該觀察是否對應于一個終端狀態。每個步驟和情節還可以包含自定義的元數據,可用于存儲與環境相關或與模型相關的數據。

        生成數據

        研究人員通過記錄任何類型的智能體與環境的交互來產生數據集。為了保持其有用性,原始數據最好以無損格式存儲,記錄所有生成的信息,并保留數據項之間的時間關系(例如,步驟和事件的序列),而不會對將來如何利用數據集作出任何假定。為了這個目的,發行了 EnvLogger,這是一個軟件庫,以開放文檔格式記錄智能體與環境的交互。

        EnvLogger 是一種環境包裝器,可以將智能體與環境的交互記錄下來,并將它們存儲在一個較長的時間內。雖然 EnvLogger 無縫地集成在 RLDS 生態系統中,但是將其設計為可作為一個獨立的庫使用,以提高模塊化程度。

        與大多數機器學習環境一樣,為強化學習收集人類數據是一個既費時又費力的過程。解決這個問題的常見方法是使用眾包,它要求用戶能夠輕松地訪問可能難以擴展到大量參與者的環境。在 RLDS 生態系統中,發行了一個基于 Web 的工具,名為 RLDS Creator,該工具可以通過瀏覽器為任何人類可控制的環境提供一個通用接口。用戶可以與環境進行交互,例如,在網上玩 Atari 游戲,交互會被記錄和存儲,以便以后可以通過 RLDS 加載回來,用于分析或訓練智能體。

        共享數據

        數據集通常很繁重,與更廣泛的研究社區共享,不僅可以重現之前的實驗,還可以加快研究速度,因為它更容易在一系列場景中運行和驗證新算法。為此,RLDS 與 TensorFlow Datasets(TFDS)集成,后者是一個現有的機器學習社區內共享數據集的庫。一旦數據集成為 TFDS 的一部分,它就會被索引到全球 TFDS 目錄中,這樣,所有研究人員都可以通過使用 tfds.load(name_of_dataset) 來訪問,并且可以將數據以 TensorFlow 或 Numpy 格式加載。

        TFDS 獨立于原始數據集的底層格式,所以,任何具有 RLDS 兼容格式的現有數據集都可以用于 RLDS,即使它最初不是用 EnvLogger 或 RLDS Creator 生成的。此外,使用 TFDS,用戶可以保留對自己的數據擁有所有權和完全控制權,并且所有的數據集都包含了一個引用給數據集作者。

        使用數據

        研究人員可以使用這些數據集對各種機器學習算法進行分析、可視化或訓練,就像上面提到的那樣,這些算法可能會以不同的格式使用數據,而不是以不同的格式存儲數據。例如,一些算法,如 R2D2 或 R2D3,使用完整的情節;而另一些算法,如 Behavioral Cloning(行為克隆)或 ValueDice,則使用成批的隨機步驟。為了實現這一點,RLDS 提供了一個強化學習場景的轉換庫。由于強化學習數據集的嵌套結構,所以這些轉換都經過了優化,包括了自動批處理,從而加速了其中一些操作。使用這些優化的轉換,RLDS 用戶有充分的靈活性,可以輕松實現一些高級功能,而且開發的管道可以在 RLDS 數據集上重復使用。轉換的示例包含了對選定的步驟字段(或子字段)的全數據集的統計,或關于情節邊界的靈活批處理。你可以在這個教程中探索現有的轉換,并在這個 Colab 中看到更復雜的真實示例。

        可用數據集

        目前,TFDS 中有以下數據集(與 RLDS 兼容):

        帶有 Mujoco 和 Adroit 任務的 D4RL 的子集

        RLUnplugged DMLab、Atari 和 Real World RL 數據集

        用 RLDS 工具生成的三個 Robosuite 數據集

        結語

        RLDS 生態系統不僅可以提高強化學習與序列決策問題研究的可重現性,還可以方便地進行數據的共享和重用。研究人員期望 RLDS 所提供的特性能夠推動發行結構化的強化學習數據集,保存所有的信息,并涵蓋更廣泛的智能體和任務。

        參考鏈接:

        https://ai.googleblog.com/2021/12/rlds-ecosystem-to-generate-share-and.html

        *博客內容為網友個人發布,僅代表博主個人觀點,如有侵權請聯系工作人員刪除。



        關鍵詞: AI

        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 南岸区| 延庆县| 南郑县| 佛教| 赤水市| 盱眙县| 乐陵市| 潼关县| 科尔| 和顺县| 辽中县| 宜阳县| 沂源县| 皮山县| 洱源县| 安西县| 渭源县| 铜梁县| 翁源县| 绥芬河市| 饶阳县| 贡觉县| 广德县| 萨迦县| 莱芜市| 博湖县| 金溪县| 南开区| 安化县| 承德市| 通山县| 新宾| 新余市| 琼海市| 青海省| 林甸县| 南丹县| 海晏县| 白水县| 南川市| 兴文县|