熱門
Unity:使用ML-Agents訓練的足球機器人
Unity Machine Learning Agents Toolkit(簡稱ML-Agents)工具套能幫助用戶在Unity中輕松入門強化學習(RL)。ML-Agents本身帶有多種樣例環(huán)境和模型架構,,可讓用戶利用現(xiàn)成的環(huán)境和架構上手RL,,再通過調(diào)整超參數(shù)來測試和改進結果模型。所有這些都不需新建Unity場景或?qū)胭Y源,,且初期不涉及任何編程。本文介紹的項目由日本公司Ghelia Inc.創(chuàng)立,,他們使用了ML-Agents的soccer訓練環(huán)境來訓練人工智能足球賽,。由Ghelia訓練出的RL模型被部署到索尼的toio機器人上,在真實世界中踢起了足球,。這是一個用ML-Agent訓練機器人,、從“虛擬到現(xiàn)實”的絕佳實例。
Ghelia的CEO兼總裁清水亮以及公司創(chuàng)新和品牌戰(zhàn)略辦公室的首席程序員布留川英一及創(chuàng)新部經(jīng)理Masatoshi Uchida在下文中向我們解釋了Ghelia是如何使用ML-Agents Toolkit來訓練一個真實機器人完成踢足球的,。
通過ML-Agents和索尼t(yī)oio制作的足球機器人
Ghelia是一家專注于強化學習應用的公司,。Ghelia的創(chuàng)始人北野弘明在索尼任職期間創(chuàng)辦了RobocupSoccer足球賽,并開發(fā)出了AIBO機器人,。我們的團隊曾制作過一個空氣曲棍球演示,,但過于繁雜的部件使其變得不夠輕便。接著為了向客戶們解釋強化學習的概念,,我們開始討論制作另一個便于展示的演示場景,。鑒于ML-Agents已經(jīng)有了一個足球訓練環(huán)境,我們完全可以用輕便小巧的索尼t(yī)oio機器人來開發(fā)一個足球游戲,,這種游戲甚至有可能會大火,。
為了將強化學習應用到真正的機器人上,我們需要將機器人本身導入到模擬環(huán)境中,。幸好,,toio已經(jīng)有一個稱為toio SDK for Unity的模擬程序。我們能直接將程序與ML-Agents軟件包結合使用,,即刻開始培訓,。toio SDK僅包含了機器人模型,而足球需要另外制作,。我們使用了Unity的物理引擎在模擬程序中重現(xiàn)了逼真的足球,,還在現(xiàn)實中搜尋能準確還原模擬情景的小球。結果,,高爾夫球的運動可準確匹配訓練的成果,。球的位置在Unity中以transform值表示,在現(xiàn)實里則使用相機進行拍攝,、用OpenCV進行識別,。
實際運行硬件配置
我們使用一個高爾夫球來代表足球,,并將其涂成紅色以提高辨識度。不可思議的是,,我們僅用一部iPhone就能完成足球的探測,,控制所有八個機器人(這是一場四對四的足球比賽),再使用ML-Agents模型進行推導,。
關于如何設置獎勵
一開始,,代理機器人們各自為政,于是我們試著給個人進球設置了負面獎勵,,但這又導致了守門員不會去主動防守球門,。而如果為運球設置積極獎勵,兩隊又只會來回運球,,不會積極射門,,基本上就是在拖時間。最后,,我們決定把獎勵設置為進球得一分,,被進球則扣一分。
項目中最具挑戰(zhàn)的地方
有時實機機器人并不會像模擬的那樣行動,,其背后原因有時讓人捉摸不透,。比方說,如果機器人在一個稍微傾斜的地板上運動時,,有時會導致推導失?。涣硗?,如果球的反彈與模擬不同,,機器人也無法做出訓練好的反應。并且,,機器人對攝像機位置的要求十分嚴苛,,需要達到毫米級的精度,這使得每次線下活動的鏡頭調(diào)整異常困難,。在每一次大型修改后,,模型還需要三天左右的訓練時間來適應,我們總共進行了約六次的訓練環(huán)節(jié)來實現(xiàn)如今的成果,。
對于那些想在項目中用上機器學習的Unity創(chuàng)作者們的建議
AI,,特別是深度學習雖然讓人癡迷,但人們尚未充分理解它,。除非親手嘗試過,,否則你將無法欣賞該技術的難度與美,所以我們建議來自全球的Unity開發(fā)者親自上手體驗一下AI技術,。我想特別指出機器學習非常有趣,,而Unity ML-Agents工具能幫你輕松地上手機器學習這一技術并將其應用到項目中,。
電話:010-50951355 傳真:010-50951352 郵箱:[email protected] ;點擊查看區(qū)域負責人電話
手機:13811546370 / 13720091697 / 13720096040 / 13811548270 /
13811981522 / 18600440988 /13810279720 /13581546145