天天看點

遊戲大咖Unity釋出機器學習工具,可大幅提高NPC的“智商”

本文來自AI新媒體量子位(QbitAI)

遊戲大咖Unity釋出機器學習工具,可大幅提高NPC的“智商”

歡迎來到遊戲世界。

沒聽過Unity沒關系,你肯定對王者榮耀、紀念碑谷、神廟逃亡2、Pokémon GO等遊戲了如指掌。沒錯,Unity就是它們的遊戲引擎。

遊戲大咖Unity釋出機器學習工具,可大幅提高NPC的“智商”

今天,Unity宣布推出Unity Machine Learning Agent(ML-Agent),将遊戲引擎連接配接到谷歌TensorFlow等機器學習架構中。通過深度強化學習算法,讓非玩家角色(NPC)通過不斷嘗試和犯錯,變得更有創造性和政策性。

在遊戲開發的過程中,既不能讓玩家因過于簡單而無聊,也不能因難度太高喪失玩家興趣。Unity開發者Arthur Juliani表示,Unity的ML-Agent将幫助增加遊戲的可玩性。

△ Unity工程師自述ML-Agent在遊戲開發中的意義

過去,開發人員需要手工編寫代碼,讓訓練環境中的互相作用逐漸訓練Agent,典型場景是一個單一環境+緊密耦合的Agent。Agent的動作改變環境狀态,環境回報給Agent各種獎勵。

遊戲大咖Unity釋出機器學習工具,可大幅提高NPC的“智商”

△ 典型的強化學習訓練循環

Unity希望設計一個系統,讓遊戲引擎更靈活易用。是以,Unity推出了ML-Agents,并且釋出了開放測試版SDK。ML-Agents SDK讓開發者可用Python API将Unity Editor中建立的遊戲和模拟場景轉換成可被深度強化學習、進化政策或其他機器學習方法訓練的環境。

遊戲大咖Unity釋出機器學習工具,可大幅提高NPC的“智商”

△ 在ML-Agents中配置學習環境的可視化描述

對任何學習環境來說,Agent、Brain和Academy是必不可少的三大對象。

每個Agent都可以有獨特的狀态和觀察值,可在環境中單獨采取動作并擷取獎勵。Agent的行動由與之相關的Brain決定的,每個Brain定義一個特定的狀态和動作空間,并負責決定關聯的Agent将采取哪些動作。之後,Brain将資訊彙總到Academy中,定義了環境的範圍,比如引擎配置、跳幀控制、場景長度等。

Agent、Brain和獎勵不同的連接配接方式能創造不同場景,是以,Unity的ML-Agents夠解鎖各種訓練場景。對于訓練Agent的新手來說,Unity提供了典型的環境配置示例,并解釋了如何用ML-Agents SDK建立它。

Unity在官方部落格中展示了一些不同場景的訓練執行個體,經過一段時間的訓練,Agent的表現都很驚人:

遊戲大咖Unity釋出機器學習工具,可大幅提高NPC的“智商”

△ 30秒内訓練Agent玩3D平衡球

Unity遊戲引擎能高精度模拟現實場景,比如物體的紋理、光效、材質等。Unity AI和機器學習技術部的副總裁Danny Lange在接受采訪時表示,Unity的ML-Agents的作用并不局限于虛拟遊戲,還将加速現實生活中機器人等技術的進步。比如對自動駕駛行業來說,可以在計算機生成的但逼真的虛拟環境中較為真實地訓練它們。

遊戲大咖Unity釋出機器學習工具,可大幅提高NPC的“智商”

最後,附Unity官方部落格介紹:

https://blogs.unity3d.com/cn/2017/09/19/introducing-unity-machine-learning-agents/

及ML-Agents GitHub代碼:

https://github.com/Unity-Technologies/ml-Agents

祝你玩得愉快~

— 完 —

本文作者:安妮

原文釋出時間:2017-09-20