OpenAI怎么用自我對局訓練AI機器人變身摔角王?
OpenAI于近日的一項研究中發現,在一個非明確的技能訓練的環境中,AI能夠通過自我對局的訓練掌握一系列動作技能,比如進攻、躲避、假動作、踢、抓等等。自我對局訓練確定了環境對于提升AI系統的重要性。Dota2在自我對局訓練中的表現和結果讓團隊越來越相信,自我對局訓練不久將會成為AI系統的核心。對本文進行編譯,全文如下:
我們在幾個3D機器人之間設置了一些基本的游戲競賽,利用一些簡單的目標(比如:將對手推到場地圈外;到達場地的另一邊,并阻止對手到達;把球踢進對手的網內,而不讓對手的球踢進自己的網內等。)對每個機器人進行訓練,并且分析機器人在完成目標時所使用的技能和策略。
一開始,機器人會因為站立、前進這樣的行為而獲得豐厚的獎勵,但最后這些獎勵會被清零,只有勝利的機器人才會獲得獎勵。除了這些簡單的獎勵以外,機器人還會學到一系列動作技能,比如進攻、躲避、假動作、踢、抓等等。在這個過程中,每個機器人的神經網絡都單獨接受了近端策略優化的訓練。
為了弄清楚在這些目標和競賽的壓力面前,機器人會作出如何復雜的行動,我們不妨分析一下機器人的摔角相撲比賽吧。在這個比賽中,為了訓練機器人行走,我們在比賽前期給機器人設置了豐厚的獎勵;增加了從這個圓形場地中心起的負L2距離,庫卡機器人何服電機維修,工業機器人維修,并且將其設置為機器人獲得的豐厚獎勵。機器人一開始的時候可以使用這些獎勵在比賽場地內作出一些動作和反應,但是我們會在訓練中把獎勵悄悄地清零。這樣一來,在接下來的訓練迭代中,機器人才會為了得到更多的獎勵,自覺地對自己的動作和技能進行優化。
設計出有助于這些技能訓練的任務和環境并非不可能,但這不僅需要研究員耗費大量的精力,還需要他們具備獨到的創意。此外,機器人的行為也可能會因為人類設計師在設計中出現的問題而變得更復雜。通過成千上萬次的迭代優化,我們能夠開發出更好的機器人,進而可以創造出功能強大的AI系統,該系統能夠自我引導,并完成性能自我優化。在Dota2項目中我們也能發現類似的自我優化現象。在Dota2項目中,自我對局訓練讓我們成功創造出了一個能夠在電子競技的solo版本中擊敗頂級人類玩家的強化學習機器人。
遷移學習
這些機器人還能進行遷移學習,它們能夠把在一場景學習到的技能運用于另一個從未接觸過的場景。在一個案例中,我們給那些經過了摔角相撲訓練的機器人設置了一個任務,讓它們在強風中始終保持站立。結果是,工業機器人維修,那些無視這個強風環境的機器人能夠始終保持直立,而接受過傳統強化學習訓練的機器人在嘗試行走時則會立刻摔倒。
過擬合
我們的機器人會與co-learning策略發生過擬合,該策略是針對某些特定的對手而設計的,但是在面對新的對手時,這個策略就會失效。針對這一問題,我們的解決方案是讓機器人與多個不同的對手進行較量。這些對手來自于一系列的策略,其中有同步訓練或早期訓練的策略。面對這些各式各樣、風格不一的對手,機器人就必須學習更多通用的策略和技術,這樣才能來者不懼。