當前位置:
首頁 > 知識 > 使用Unity ml-agent進行深度強化學習

使用Unity ml-agent進行深度強化學習

本文為 AI 研習社編譯的技術博客,原標題 :

Deep Reinforcement Learning using Unity ml-agents

作者 |Jo?o Ramos

翻譯 | 通夜 編輯 | 王立魚

https://towardsdatascience.com/deep-reinforcement-learning-using-unity-ml-agents-8af8d407dd5a

大家好 !

上周,我和我的兩個同事,佩德羅·昆塔斯和佩德羅·卡爾代拉做了一些實驗,使用的是Unity的ml -agents,我認為這是一個偉大的時刻,與社區分享我們的結果,並向你展示如何擴展你的強化學習知識。

如果你不知道Unity ml-agents是什麼,讓我給你一個簡單的介紹。Unity ml-agents是一個「用遊戲和模擬環境來訓練智能體的開源Unity插件,」。在我看來,這是一個可以對開始學習深度學習和強化學習來說很好的框架,因為它可以看到正在發生的事情,而不僅僅是在終端上看到數字和字母。

在開始展示我們的小項目之前,讓我先展示一下框架已經創建的一些場景。

好了,現在您已經了解了這個工具的功能和外觀,讓我們來討論一下這個項目!

我們使用了Unity ml-agents創建的一個智能體。它基本上是一隻蜘蛛,但只有四條腿。然後我們為這隻小「蜘蛛」創造了一個移動平台來讓它四處移動。

那只是Unity的搭建,讓我們談談強化學習吧!一開始,和往常一樣,蜘蛛(agent)只知道它在平台上的位置和方向。因為我們的目標是讓兩隻蜘蛛互相爭鬥(不告訴它們該做什麼),所以他必須設法教它們。這時強化學習就開始起作用了。我假設在讀這篇文章的你知道強化學習背後的基本理論。如果你是新手,這裡有一個初學者指南:

https://skymind.ai/wiki/deep-reinforcement-learning

所以,就像任何一個普通的「愚蠢的智能體」一樣,我們必須「教」它。我們通過當他們有好的行為時給予好的獎勵,當他們有壞的行為時給予壞的獎勵來教我們的智能體。經過反覆試驗,智能體們終於學會了如何站立和行走!基本上,每次他們的身體接觸到地面,我們都會給他們不好的獎勵。因為如果它們的身體在地上,這意味著它們的四條腿不在地上,或者它們的腿沒有產生足夠的力。(他們應該站起來)。通過給壞的獎勵,我們告訴他們這些行為不好,他們應該避免。

讓我們概括一下到目前為止我們所做的:

-我們使用ml-agents創建了一個Unity環境。

-我們教我們的蜘蛛站起來,平衡它的腳來走路。

下一步是教他們打架!為了改變蜘蛛的行為使它們能夠戰鬥,我們必須改變它們的獎勵。所以,如果其中一隻蜘蛛離開了平台,或者被屍體碰在地上,它將會得到一個非常糟糕的獎勵。

另外,如果當它們做了我們想讓它們做的,而我們沒有給它們一個好的獎勵,它們就不會繼續重複那些行為。所以當一隻蜘蛛面對另一隻蜘蛛時,我們給了它們很好的獎勵,當蜘蛛朝著另一隻蜘蛛的方向前進時,我們給了它們更好的獎勵。這使得兩隻蜘蛛朝著另一隻蜘蛛的方向前進,在某個時候,其中一隻蜘蛛會把另一隻蜘蛛扔出平台。(這只是一個簡單的例子來證明我的觀點)

此外,他們自己也學會了用拳頭把對方打在地上就能贏。所以在同一時刻,他們開始「摔跤」。這是一個非常有趣的觀察。

此外,我們還用一個移動平台測試了我們的智能體,以創建一個更困難的環境:

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

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


請您繼續閱讀更多來自 AI研習社 的精彩文章:

需求多變的AI安防行業,需要什麼樣的AI視覺計算引擎?
為什麼像素級是圖像標註的未來?

TAG:AI研習社 |