Unity 擁抱 AI:用機器學習訓練 NPC、機器人、模擬自動駕駛

作者 | 發布日期 2018 年 05 月 23 日 13:00 | 分類 AI 人工智慧 , 機器人 , 自駕車 follow us in feedly

在李世乭和柯潔戰敗後,人類在棋類競技場已經難與 AI 爭鋒。很多人會說,身為非職業棋類選手,不在乎下不下的贏棋。想一想,以後會不會連玩遊戲也贏不了 AI……



這件事情已經發生了,且還在加速。之前曾有報導,2017 年 8 月,Open AI 的 DotA 2 遊戲人工智慧在 1V1 中擊敗了人類玩家。

同年 9 月,全球最大的 3D 遊戲引擎 Unity 宣布發布 Unity Machine Learning Agents(ML-Agents),一款提供給遊戲開發者的開源 AI 工具包。Unity 這一開源工具包是 Unity 將機器學習應用在遊戲的成果,AI 已經附能各行各業,那麼在遊戲行業,會帶來哪些有趣的成果?

5 月 11-13 日,Unite Beijing 2018 在中國國家會議中心召開。Unity AI 與機器學習副總裁 Danny Lange 分享了 ML-Agents 的新進展。

ML-Agents 助力遊戲開發

Lange 介紹到,機器學習對於遊戲開發來說很重要,能夠讓遊戲開發過程更加簡單,讓遊戲變得更有吸引力,開發者可以不用每一個方案都編程,遊戲與玩家的互動變化可以讓系統自己學習。就像人從環境當中感知,並做出反應一樣。ML-Agents 可以以相同的方式來訓練這些系統。

Lange 展示了一個 Demo,未來主義的賽車遊戲,Demo 中左邊是人類,右邊是機器學習的 Agent。一開始的時候,Agent 轉彎不好,容易撞車,但是它慢慢學習人類的操作,大概 25 分鐘的訓練之後,你可以看到可能還是有點不穩,但是不會再撞車了。經過不斷的訓練,Agent 能編程非常好的選手。

那麼,具體遊戲場景中,可以有以下應用:機器學習可以應用在幾個方面。第一個是創建 NPC,有多種行為的 NPC,NPC 已經學習了很多人類行為,這會讓與人類的互動更為自然。第二個是遊戲本身。AI 能夠為優化玩家的樂趣進行學習,而不是為開發者的樂趣而進行優化。對於玩家來說,會有更多個性化和定制化的東西。第三個是一個完全不同的領域,就是我們用機器學習在遊戲發表前測試遊戲。確保使用 Agent 代替人類玩家進行遊戲時,你能夠了解遊戲是否能順利進行。

此外,在遊戲中如果人類玩家數量很少,就可以用 Agent 代替人類玩家。最後一個方面是 match making。使用機器學習可以將合適的玩家找出來,匹配在一起玩遊戲。可以讓機器學習系統了解如何優化遊戲時間、為玩家配對以及如何最大化利用遊戲時間。

▲ 由 Unity 創建的一個網球遊戲 RL / ML 模擬訓練環境範例。

ML-Agents 訓練自動駕駛、機器人

從兩年多前,Unity 就開始醞釀轉型,從一家純引擎提供商轉向網路 + 雲端增值服務。Danny Lange 是 Unity 發力 AI 領域的背後推手,在加入 Unity 之前,Lange 曾擔任 Uber 機器學習負責人,在更早之前,Lange 還負責過亞馬遜和微軟的機器學習產品研發。

除了遊戲以外,ML-Agents 在自動駕駛和機器人領域還有很多應用場景。Lange 介紹到,自動駕駛是 ML-Agents 很大的應用領域,因為這樣就不需要像 Uber 那樣在真實的路上駕駛,用機器學習模擬就可以避免在真實道路測試帶來的事故。另外一個領域是機器人,用增強型學習,你可以在虛擬環境去訓練機器人,可以很快地完成幾十萬或者幾百萬次訓練。訓練好的模型可以放到真實的機器人上面應用。

此外,ML-Agents 也可以應用在建築設計中,比如要如何合理設計通道、人流,用機器學習的方式去模擬建築內的路線圖。

(本文由 雷鋒網 授權轉載;首圖來源:Unity