1. 程式人生 > >當會打王者榮耀的AI學會踢足球,一不小心拿下世界冠軍!

當會打王者榮耀的AI學會踢足球,一不小心拿下世界冠軍!

難得的元旦小假期,沒有什麼比得上在慵懶的冬日豔陽下放鬆自己,拿起手機,叫上了許久未一起作戰的小夥伴,到王者榮耀中激戰了一番,彷彿又回到了當年那個年輕的自己。 ![file](https://img2020.cnblogs.com/other/626506/202101/626506-20210104104631264-846307312.png) 厲害不,畢竟當年DD也是**王者五十星**的水平,哈哈。 ![file](https://img2020.cnblogs.com/other/626506/202101/626506-20210104104631703-1207471430.png) 不過哪怕是我這樣的王者,在去年也被騰訊上線的**超強電腦AI絕悟**虐的不輕。記得當時有朋友來找我,說是騰訊上線了一個**絕悟挑戰**模式,裡面的電腦AI和以往被我們拿來練熟練度的電腦相比,簡直就是雲泥之別,一關比一關難,據說連一些職業選手組成的車隊都翻車了。 聽的那麼玄乎,頭硬的我自然不會輕信,然後隨後的幾天中,果不其然被絕悟虐的生活不可自理,最後還是灰溜溜的靠著網上流傳的“大喬-米萊蒂”傳送偷家套路才勉強過關。 ![file](https://img2020.cnblogs.com/other/626506/202101/626506-20210104104632691-1594401121.png) 一邊回憶著被絕悟慘虐的經歷一邊瀏覽著最近的新聞,突然眼中爆射出一道驚芒,**中國足球世界盃奪冠了!** ![file](https://img2020.cnblogs.com/other/626506/202101/626506-20210104104633021-2047142736.png) 你沒有看錯,的確是中國足球世界盃奪冠了,但是奪冠的並非傳統意義上的男足女足,而是由我們曾經熟悉的絕悟進化之後重生的**足球AI-WeKick**! **WeKick奪冠的是首屆谷歌足球Kaggle競賽,參賽隊伍多達1138支,可以說是代表了目前地球上最頂尖的足球AI比賽,稱之為足球AI世界盃也不為過。** 而在所有參賽隊伍中,WeKick的得分高達1785.8分,佔據絕對優勢地位,就像96年的公牛、02年的巴西一樣,勢不可擋! ![file](https://img2020.cnblogs.com/other/626506/202101/626506-20210104104633586-910570909.png) ![file](https://img2020.cnblogs.com/other/626506/202101/626506-20210104104634715-1431672013.png) 不可置信?再給你看下精彩集錦! 快、準、直!一記完美的長傳後,直射球門! ![img](https://img2020.cnblogs.com/other/626506/202101/626506-20210104104642567-1530999496.gif) 連續突破重圍,輕鬆傳球 4 次。 ![img](https://img2020.cnblogs.com/other/626506/202101/626506-20210104104653522-120143288.gif) 有些人可能不以為然,覺得之前絕悟在王者榮耀的表現,用去踢足球,也是很簡單的。 其實不然,首先王者榮耀是一個5V5的遊戲,而足球是一個11v11的運動,就是說AI需要控制的智慧體(球員)個數多了一倍以上,其次足球賽雖也屬於即時策略型遊戲,但也需要AI具備長線思考、快速決策、處理複雜環境的能力。AI需要考慮到每個球員的速度、加速度、射門、頭球、傳球、防守等各種指數,同時還需要操控球員之間進行頻繁的相互配合,也需要時刻觀察對手球員的行為,防範於未然,做出最好的選擇! 針對這些不同的情況,WeKick團隊發揮想象,主要運用了以下三個創新進行鍼對性的模型訓練。 > Self-Play強化學習框架 WeKick團隊採用Self-Play(自博弈)強化學習來從零開始訓練模型,並以此部署到非同步分散式的強化學習框架中。非同步架構犧牲了一部分訓練的實時效能,但是相應的,得到了更高的靈活性,同時可以支援在訓練過程中按實際需要調整整個計算資源,使其能快速完美的適應智慧體人數更多的足球遊戲訓練環境。 ![file](https://img2020.cnblogs.com/other/626506/202101/626506-20210104104655618-1499353541.png) > GAIL生成對抗模擬學習 王者榮耀是一款對抗類的MOBA遊戲,其最終目的和足球遊戲迥然不同,WeKick團隊採用了GAIL(生成對抗模擬學習)與人工設計的獎勵結合的方式,在特徵與獎勵設計上進行了擴充套件和創新。 運用這個方案,WeKick可以從其它球隊學習,擬合專家行為的狀態和動作分佈,再將GAIL訓練的模型作為固定對手進行進一步Self-Play訓練,進一步提升策略的穩健性。 ![file](https://img2020.cnblogs.com/other/626506/202101/626506-20210104104657056-272161155.png) > League多風格強化學習 上述的Self-Play強化學習方案,有一個尚未解決的缺憾,就是通過這個方案得到的模型很容易形成單一的風格。用足球比賽的說法就是打法一成不變,很容易被針對或遇上天生剋制的陣型就不知所措。為了解決這個問題,WeKick團隊採用了針對多智慧體學習任務的 League(若干策略池)多風格強化學習訓練方案,提升策略的多樣性。 ![file](https://img2020.cnblogs.com/other/626506/202101/626506-20210104104657974-992259453.png) 這種League多風格強化學習訓練方案的主要流程,用一句話解釋就是 **由簡入繁**! - 首先訓練某一方面的基礎模型,例如過人、盤帶、傳球、射門等。 - 根據基礎模型訓練出多個風格化模型,每個模型專注一種風格打法,訓練過程中加入主模型作為訓練對手,避免訓練效果死板不變通。 - 再基於多個基礎模型訓練一個主模型,主模型可以將自己的歷史版本作為訓練對手,還可以加入所有風格化的模型作為不同的訓練對商鋪,使主模型遇上任何對手都有解決方案。 根據其內部能力評分系統顯示,這種演算法下的主模型,可以在基礎模型的基礎上提高200分,比最強的風格化打法高80分! ![file](https://img2020.cnblogs.com/other/626506/202101/626506-20210104104659635-697705037.png) 最後介紹下谷歌足球Kaggle競賽 Kaggle創立於2010年,是全球最大的資料科學社群和資料科學競賽平臺。本屆比賽是Kaggle首次針對足球AI領域釋出的賽題。 由於足球運動團隊策略要求在瞬息萬變的賽場上,做出最正確的團隊協作、實時決策和競爭策略,其中的難點,一直是困擾世界頂尖AI研究團隊的難題。就像前文提到的,從絕悟進化到WeKick,控制的智慧體各數從5v5提高到11v11,這中間強化學習的難度將隨著智慧體個數的增長呈現指數級的爆炸增長。 其實早在參加這個比賽之前,絕悟的開發團隊早已經從足球比賽中的單個智慧體控制轉向多智慧體同時控制、協同作戰深入的研究方向。在先前參加的5v5形式的谷歌天梯比賽 Google Research Football League 中,絕悟已經贏得過冠軍,這次可以說是再度升級版的奪冠。 從最早的圍棋AI絕藝,到王者榮耀的MOBA遊戲AI絕悟,再到如今的足球AI-WeKick,騰訊在人工智慧的深度強化學習程度正在步步進化,未來很有可能運用於其他更廣泛的行業中,真正做到人工智慧為人類服務。 而此刻的我,只想什麼時候能有機會和這個WeKick踢上(被虐)幾場比賽,你也想和他過過招嗎? > 歡迎關注我的公眾號:程式猿DD,獲得獨家整理的免費學習資源助力你的Java學習之路!另每週贈書不