還記得今年4月伯克利BAIR實驗室發(fā)布的那個會“18般武藝”的DeepMimic模型嗎?他們使用強化學(xué)習(xí)技術(shù),用動作捕捉片段訓(xùn)練模型,教會了AI智能體完成24種動作,走路、跑步就不用說了,還包括翻跟斗、側(cè)翻跳、投球、高踢腿等等高能動作。
體會一下:
回旋踢
跑步
投球
訓(xùn)練每一種動作都需要動作捕捉和深度強化學(xué)習(xí),而BAIR的研究者創(chuàng)造了一個全新的系統(tǒng),教會agent完成復(fù)雜、逼真的動作任務(wù)。
作者Xue Bin Peng等人將這個系統(tǒng)命名為DeepMimic,比已有工作更進一步的是,他們的目標(biāo)是在訓(xùn)練一個agent完成特定任務(wù)的前提下,使它的動作更貼近真實。他們的論文發(fā)表在SIGGRAPH 2018。
除了人形機器人外,他們還訓(xùn)練了Atlas機器人、暴龍、龍等形態(tài)的agent。
Atlas機器人
整個DeepMimic所需要的input分為三部分:一個被稱為Character的Agent模型;希望Agent學(xué)習(xí)的參考動作(reference motion);希望Agent完成的任務(wù)(task)所定義的reward function。
訓(xùn)練之后會得到一個可以控制Agent同時滿足與參考動作相似且可以完成任務(wù)的控制器。
四種翻滾動作
現(xiàn)在,DeepMimic的代碼、數(shù)據(jù)和訓(xùn)練策略已經(jīng)全部開源,感興趣的讀者不妨試試拿來訓(xùn)練自己的“功夫小子”。
開源代碼
SIGGRAPH 2018論文:“DeepMimic: Example-Guided Deep Reinforcement Learning of Physics-Based Character Skills”的代碼。這個框架使用強化學(xué)習(xí)來訓(xùn)練一個模擬人形智能體來模仿來自mocap數(shù)據(jù)的各種運動技能。
項目頁面:
https://xbpeng.github.io/projects/DeepMimic/index.html
C++:
Bullet 2.87 (https://github.com/bulletphysics/bullet3/releases)
Eigen (http://www.eigen.tuxfamily.org/index.php?title=Main_Page)
OpenGL >= 3.2
freeglut (http://freeglut.sourceforge.net/)
glew (http://glew.sourceforge.net/)
PyOpenGL (http://pyopengl.sourceforge.net/)
Tensorflow (https://www.tensorflow.org/)
MPI4Py (https://mpi4py.readthedocs.io/en/stable/install.html)
Misc:
SWIG (http://www.swig.org/)
MPI
Windows:https://docs.microsoft.com/en-us/message-passing-interface/microsoft-mpi
Linux:sudo apt install libopenmpi-dev
Build
模擬環(huán)境是用C++編寫的,python包裝器使用SWIG構(gòu)建。要安裝python依賴項,請運行
pip install -r requirements.txt
請注意,必須在MPI4Py之前安裝MPI。
Windows
wrapper使用DeepMimicCore.sln構(gòu)建。
1. 從配置管理器中選擇x64配置。
2. 在DeepMimicCore的項目屬性下,修改要包含的其他包含目錄
Bullet源目錄
Eigen包括目錄
python包含目錄
3. 修改要指定的其他庫目錄
Bullet lib目錄
python lib目錄
使用Release_Swig配置構(gòu)建DeepMimicCore項目,這應(yīng)該在DeepMimicCore/. 中生成DeepMimicCore.py。
Linux
1. 通過指定以下內(nèi)容修改DeepMimicCore中的Makefile,
EIGEN_DIR:Eigen包含目錄
BULLET_INC_DIR:Bullet源目錄
PYTHON_INC:python包含目錄
PYTHON_LIB:python lib目錄
2. 建立wrapper,
make python
這應(yīng)該在DeepMimicCore/中生成DeepMimicCore.py
如何使用
一旦構(gòu)建了python wrapper,就可以使用Tensorflow完全在python中完成訓(xùn)練。DeepMimic.py運行用于查看模擬的可視化工具。使用mpi_run.py完成訓(xùn)練,它使用MPI在多個進程之間并行訓(xùn)練。
通過指定提供場景配置的參數(shù)文件來運行DeepMimic.py。例如,
python DeepMimic.py --arg_file args/run_humanoid3d_spinkick_args.txt
將為“回旋踢”運行一個預(yù)訓(xùn)練的policy。同樣的,
python DeepMimic.py --arg_file args/kin_char_args.txt
將加載并播放mocap片段。
要訓(xùn)練一個策略(policy),請通過指定參數(shù)文件和工作進程數(shù)來運行mpi_run.py。例如,
python mpi_run.py --arg_file args/train_humanoid3d_spinkick_args.txt --num_workers 4
將訓(xùn)練一個策略,使用4個workers進行“回旋踢”。作為訓(xùn)練方案,它會定期打印統(tǒng)計數(shù)據(jù)并將其記錄到output/,以及最新策略的.ckpt。通常需要大約6千萬個樣本來訓(xùn)練一個策略,而訓(xùn)練16個workers需要一天時間。16個workers可能是框架所能支持的最大workers數(shù)量。
args中已經(jīng)為不同的技能提供了許多參數(shù)文件。train_ [something] _args.txt文件是為mpi_run.py設(shè)置的,用于訓(xùn)練策略,并為DeepMimic.py設(shè)置run_ [something] _args.txt文件以運行其中一個預(yù)訓(xùn)練策略。要運行自己的策略,請使用run_ [something] _args.txt的文件之一,并指定要使用--model_file運行的策略。確保引用的動作--motion_file對應(yīng)于策略所訓(xùn)練的動作,否則策略將無法正常運行。
右上角的圖顯示了價值函數(shù)的預(yù)測
單擊右鍵并拖動將平移相機
單擊左鍵并拖動將對特定位置處的角色施加力
滾輪會放大/縮小
按“r”將重置該episode
按'l'將重新加載參數(shù)文件并重建所有內(nèi)容
按'x'將使用隨機的框投向角色
按空格將暫停/恢復(fù)模擬
按’>'將逐步執(zhí)行模擬
Mocap Data
Mocap clips位于data/motions/中。要播放剪輯,首先修改args/kin_char_args.txt并指定要使用的文件--motion_file,然后運行
python DeepMimic.py --arg_file args/kin_char_args.txt
動作文件遵循JSON格式?!癓oop”字段指定運動是否是循環(huán)的?!皐rap”指定一個循環(huán)運動,該循環(huán)將在結(jié)束時回到起始點,而“none”指定一旦運動結(jié)束就會停止的非循環(huán)運動?!癋rames”列表中的每個向量指定運動中的關(guān)鍵幀。每個框架具有以下格式:

位置以米為單位指定,球面關(guān)節(jié)的3D旋轉(zhuǎn)指定為四元數(shù)(w,x,y,z),轉(zhuǎn)動關(guān)節(jié)(例如膝關(guān)節(jié)和肘關(guān)節(jié))的1維旋轉(zhuǎn)用弧度的標(biāo)量表示。根位置和旋轉(zhuǎn)在世界坐標(biāo)中,但所有其他關(guān)節(jié)旋轉(zhuǎn)都在關(guān)節(jié)的局部坐標(biāo)中。要使用你自己的動作剪輯,請將其轉(zhuǎn)換為類似格式的JSON文件。
-
AI
+關(guān)注
關(guān)注
91文章
39083瀏覽量
299643 -
智能體
+關(guān)注
關(guān)注
1文章
436瀏覽量
11560 -
強化學(xué)習(xí)
+關(guān)注
關(guān)注
4文章
270瀏覽量
11936
原文標(biāo)題:強化學(xué)習(xí)練就18般武藝!伯克利開源DeepMimic
文章出處:【微信號:AI_era,微信公眾號:新智元】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
UC伯克利教授Stuart Russell:人工智能基礎(chǔ)概念與34個誤區(qū)
伯克利博士論文:DC-DC轉(zhuǎn)換器
伯克利那個會“18般武藝”的DeepMimic模型開源了!
評論