DeepMind 把自己的“殺手锏”開源了!
本文轉自雷鋒網,如需轉載請至雷鋒網官網申請授權。
眾所周知,強化學習(Reinforcement Learning)是一種人工智能訓練技術,無論是在棋牌游戲方面打敗人類選手的機器人,還是在訓練自動駕駛系統方面,強化學習都起著至關重要的作用。
近日,Alphabet 旗下的 DeepMind 發表了一篇由 27 位研究人員共同完成的論文,詳細介紹了一個名為 OpenSpiel 的針對游戲的強化學習框架——這正是 DeepMind 的長處所在。
OpenSpiel 厲害在哪兒?
這個名叫 OpenSpiel 的框架可以看作是一個強化學習環境和算法的集合(其中大部分環境和算法已經進行了全面測試),可以用于通用強化學習的研究和游戲的搜索/規劃研究;它還為分析學習動態和其他常見評估指標提供了工具。
論文中發現,OpenSpiel 旨在許多不同的游戲中促進多智能體強化學習,重點是學習,而不是競爭;而且,該框架的建設基于兩個重要標準,即簡單和輕量——簡單主要體現在編程語言方面,即便是來自不同領域的研究人員也能輕易理解;輕量則體現在 OpenSpiel 將依賴關系保持在最低限度,降低了出現兼容性問題的可能性。
就目前而言,OpenSpiel 框架中包含了 28 款游戲和 24 種算法。正如“Spiel(棋牌游戲)”一詞所含之意那樣,該框架支持的也都是相關的游戲;而且,這些游戲也包括多種博弈方式,比如,常和博弈、零和博弈、協調博弈和一般博弈。在編程語言方面,OpenSpiel 的游戲通過 C++ 來實現、算法則通過 C++ 和 Python 來實現,代碼的一個子集也被移植到 Swift。
不過,DeepMind 的研究人員指出,OpenSpiel 只在 Linux 系統上進行了測試(Debian 10 和 Ubuntu 19.04),但由于 MacOS 和 Windows 上可自由使用代碼,Openspiel 在這些平臺上編譯和運行時應該也不會出現問題。
怎么安裝 OpenSpiel?
-
在論文中,DeepMind 也給出了 OpenSpiel 的安裝方式,他們已經在 Debian 和 Ubuntu 兩個 Linux 系統上測試了框架。安裝方式如下:
值得一提的是,DeepMind 目前還沒有在 Linux 以外的平臺上測試 OpenSpiel,所以,一些腳本和指令目前是假定基于 Debian 的發行版(Debian 和 Ubuntu)。如果使用的是其他 Linux 發行版本,install.sh 里安裝依賴項的命令依然可用,不過,安裝命令需要自行修改。
-
為了能夠從任何位置導入 Python 代碼,需要將根目錄和 open_spiel 目錄添加到 PYTHONPATH 之中。
-
在遵循上述步驟構建好 OpenSpiel 之后,從 build 目錄中運行示例。
-
接下來就可以看到框架里的游戲列表,并且運行游戲了。
論文鏈接: https://arxiv.org/pdf/1908.09453.pdf
項目地址: https://github.com/deepmind/open_spiel