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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

强化学习原理与python实现原理pdf_纯Python实现!Facebook发布PyTorch分布式强化学习库...

發布時間:2024/8/23 python 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 强化学习原理与python实现原理pdf_纯Python实现!Facebook发布PyTorch分布式强化学习库... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
圖靈TOPIA來源:Facebook編譯:劉靜圖靈聯邦編輯部出品Facebook于近日發布了PyTorch中用于強化學習(RL)研究的平臺:TorchBeast。TorchBeast實現了流行的IMPALA算法的一個版本,用于RL代理的快速、異步、并行訓練。另外,TorchBeast將簡單性作為明確的設計目標:提供了純Python實現(“ MonoBeast”)以及多機高性能版本(“ PolyBeast”)。在后者中,部分實現是用C ++編寫的,但是與機器學習有關的所有部分都使用PyTorch保留在簡單的Python中,使用OpenAI Gym接口提供了環境。這使研究人員可以使用TorchBeast進行可擴展的RL研究,而無需Python和PyTorch之外的任何編程知識。在論文中,研究人員描述了TorchBeast的設計原理和實現,并證明了它與Atari上的IMPALA表現相當。TorchBeast是根據Apache 2.0許可以開源軟件包的形式發布:https://github.com/facebookresearch/torchbeast.近年來,由于深度學習和新型GPU硬件的興起,強化學習引起了人們的極大興趣,克服了諸如國際象棋,圍棋和其他棋盤游戲的重要挑戰,證明了學習視覺輸入策略的、處理復雜的戰略環境以及多代理設置的能力。然而,分布式RL架構缺乏編寫良好的、高性能的、可伸縮的實現,這阻礙了已發布工作的復制,并在很大程度上限制了新工作的開發。基于IMPALA代理DBLP的方法已經在諸如《星際爭霸2》等領域獲得了顯著的成就。盡管構建在TensorFlow tensorflow2015-白皮書上的IMPALA代理的權威實現已經作為開源軟件發布,但傾向于PyTorch的研究人員的選擇較少。TorchBeast旨在通過IMPALA的簡單易讀的PyTorch實現來幫助實現公平的競爭環境,該實現從頭開始設計為易于使用的,可伸縮的且快速的。理想情況下,研究人員應該能夠快速地原型化他們的想法,而不需要考慮低級語言的腦力開銷,也不需要考慮Python的計算開銷,因為這會對性能產生巨大的影響。這兩個目標之間存在著矛盾。將性能考慮在內的框架構建可能會導致嚴格的約束,從而降低研究人員實現其想法的速度,甚至影響其研究方向。雖然TorchBeast必然也依賴于工程假設,但Facebook采用了一些設計原則,目的是在實現新想法時為研究人員提供最大的影響力:TorchBeast不是一個框架TorchBeast存儲庫使用IMPALA架構實現了某種類型的代理和環境。它不是作為一個依賴項導入的,而是按照特定研究目標所需的任何方式進行fork和修改。與傳統的軟件工程相比,研究代碼的半衰期較短,使得該方法在深度強化學習領域更加自然。所有的機器學習代碼都是用Python編寫盡管TorchBeast的PolyBeast變體使用c++組件來實現排隊和批量處理邏輯,但研究人員通常不需要接觸這些組件。在特殊的情況下,必要的更改不應該涉及到在代碼庫中挖掘許多層的抽象。一個文件統管所有雖然沒有嚴格地打包成單個文件,但是TorchBeast試圖保持“只有一個文件”的理想狀態。以PolyBeast為例,所有的代理代碼都存在于PolyBeast .py中,而環境代碼則存在于polybeast_env.py中。不需要其他文件來交換代理神經網絡模型或用于訓練的特定環境。可適應更復雜變化一些研究方向有更具體的需求。例如,當使用TorchBeast來訓練RL代理進行網絡擁塞控制mvfst-rl時,由于環境模擬器的技術限制,客戶端和服務器在TorchBeast中的角色需要顛倒。這很容易通過fork TorchBeast存儲庫和修改“actor pool”邏輯來實現。另一個涉及在c++中更改邏輯的擴展示例是將rollout邏輯從執行交叉集批轉移到填充(通過確保每個批包含最多一個集的數據,這使得使用某些模型(如注意力)更加容易)。然而,盡管這些改變是可以直接完成的,但是我們相信大多數的研究需求并不屬于這一類,并且可以通過改變代理參數化和環境來輕松地使用TorchBeast。TorchBeast有兩個變體,被稱為“MonoBeast”和“PolyBeast”。MonoBeast變體的主要目的是方便安裝和入門(除了Python和PyTorch外,不需要其他主要依賴項)。另一方面,PolyBeast利用谷歌的gRPC庫gRPC實現進程間和透明的跨機器通信。它還實現了一些重量級的操作,比如作為用c++編寫的Python擴展模塊進行批處理。這使我們能夠實現一些高級特性,比如以更復雜的安裝過程為代價的動態批處理。這兩個版本都使用多個進程來解決多線程Python程序的技術限制。更多具體內容可參考原論文https://arxiv.org/pdf/1910.03552.pdf

總結

以上是生活随笔為你收集整理的强化学习原理与python实现原理pdf_纯Python实现!Facebook发布PyTorch分布式强化学习库...的全部內容,希望文章能夠幫你解決所遇到的問題。

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