DeepLoco : Dynamic Locomotion
Skills Using Hierarchical Deep
Reinforcement Learning
北海道大学 工学部
調和系工学研究室
学部四年 吉田拓海
2017年7月7日
論文紹介
• DeepLoco : Dynamic Locomotion Skills Using Hierarchical Deep
Reinforcement Learning
– Transactions on Graphics (Proc. ACM SIGGRAPH 2017)
– XUE BIN PENG and GLEN BERSETH,University of British Columbia
– KANGKANG YIN,National University of Singapore
– MICHIEL VAN DE PANNE,University of British Columbia
• URL:http://www.cs.ubc.ca/~van/papers/2017-TOG-deepLoco/
• 概要
• エージェントに歩行技術を学習させた
• 結果は3D二足歩行シミュレーションで実証される
• 2レベルの階層的制御フレームワークを採用
• コントローラはどちらもdeep reinforcement learning で学習される
1
論文紹介
2
エージェントにタスクを学習させるために、
高レベル (HLC)と低レベル (LLC)の2レベルの階層制御システムを実装
システムの概要
3
HLC(High-level controller)
– 𝑠 𝐻:状態
– 𝑔 𝐻: 目標
– 𝑟 𝐻: 報酬
– 𝑎 𝐻: 行動
LLC(Low-level controller)
– 𝑠 𝐿: 状態
– 𝑔 𝐿: 目標
– 𝑟𝐿: 報酬
– 𝑎 𝐿: 行動
• HLCが高レベル目標𝑔 𝐻を処理し、LLCに低レベル目標𝑔 𝐿を提供する
• LLCからの行動𝑎 𝐿はシミュレーションに適用され、状態𝑠 𝐻, 𝑠 𝐿が更新される
システムの挙動
4
HLCへ状態𝑠 𝐻と目標𝑔 𝐻が入力として渡される
𝑠 𝐻:エージェントの情報 + 地形情報 𝑔 𝐻:タスクによって異なる
例 : Path Following
𝑔 𝐻 = (θ 𝑡𝑎𝑟, 𝑑 𝑡𝑎𝑟) 目標までの方向と距離
システムの挙動
5
HLCが状態𝑠 𝐻 = 𝑇, 𝐶 と目標𝑔 𝐻をネットワークの入力として行動𝑎 𝐻を出力し、
LLCに目標𝑔 𝐿として渡す
𝑎 𝐻 = 𝑝0, 𝑝1, 𝜃 𝑟𝑜𝑜𝑡
次の2歩 + 目標方向
T:地形情報
C:エージェント情報
システムの挙動
6
LLCに状態𝑠 𝐿と目標𝑔 𝐿が入力として渡される
𝑠 𝐿:エージェントの情報 𝑔 𝐿 = 𝑝0, 𝑝1, 𝜃 𝑟𝑜𝑜𝑡
次の2歩 + 目標方向
システムの挙動
7
LLCが状態𝑠 𝐿と目標𝑔 𝐿をネットワークの入力として行動𝑎 𝐿を出力
𝑎 𝐿=各関節のPD目標角
システムの挙動
8
LLCの出力(𝑎 𝐿)がシミュレーションに適用される事によってエージェントが歩く
シミュレーションはHLC,LLCに更新された状態𝑠 𝐻, 𝑠 𝐿を渡す
𝑎 𝐿=各関節のPD目標角 𝑠 𝐻:エージェントの情報 + 地形情報 𝑠 𝐿:エージェントの情報
強化学習 (Reinforcement Learning)
エージェント
9
行動
• 膝の角度 X度
• 踵の角度 Y度
• etc
エージェント
報酬
𝑟𝑡 = +1
歩けたので
報酬𝑟𝑡 = +1を与える
強化学習 (Reinforcement Learning)
エージェント
10
行動
• 膝の角度 Z度
• 踵の角度 W度
• etc
エージェント
報酬
𝑟𝑡 = 0
転んだので報酬𝑟𝑡は0
強化学習 (Reinforcement Learning)
• 環境から得られる最終的な累積報酬を最大化することで学習を行う
• 累積報酬 : 𝑘=0 𝛾 𝑘
𝑟𝑡+𝑘+1
• 𝛾 : 割引率 (遠い将来に得られる報酬ほど割り引いて評価する)
• Actor-Critic 法によって累積報酬を最大化する方策を学習
• 方策 𝜋 𝑠, 𝑔 = 𝑎
• 状態𝑠, 目標𝑔の時には行動𝑎をとる
• 行動を選択する”actor”
• 価値関数 𝑉(𝑠, 𝑔)
• ある方策𝜋をとる、状態𝑠, 目標𝑔の時の累積報酬
• actorによって選択された行動を批判”critic”
• 更新式
• 𝑉 𝑠𝑡, 𝑔𝑡 ← 𝑉 𝑠𝑡, 𝑔𝑡 + 𝛼[𝑟𝑡+1 + 𝛾𝑉 𝑠𝑡+1, 𝑔𝑡+1 − 𝑉 𝑠𝑡, 𝑔𝑡 ]
11
強化学習 (Reinforcement Learning)
• 価値関数 𝑉(𝑠, 𝑔)
• ある方策𝜋をとる、状態𝑠, 目標𝑔の時の累積報酬
• actorによって選択された行動を批判”critic”
• 更新式
• 𝑉 𝑠𝑡, 𝑔𝑡 ← 𝑉 𝑠𝑡, 𝑔𝑡 + 𝛼[𝑟𝑡+1 + 𝛾𝑉 𝑠𝑡+1, 𝑔𝑡+1 − 𝑉 𝑠𝑡, 𝑔𝑡 ]
12
𝑉𝑡
𝑉𝑡+1
𝛾𝑉𝑡+1
報酬
𝑟𝑡
TD誤差
TD誤差
状態𝑠𝑡 状態𝑠𝑡+1
TD誤差 > 0
• 行った行動は価値を高めた
• その行動がより選択されるようにする
学習
13
• 行動 𝑎 = 𝜇 𝑠, 𝑔|𝜃𝜇 (= 方策𝜋 𝑠, 𝑔 )
• パラメータ𝜃𝜇のニューラルネットワークの出力
• 状態𝑠, 目標𝑔が与えられた時の最適な行動となるように学習
• 価値関数𝑉 𝑠, 𝑔 𝜃𝑣
• パラメータ𝜃𝑣のニューラルネットワークの出力
• 状態𝑠, 目標𝑔が与えられた時の累積報酬となるように学習
• 行動(方策)の最適化に利用
λ=0:決定論的(実行時)
λ=1:確率論的(学習時)
探査ノイズ𝑁を加えることにより行動探索の幅が広がる
𝑎 = 𝜇 𝑠, 𝑔 + 𝜆𝑁, 𝑁~𝐺(0, Σ)
𝜆~Ber 𝜖 : ε-greedy法
学習Algorithm
1. 歩かせる
2. 価値関数𝑉 𝑠, 𝑔 𝜃𝑣 の更新
3. 行動𝑎 𝑠, 𝑔 𝜃𝜇 の更新
4. 1に戻る
14
スタート 終了(時間経過 or 転倒)
1エピソード
学習Algorithm
1. 歩かせる
2. 価値関数𝑉 𝑠, 𝑔 𝜃𝑣 の更新
3. 行動𝑎 𝑠, 𝑔 𝜃𝜇 の更新
4. 1に戻る
15
出力
𝑉 𝑠, 𝑔 𝜃𝑣
見積り
TD誤差 ∶ 𝑟𝑡+1 + 𝛾𝑉 𝑠𝑡+1, 𝑔𝑡+1 𝜃𝑣 − 𝑉(𝑠𝑡, 𝑔𝑡|𝜃𝑣)
行動して得られた評価値
TD誤差が小さくなるように𝜃𝑣を更新
𝜃𝑣: 価値関数のNNのパラメータ
学習Algorithm
1. 歩かせる
2. 価値関数𝑉 𝑠, 𝑔 𝜃𝑣 の更新
3. 行動𝑎 𝑠, 𝑔 𝜃𝜇 の更新
4. 1に戻る
16
出力
𝜇 𝑠, 𝑔 𝜃𝜇
見積り
TD誤差 ∶ 𝑟𝑡+1 + 𝛾𝑉 𝑠𝑡+1, 𝑔𝑡+1 𝜃𝑣 − 𝑉(𝑠𝑡, 𝑔𝑡|𝜃𝑣)
行動して得られた評価値
TD誤差が正
行った行動は
価値を高めた
よりその行動が選択されるように𝜃𝜇を更新
𝜃𝜇: 方策のNNのパラメータ
学習Algorithm
1. 歩かせる
2. 価値関数𝑉 𝑠, 𝑔 𝜃𝑣 の更新
3. 行動𝑎 𝑠, 𝑔 𝜃𝜇 の更新
4. 1に戻る
17
これを繰り返すことによって価値関数、方策が最適化され学習が進む
報酬
18
• 報酬 𝑟𝑡= 𝑟(𝑠𝑡, 𝑔𝑡, 𝑎 𝑡)
• 与えられた目標𝑔𝑡の状態𝑠𝑡において行動𝑎 𝑡を実行する望ましさ
望ましい行動に高い報酬を割り当て、望ましくない報酬を低くすることにより、
エージェントの行動を形成可能
HLCの目的:ナビゲーション等の高度なタスクを達成
LLCの目的:エージェントを歩かせる
それぞれに合った報酬を設定
LLC 報酬
Reference Motionは下のサイトから収集
http://animation.comp.nus.edu.sg/nusmocap.html
19
Reference Motion を模倣するように報酬を設定
LLCの目的:エージェントを歩かせる
Reference Motion
LLC 報酬
Reference Motion の状態と近いほど報酬が高くなるように設定
20
𝑟𝐿 = 𝑤 𝑝𝑜𝑠𝑒 𝑟𝑝𝑜𝑠𝑒 + 𝑤 𝑣𝑒𝑙 𝑟𝑣𝑒𝑙 + 𝑤 𝑟𝑜𝑜𝑡 𝑟𝑟𝑜𝑜𝑡 + 𝑤𝑐𝑜𝑚 𝑟𝑐𝑜𝑚 + 𝑤 𝑒𝑛𝑑 𝑟𝑒𝑛𝑑 + 𝑤ℎ𝑒𝑎𝑑𝑖𝑛𝑔 𝑟ℎ𝑒𝑎𝑑𝑖𝑛𝑔
LLC 報酬
Reference Motion の状態と近いほど報酬が高くなるように設定
21
𝑟𝐿 = 𝑤 𝑝𝑜𝑠𝑒 𝑟𝑝𝑜𝑠𝑒 + 𝑤 𝑣𝑒𝑙 𝑟𝑣𝑒𝑙 + 𝑤 𝑟𝑜𝑜𝑡 𝑟𝑟𝑜𝑜𝑡 + 𝑤𝑐𝑜𝑚 𝑟𝑐𝑜𝑚 + 𝑤 𝑒𝑛𝑑 𝑟𝑒𝑛𝑑 + 𝑤ℎ𝑒𝑎𝑑𝑖𝑛𝑔 𝑟ℎ𝑒𝑎𝑑𝑖𝑛𝑔
• Reference Motionを模倣するように設定された項
• 𝑟𝑝𝑜𝑠𝑒, 𝑟𝑣𝑒𝑙 : 関節の動きについて
• 𝑟𝑟𝑜𝑜𝑡 : 骨盤の高さについて
• 𝑟𝑐𝑜𝑚 : 重心の速度について
LLC 報酬
Reference Motion の状態と近いほど報酬が高くなるように設定
22
𝑟𝐿 = 𝑤 𝑝𝑜𝑠𝑒 𝑟𝑝𝑜𝑠𝑒 + 𝑤 𝑣𝑒𝑙 𝑟𝑣𝑒𝑙 + 𝑤 𝑟𝑜𝑜𝑡 𝑟𝑟𝑜𝑜𝑡 + 𝑤𝑐𝑜𝑚 𝑟𝑐𝑜𝑚 + 𝑤 𝑒𝑛𝑑 𝑟𝑒𝑛𝑑 + 𝑤ℎ𝑒𝑎𝑑𝑖𝑛𝑔 𝑟ℎ𝑒𝑎𝑑𝑖𝑛𝑔
• 歩行計画𝑔 𝐿に従うように設計された項
• 𝑟𝑒𝑛𝑑 : 脚の位置について
• 𝑟ℎ𝑒𝑎𝑑𝑖𝑛𝑔 : 進行方向について
𝑔 𝐿 = 𝑝0, 𝑝1, 𝜃 𝑟𝑜𝑜𝑡
LLC スタイル(歩き方)の変更
𝑤𝑠𝑡𝑦𝑙𝑒, 𝑐 𝑠𝑡𝑦𝑙𝑒を変更することでスタイル(歩き方)を変更可能
Straight Legs High-Knees
23
Style Modification
𝑟𝑝𝑜𝑠𝑒 = exp −
𝑖
𝑤𝑖 𝑑 𝑞𝑖 𝑡 , 𝑞𝑖
2 − 𝑤𝑠𝑡𝑦𝑙𝑒 𝑐 𝑠𝑡𝑦𝑙𝑒
Nominal Walk (スタイル指定なし)
𝑐 𝑠𝑡𝑦𝑙𝑒 = 𝑑(𝑞𝐼, 𝑞 𝑘𝑛𝑒𝑒)2
𝑐 𝑠𝑡𝑦𝑙𝑒 = (ℎ 𝑘𝑛𝑒𝑒 − ℎ 𝑘𝑛𝑒𝑒)2
スタイル(歩き方)の変更
𝑤𝑠𝑡𝑦𝑙𝑒, 𝑐 𝑠𝑡𝑦𝑙𝑒を変更することでスタイル(歩き方)を変更可能
Forward Lean Sideways Lean
24
Style Modification
𝑟𝑝𝑜𝑠𝑒 = exp −
𝑖
𝑤𝑖 𝑑 𝑞𝑖 𝑡 , 𝑞𝑖
2 − 𝑤𝑠𝑡𝑦𝑙𝑒 𝑐 𝑠𝑡𝑦𝑙𝑒
Nominal Walk (スタイル指定なし)
𝑐𝑠𝑡𝑦𝑙𝑒 = 𝑑( 𝑞 𝑡 𝑤𝑎𝑖𝑠𝑡, 𝑞 𝑤𝑎𝑖𝑠𝑡)2
HLC
• Path Following
岩石の多い地形に刻まれた細い道を進むように訓練される
目標位置は、経路に沿ってランダムに配置され、エージェントが目標の
1m以内にあるときに経路に沿って進む
目標𝑔 𝐻
𝑔 𝐻 = (θ 𝑡𝑎𝑟, 𝑑 𝑡𝑎𝑟) 目標位置までの方向と距離
𝑢 𝑡𝑎𝑟:エージェントから目標へ向く水平面上の単位ベクトル
𝑣𝑐𝑜𝑚:エージェントの速度
𝑣𝑐𝑜𝑚:エージェントが目標に向かって移動する必要のある速度
25
報酬𝑟 𝐻
エージェントが目標位置に向かって所望の速度で動くように設計
𝑟 𝐻 = exp − min(0, 𝑢 𝑡𝑎𝑟
T
𝑣𝑐𝑜𝑚 − 𝑣𝑐𝑜𝑚)
2
HLC
• Soccer Dribble
ボールを目標位置までドリブルして移動させるように訓練
ボール:半径0.2m , 質量0.1kg
26
目標𝑔 𝐻
𝑔 𝐻 = (𝜃𝑡𝑎𝑟, 𝑑 𝑡𝑎𝑟, 𝜃 𝑏𝑎𝑙𝑙, 𝑑 𝑏𝑎𝑙𝑙, ℎ 𝑏𝑎𝑙𝑙, 𝑣 𝑏𝑎𝑙𝑙, 𝜔 𝑏𝑎𝑙𝑙)
報酬𝑟 𝐻
𝑟 𝐻 = 𝑤𝑐𝑣 𝑟𝑐𝑣 + 𝑤𝑐𝑝 𝑟𝑐𝑝 + 𝑤 𝑏𝑣 𝑟𝑏𝑣 + 𝑤 𝑏𝑝 𝑟𝑏𝑝
HLC
• Soccer Dribble
ボールを目標位置までドリブルして移動させるように訓練
ボール:半径0.2m , 質量0.1kg
27
目標𝑔 𝐻
𝑔 𝐻 = (𝜃𝑡𝑎𝑟, 𝑑 𝑡𝑎𝑟, 𝜃 𝑏𝑎𝑙𝑙, 𝑑 𝑏𝑎𝑙𝑙, ℎ 𝑏𝑎𝑙𝑙, 𝑣 𝑏𝑎𝑙𝑙, 𝜔 𝑏𝑎𝑙𝑙)
報酬𝑟 𝐻
𝑟 𝐻 = 𝑤𝑐𝑣 𝑟𝑐𝑣 + 𝑤𝑐𝑝 𝑟𝑐𝑝 + 𝑤 𝑏𝑣 𝑟𝑏𝑣 + 𝑤 𝑏𝑝 𝑟𝑏𝑝
𝜃𝑡𝑎𝑟, 𝑑 𝑡𝑎𝑟 : ボールに対する目標位置の方向、距離
𝜃 𝑏𝑎𝑙𝑙, 𝑑 𝑏𝑎𝑙𝑙 : エージェントに対するボールの方向、距離
ℎ 𝑏𝑎𝑙𝑙, 𝑣 𝑏𝑎𝑙𝑙, 𝜔 𝑏𝑎𝑙𝑙 : ボールの高さ、速度、角速度
𝑔 𝐻 = (𝜃𝑡𝑎𝑟, 𝑑 𝑡𝑎𝑟, 𝜃 𝑏𝑎𝑙𝑙, 𝑑 𝑏𝑎𝑙𝑙, ℎ 𝑏𝑎𝑙𝑙, 𝑣 𝑏𝑎𝑙𝑙, 𝜔 𝑏𝑎𝑙𝑙)
HLC
• Soccer Dribble
ボールを目標位置までドリブルして移動させるように訓練
ボール:半径0.2m , 質量0.1kg
28
目標𝑔 𝐻
𝑔 𝐻 = (𝜃𝑡𝑎𝑟, 𝑑 𝑡𝑎𝑟, 𝜃 𝑏𝑎𝑙𝑙, 𝑑 𝑏𝑎𝑙𝑙, ℎ 𝑏𝑎𝑙𝑙, 𝑣 𝑏𝑎𝑙𝑙, 𝜔 𝑏𝑎𝑙𝑙)
報酬𝑟 𝐻
𝑟 𝐻 = 𝑤𝑐𝑣 𝑟𝑐𝑣 + 𝑤𝑐𝑝 𝑟𝑐𝑝 + 𝑤 𝑏𝑣 𝑟𝑏𝑣 + 𝑤 𝑏𝑝 𝑟𝑏𝑝
𝑟 𝐻 = 𝑤𝑐𝑣 𝑟𝑐𝑣 + 𝑤𝑐𝑝 𝑟𝑐𝑝 + 𝑤 𝑏𝑣 𝑟𝑏𝑣 + 𝑤 𝑏𝑝 𝑟𝑏𝑝
エージェントがボールへ向かって移動するように設定
𝑟𝑐𝑣 = exp − min(0, 𝑢 𝑏𝑎𝑙𝑙
T
𝑣𝑐𝑜𝑚 − 𝑣𝑐𝑜𝑚)
2
𝑢 𝑏𝑎𝑙𝑙 : エージェントからボールへ向く単位ベクトル
𝑣𝑐𝑜𝑚 : エージェントの速度
𝑣𝑐𝑜𝑚 : エージェントに求める速度
HLC
• Soccer Dribble
ボールを目標位置までドリブルして移動させるように訓練
ボール:半径0.2m , 質量0.1kg
29
目標𝑔 𝐻
𝑔 𝐻 = (𝜃𝑡𝑎𝑟, 𝑑 𝑡𝑎𝑟, 𝜃 𝑏𝑎𝑙𝑙, 𝑑 𝑏𝑎𝑙𝑙, ℎ 𝑏𝑎𝑙𝑙, 𝑣 𝑏𝑎𝑙𝑙, 𝜔 𝑏𝑎𝑙𝑙)
報酬𝑟 𝐻
𝑟 𝐻 = 𝑤𝑐𝑣 𝑟𝑐𝑣 + 𝑤𝑐𝑝 𝑟𝑐𝑝 + 𝑤 𝑏𝑣 𝑟𝑏𝑣 + 𝑤 𝑏𝑝 𝑟𝑏𝑝
𝑟 𝐻 = 𝑤𝑐𝑣 𝑟𝑐𝑣 + 𝑤𝑐𝑝 𝑟𝑐𝑝 + 𝑤 𝑏𝑣 𝑟𝑏𝑣 + 𝑤 𝑏𝑝 𝑟𝑏𝑝
エージェントがボールの近くに居続けるように設定
𝑟𝑐𝑝 = exp −𝑑 𝑏𝑎𝑙𝑙
2
𝑑 𝑏𝑎𝑙𝑙 : エージェントとボールの距離
HLC
• Soccer Dribble
ボールを目標位置までドリブルして移動させるように訓練
ボール:半径0.2m , 質量0.1kg
30
目標𝑔 𝐻
𝑔 𝐻 = (𝜃𝑡𝑎𝑟, 𝑑 𝑡𝑎𝑟, 𝜃 𝑏𝑎𝑙𝑙, 𝑑 𝑏𝑎𝑙𝑙, ℎ 𝑏𝑎𝑙𝑙, 𝑣 𝑏𝑎𝑙𝑙, 𝜔 𝑏𝑎𝑙𝑙)
報酬𝑟 𝐻
𝑟 𝐻 = 𝑤𝑐𝑣 𝑟𝑐𝑣 + 𝑤𝑐𝑝 𝑟𝑐𝑝 + 𝑤 𝑏𝑣 𝑟𝑏𝑣 + 𝑤 𝑏𝑝 𝑟𝑏𝑝
𝑟 𝐻 = 𝑤𝑐𝑣 𝑟𝑐𝑣 + 𝑤𝑐𝑝 𝑟𝑐𝑝 + 𝑤 𝑏𝑣 𝑟𝑏𝑣 + 𝑤 𝑏𝑝 𝑟𝑏𝑝
エージェントがボールを目標位置に向かって移動させるように設定
𝑟𝑏𝑣 = exp − min(0, 𝑢 𝑡𝑎𝑟
T
𝑣 𝑏𝑎𝑙𝑙 − 𝑣 𝑏𝑎𝑙𝑙)
2
𝑢 𝑡𝑎𝑟 : ボールから目標位置へ向く単位ベクトル
𝑣 𝑏𝑎𝑙𝑙 : ボールの速度
𝑣 𝑏𝑎𝑙𝑙 : ボールに求める速度
HLC
• Soccer Dribble
ボールを目標位置までドリブルして移動させるように訓練
ボール:半径0.2m , 質量0.1kg
31
目標𝑔 𝐻
𝑔 𝐻 = (𝜃𝑡𝑎𝑟, 𝑑 𝑡𝑎𝑟, 𝜃 𝑏𝑎𝑙𝑙, 𝑑 𝑏𝑎𝑙𝑙, ℎ 𝑏𝑎𝑙𝑙, 𝑣 𝑏𝑎𝑙𝑙, 𝜔 𝑏𝑎𝑙𝑙)
報酬𝑟 𝐻
𝑟 𝐻 = 𝑤𝑐𝑣 𝑟𝑐𝑣 + 𝑤𝑐𝑝 𝑟𝑐𝑝 + 𝑤 𝑏𝑣 𝑟𝑏𝑣 + 𝑤 𝑏𝑝 𝑟𝑏𝑝
𝑟 𝐻 = 𝑤𝑐𝑣 𝑟𝑐𝑣 + 𝑤𝑐𝑝 𝑟𝑐𝑝 + 𝑤 𝑏𝑣 𝑟𝑏𝑣 + 𝑤 𝑏𝑝 𝑟𝑏𝑝
エージェントがボールを目標位置の近くに保つように設定
𝑟𝑐𝑣 = exp −𝑑 𝑡𝑎𝑟
2
𝑑 𝑡𝑎𝑟 : ボールと目標位置の距離
Training
• 各エピソード開始時にエージェントがデフォルトポーズに初期化される
• エピソードは最大200秒シミュレートされる
• エージェントが転倒するとエピソード終了、残りの報酬は0
• エージェントの胴体が地面に接触すると、転倒が検出される
• LLCは約600万回訓練(約2日間)
• HLCは約100万回訓練(約7日間)
32
• エージェント
• 身長 : 1.6m
• 体重 : 42kg
• 8本のリンクを持つ
• 各脚に3本
• 胴に2本
• 膝関節は1自由度
• その他関節は3自由度
LLC Performance (Reference Motion)
• Reference Motion の豊富さは学習速度、最終性能に影響を与える
• Reference Motion がなければLLCは歩行技術を学習できない
NCR:正規化された累積報酬
33
style : Nominal Walk
LLC Performance (Reference Motion)
34
LLC Performance (ロバスト性)
ロバスト性
Forward,Side : エージェントが許容できる最大の摂動力
Incline,Decline : エージェントが20秒間歩行できる最も急な傾斜
LLCのロバスト性は探査ノイズが原因と考えられる
35
Incline摂動力のテスト
LLC Performance (ロバスト性)
36
階層構造
階層構造の利点
• そもそも階層構造がないとタスクを達成できない
• 再利用性
• Fine Tuningによって学習時間を短縮
37
Performance (階層構造)
• 階層の有無の比較
制御階層(HLC)がなければ、LLCはタスクを実行できない
No Hierarchy
LLCの入力に𝑔 𝐻が追加され、畳み込み層+地形マップTも追加
このLLCはReference Motionを模倣し、高水準タスクを実行するように訓練される
38
再利用性 (階層構造)
39
HLC
ランダム初期化
HLC
ランダム初期化
• HLCの学習
LLC
(Nominal Walk)
HLC
(Nominal Walk)
HLC
(Nominal Walk)
LLC
(High-Knees)
LLC
(High-Knees)
HLC
(High-Knees)
HLC
(High-Knees)
• 再学習
• Fine Tuning
• 学習の推移、結果を比較
(未学習HLC) (学習済みLLC) (学習済みHLC)
再利用性 (階層構造)
• Nominal Walk LCC に対して訓練されたHLCを使用して20万回fine tuning
を適用
• 再学習はランダム初期化から100万回
再学習する場合に比べて、学習時間を大幅に短縮
40
まとめ
• 階層分解によって、LLCとHLCを再利用することができる
• モーションスタイルを容易に変更可能
• ロバスト性の高いコントローラを生成
41

DeepLoco

  • 1.
    DeepLoco : DynamicLocomotion Skills Using Hierarchical Deep Reinforcement Learning 北海道大学 工学部 調和系工学研究室 学部四年 吉田拓海 2017年7月7日
  • 2.
    論文紹介 • DeepLoco :Dynamic Locomotion Skills Using Hierarchical Deep Reinforcement Learning – Transactions on Graphics (Proc. ACM SIGGRAPH 2017) – XUE BIN PENG and GLEN BERSETH,University of British Columbia – KANGKANG YIN,National University of Singapore – MICHIEL VAN DE PANNE,University of British Columbia • URL:http://www.cs.ubc.ca/~van/papers/2017-TOG-deepLoco/ • 概要 • エージェントに歩行技術を学習させた • 結果は3D二足歩行シミュレーションで実証される • 2レベルの階層的制御フレームワークを採用 • コントローラはどちらもdeep reinforcement learning で学習される 1
  • 3.
  • 4.
    システムの概要 3 HLC(High-level controller) – 𝑠𝐻:状態 – 𝑔 𝐻: 目標 – 𝑟 𝐻: 報酬 – 𝑎 𝐻: 行動 LLC(Low-level controller) – 𝑠 𝐿: 状態 – 𝑔 𝐿: 目標 – 𝑟𝐿: 報酬 – 𝑎 𝐿: 行動 • HLCが高レベル目標𝑔 𝐻を処理し、LLCに低レベル目標𝑔 𝐿を提供する • LLCからの行動𝑎 𝐿はシミュレーションに適用され、状態𝑠 𝐻, 𝑠 𝐿が更新される
  • 5.
    システムの挙動 4 HLCへ状態𝑠 𝐻と目標𝑔 𝐻が入力として渡される 𝑠𝐻:エージェントの情報 + 地形情報 𝑔 𝐻:タスクによって異なる 例 : Path Following 𝑔 𝐻 = (θ 𝑡𝑎𝑟, 𝑑 𝑡𝑎𝑟) 目標までの方向と距離
  • 6.
    システムの挙動 5 HLCが状態𝑠 𝐻 =𝑇, 𝐶 と目標𝑔 𝐻をネットワークの入力として行動𝑎 𝐻を出力し、 LLCに目標𝑔 𝐿として渡す 𝑎 𝐻 = 𝑝0, 𝑝1, 𝜃 𝑟𝑜𝑜𝑡 次の2歩 + 目標方向 T:地形情報 C:エージェント情報
  • 7.
    システムの挙動 6 LLCに状態𝑠 𝐿と目標𝑔 𝐿が入力として渡される 𝑠𝐿:エージェントの情報 𝑔 𝐿 = 𝑝0, 𝑝1, 𝜃 𝑟𝑜𝑜𝑡 次の2歩 + 目標方向
  • 8.
  • 9.
    システムの挙動 8 LLCの出力(𝑎 𝐿)がシミュレーションに適用される事によってエージェントが歩く シミュレーションはHLC,LLCに更新された状態𝑠 𝐻,𝑠 𝐿を渡す 𝑎 𝐿=各関節のPD目標角 𝑠 𝐻:エージェントの情報 + 地形情報 𝑠 𝐿:エージェントの情報
  • 10.
    強化学習 (Reinforcement Learning) エージェント 9 行動 •膝の角度 X度 • 踵の角度 Y度 • etc エージェント 報酬 𝑟𝑡 = +1 歩けたので 報酬𝑟𝑡 = +1を与える
  • 11.
    強化学習 (Reinforcement Learning) エージェント 10 行動 •膝の角度 Z度 • 踵の角度 W度 • etc エージェント 報酬 𝑟𝑡 = 0 転んだので報酬𝑟𝑡は0
  • 12.
    強化学習 (Reinforcement Learning) •環境から得られる最終的な累積報酬を最大化することで学習を行う • 累積報酬 : 𝑘=0 𝛾 𝑘 𝑟𝑡+𝑘+1 • 𝛾 : 割引率 (遠い将来に得られる報酬ほど割り引いて評価する) • Actor-Critic 法によって累積報酬を最大化する方策を学習 • 方策 𝜋 𝑠, 𝑔 = 𝑎 • 状態𝑠, 目標𝑔の時には行動𝑎をとる • 行動を選択する”actor” • 価値関数 𝑉(𝑠, 𝑔) • ある方策𝜋をとる、状態𝑠, 目標𝑔の時の累積報酬 • actorによって選択された行動を批判”critic” • 更新式 • 𝑉 𝑠𝑡, 𝑔𝑡 ← 𝑉 𝑠𝑡, 𝑔𝑡 + 𝛼[𝑟𝑡+1 + 𝛾𝑉 𝑠𝑡+1, 𝑔𝑡+1 − 𝑉 𝑠𝑡, 𝑔𝑡 ] 11
  • 13.
    強化学習 (Reinforcement Learning) •価値関数 𝑉(𝑠, 𝑔) • ある方策𝜋をとる、状態𝑠, 目標𝑔の時の累積報酬 • actorによって選択された行動を批判”critic” • 更新式 • 𝑉 𝑠𝑡, 𝑔𝑡 ← 𝑉 𝑠𝑡, 𝑔𝑡 + 𝛼[𝑟𝑡+1 + 𝛾𝑉 𝑠𝑡+1, 𝑔𝑡+1 − 𝑉 𝑠𝑡, 𝑔𝑡 ] 12 𝑉𝑡 𝑉𝑡+1 𝛾𝑉𝑡+1 報酬 𝑟𝑡 TD誤差 TD誤差 状態𝑠𝑡 状態𝑠𝑡+1 TD誤差 > 0 • 行った行動は価値を高めた • その行動がより選択されるようにする
  • 14.
    学習 13 • 行動 𝑎= 𝜇 𝑠, 𝑔|𝜃𝜇 (= 方策𝜋 𝑠, 𝑔 ) • パラメータ𝜃𝜇のニューラルネットワークの出力 • 状態𝑠, 目標𝑔が与えられた時の最適な行動となるように学習 • 価値関数𝑉 𝑠, 𝑔 𝜃𝑣 • パラメータ𝜃𝑣のニューラルネットワークの出力 • 状態𝑠, 目標𝑔が与えられた時の累積報酬となるように学習 • 行動(方策)の最適化に利用 λ=0:決定論的(実行時) λ=1:確率論的(学習時) 探査ノイズ𝑁を加えることにより行動探索の幅が広がる 𝑎 = 𝜇 𝑠, 𝑔 + 𝜆𝑁, 𝑁~𝐺(0, Σ) 𝜆~Ber 𝜖 : ε-greedy法
  • 15.
    学習Algorithm 1. 歩かせる 2. 価値関数𝑉𝑠, 𝑔 𝜃𝑣 の更新 3. 行動𝑎 𝑠, 𝑔 𝜃𝜇 の更新 4. 1に戻る 14 スタート 終了(時間経過 or 転倒) 1エピソード
  • 16.
    学習Algorithm 1. 歩かせる 2. 価値関数𝑉𝑠, 𝑔 𝜃𝑣 の更新 3. 行動𝑎 𝑠, 𝑔 𝜃𝜇 の更新 4. 1に戻る 15 出力 𝑉 𝑠, 𝑔 𝜃𝑣 見積り TD誤差 ∶ 𝑟𝑡+1 + 𝛾𝑉 𝑠𝑡+1, 𝑔𝑡+1 𝜃𝑣 − 𝑉(𝑠𝑡, 𝑔𝑡|𝜃𝑣) 行動して得られた評価値 TD誤差が小さくなるように𝜃𝑣を更新 𝜃𝑣: 価値関数のNNのパラメータ
  • 17.
    学習Algorithm 1. 歩かせる 2. 価値関数𝑉𝑠, 𝑔 𝜃𝑣 の更新 3. 行動𝑎 𝑠, 𝑔 𝜃𝜇 の更新 4. 1に戻る 16 出力 𝜇 𝑠, 𝑔 𝜃𝜇 見積り TD誤差 ∶ 𝑟𝑡+1 + 𝛾𝑉 𝑠𝑡+1, 𝑔𝑡+1 𝜃𝑣 − 𝑉(𝑠𝑡, 𝑔𝑡|𝜃𝑣) 行動して得られた評価値 TD誤差が正 行った行動は 価値を高めた よりその行動が選択されるように𝜃𝜇を更新 𝜃𝜇: 方策のNNのパラメータ
  • 18.
    学習Algorithm 1. 歩かせる 2. 価値関数𝑉𝑠, 𝑔 𝜃𝑣 の更新 3. 行動𝑎 𝑠, 𝑔 𝜃𝜇 の更新 4. 1に戻る 17 これを繰り返すことによって価値関数、方策が最適化され学習が進む
  • 19.
    報酬 18 • 報酬 𝑟𝑡=𝑟(𝑠𝑡, 𝑔𝑡, 𝑎 𝑡) • 与えられた目標𝑔𝑡の状態𝑠𝑡において行動𝑎 𝑡を実行する望ましさ 望ましい行動に高い報酬を割り当て、望ましくない報酬を低くすることにより、 エージェントの行動を形成可能 HLCの目的:ナビゲーション等の高度なタスクを達成 LLCの目的:エージェントを歩かせる それぞれに合った報酬を設定
  • 20.
    LLC 報酬 Reference Motionは下のサイトから収集 http://animation.comp.nus.edu.sg/nusmocap.html 19 ReferenceMotion を模倣するように報酬を設定 LLCの目的:エージェントを歩かせる Reference Motion
  • 21.
    LLC 報酬 Reference Motionの状態と近いほど報酬が高くなるように設定 20 𝑟𝐿 = 𝑤 𝑝𝑜𝑠𝑒 𝑟𝑝𝑜𝑠𝑒 + 𝑤 𝑣𝑒𝑙 𝑟𝑣𝑒𝑙 + 𝑤 𝑟𝑜𝑜𝑡 𝑟𝑟𝑜𝑜𝑡 + 𝑤𝑐𝑜𝑚 𝑟𝑐𝑜𝑚 + 𝑤 𝑒𝑛𝑑 𝑟𝑒𝑛𝑑 + 𝑤ℎ𝑒𝑎𝑑𝑖𝑛𝑔 𝑟ℎ𝑒𝑎𝑑𝑖𝑛𝑔
  • 22.
    LLC 報酬 Reference Motionの状態と近いほど報酬が高くなるように設定 21 𝑟𝐿 = 𝑤 𝑝𝑜𝑠𝑒 𝑟𝑝𝑜𝑠𝑒 + 𝑤 𝑣𝑒𝑙 𝑟𝑣𝑒𝑙 + 𝑤 𝑟𝑜𝑜𝑡 𝑟𝑟𝑜𝑜𝑡 + 𝑤𝑐𝑜𝑚 𝑟𝑐𝑜𝑚 + 𝑤 𝑒𝑛𝑑 𝑟𝑒𝑛𝑑 + 𝑤ℎ𝑒𝑎𝑑𝑖𝑛𝑔 𝑟ℎ𝑒𝑎𝑑𝑖𝑛𝑔 • Reference Motionを模倣するように設定された項 • 𝑟𝑝𝑜𝑠𝑒, 𝑟𝑣𝑒𝑙 : 関節の動きについて • 𝑟𝑟𝑜𝑜𝑡 : 骨盤の高さについて • 𝑟𝑐𝑜𝑚 : 重心の速度について
  • 23.
    LLC 報酬 Reference Motionの状態と近いほど報酬が高くなるように設定 22 𝑟𝐿 = 𝑤 𝑝𝑜𝑠𝑒 𝑟𝑝𝑜𝑠𝑒 + 𝑤 𝑣𝑒𝑙 𝑟𝑣𝑒𝑙 + 𝑤 𝑟𝑜𝑜𝑡 𝑟𝑟𝑜𝑜𝑡 + 𝑤𝑐𝑜𝑚 𝑟𝑐𝑜𝑚 + 𝑤 𝑒𝑛𝑑 𝑟𝑒𝑛𝑑 + 𝑤ℎ𝑒𝑎𝑑𝑖𝑛𝑔 𝑟ℎ𝑒𝑎𝑑𝑖𝑛𝑔 • 歩行計画𝑔 𝐿に従うように設計された項 • 𝑟𝑒𝑛𝑑 : 脚の位置について • 𝑟ℎ𝑒𝑎𝑑𝑖𝑛𝑔 : 進行方向について 𝑔 𝐿 = 𝑝0, 𝑝1, 𝜃 𝑟𝑜𝑜𝑡
  • 24.
    LLC スタイル(歩き方)の変更 𝑤𝑠𝑡𝑦𝑙𝑒, 𝑐𝑠𝑡𝑦𝑙𝑒を変更することでスタイル(歩き方)を変更可能 Straight Legs High-Knees 23 Style Modification 𝑟𝑝𝑜𝑠𝑒 = exp − 𝑖 𝑤𝑖 𝑑 𝑞𝑖 𝑡 , 𝑞𝑖 2 − 𝑤𝑠𝑡𝑦𝑙𝑒 𝑐 𝑠𝑡𝑦𝑙𝑒 Nominal Walk (スタイル指定なし) 𝑐 𝑠𝑡𝑦𝑙𝑒 = 𝑑(𝑞𝐼, 𝑞 𝑘𝑛𝑒𝑒)2 𝑐 𝑠𝑡𝑦𝑙𝑒 = (ℎ 𝑘𝑛𝑒𝑒 − ℎ 𝑘𝑛𝑒𝑒)2
  • 25.
    スタイル(歩き方)の変更 𝑤𝑠𝑡𝑦𝑙𝑒, 𝑐 𝑠𝑡𝑦𝑙𝑒を変更することでスタイル(歩き方)を変更可能 ForwardLean Sideways Lean 24 Style Modification 𝑟𝑝𝑜𝑠𝑒 = exp − 𝑖 𝑤𝑖 𝑑 𝑞𝑖 𝑡 , 𝑞𝑖 2 − 𝑤𝑠𝑡𝑦𝑙𝑒 𝑐 𝑠𝑡𝑦𝑙𝑒 Nominal Walk (スタイル指定なし) 𝑐𝑠𝑡𝑦𝑙𝑒 = 𝑑( 𝑞 𝑡 𝑤𝑎𝑖𝑠𝑡, 𝑞 𝑤𝑎𝑖𝑠𝑡)2
  • 26.
    HLC • Path Following 岩石の多い地形に刻まれた細い道を進むように訓練される 目標位置は、経路に沿ってランダムに配置され、エージェントが目標の 1m以内にあるときに経路に沿って進む 目標𝑔𝐻 𝑔 𝐻 = (θ 𝑡𝑎𝑟, 𝑑 𝑡𝑎𝑟) 目標位置までの方向と距離 𝑢 𝑡𝑎𝑟:エージェントから目標へ向く水平面上の単位ベクトル 𝑣𝑐𝑜𝑚:エージェントの速度 𝑣𝑐𝑜𝑚:エージェントが目標に向かって移動する必要のある速度 25 報酬𝑟 𝐻 エージェントが目標位置に向かって所望の速度で動くように設計 𝑟 𝐻 = exp − min(0, 𝑢 𝑡𝑎𝑟 T 𝑣𝑐𝑜𝑚 − 𝑣𝑐𝑜𝑚) 2
  • 27.
    HLC • Soccer Dribble ボールを目標位置までドリブルして移動させるように訓練 ボール:半径0.2m, 質量0.1kg 26 目標𝑔 𝐻 𝑔 𝐻 = (𝜃𝑡𝑎𝑟, 𝑑 𝑡𝑎𝑟, 𝜃 𝑏𝑎𝑙𝑙, 𝑑 𝑏𝑎𝑙𝑙, ℎ 𝑏𝑎𝑙𝑙, 𝑣 𝑏𝑎𝑙𝑙, 𝜔 𝑏𝑎𝑙𝑙) 報酬𝑟 𝐻 𝑟 𝐻 = 𝑤𝑐𝑣 𝑟𝑐𝑣 + 𝑤𝑐𝑝 𝑟𝑐𝑝 + 𝑤 𝑏𝑣 𝑟𝑏𝑣 + 𝑤 𝑏𝑝 𝑟𝑏𝑝
  • 28.
    HLC • Soccer Dribble ボールを目標位置までドリブルして移動させるように訓練 ボール:半径0.2m, 質量0.1kg 27 目標𝑔 𝐻 𝑔 𝐻 = (𝜃𝑡𝑎𝑟, 𝑑 𝑡𝑎𝑟, 𝜃 𝑏𝑎𝑙𝑙, 𝑑 𝑏𝑎𝑙𝑙, ℎ 𝑏𝑎𝑙𝑙, 𝑣 𝑏𝑎𝑙𝑙, 𝜔 𝑏𝑎𝑙𝑙) 報酬𝑟 𝐻 𝑟 𝐻 = 𝑤𝑐𝑣 𝑟𝑐𝑣 + 𝑤𝑐𝑝 𝑟𝑐𝑝 + 𝑤 𝑏𝑣 𝑟𝑏𝑣 + 𝑤 𝑏𝑝 𝑟𝑏𝑝 𝜃𝑡𝑎𝑟, 𝑑 𝑡𝑎𝑟 : ボールに対する目標位置の方向、距離 𝜃 𝑏𝑎𝑙𝑙, 𝑑 𝑏𝑎𝑙𝑙 : エージェントに対するボールの方向、距離 ℎ 𝑏𝑎𝑙𝑙, 𝑣 𝑏𝑎𝑙𝑙, 𝜔 𝑏𝑎𝑙𝑙 : ボールの高さ、速度、角速度 𝑔 𝐻 = (𝜃𝑡𝑎𝑟, 𝑑 𝑡𝑎𝑟, 𝜃 𝑏𝑎𝑙𝑙, 𝑑 𝑏𝑎𝑙𝑙, ℎ 𝑏𝑎𝑙𝑙, 𝑣 𝑏𝑎𝑙𝑙, 𝜔 𝑏𝑎𝑙𝑙)
  • 29.
    HLC • Soccer Dribble ボールを目標位置までドリブルして移動させるように訓練 ボール:半径0.2m, 質量0.1kg 28 目標𝑔 𝐻 𝑔 𝐻 = (𝜃𝑡𝑎𝑟, 𝑑 𝑡𝑎𝑟, 𝜃 𝑏𝑎𝑙𝑙, 𝑑 𝑏𝑎𝑙𝑙, ℎ 𝑏𝑎𝑙𝑙, 𝑣 𝑏𝑎𝑙𝑙, 𝜔 𝑏𝑎𝑙𝑙) 報酬𝑟 𝐻 𝑟 𝐻 = 𝑤𝑐𝑣 𝑟𝑐𝑣 + 𝑤𝑐𝑝 𝑟𝑐𝑝 + 𝑤 𝑏𝑣 𝑟𝑏𝑣 + 𝑤 𝑏𝑝 𝑟𝑏𝑝 𝑟 𝐻 = 𝑤𝑐𝑣 𝑟𝑐𝑣 + 𝑤𝑐𝑝 𝑟𝑐𝑝 + 𝑤 𝑏𝑣 𝑟𝑏𝑣 + 𝑤 𝑏𝑝 𝑟𝑏𝑝 エージェントがボールへ向かって移動するように設定 𝑟𝑐𝑣 = exp − min(0, 𝑢 𝑏𝑎𝑙𝑙 T 𝑣𝑐𝑜𝑚 − 𝑣𝑐𝑜𝑚) 2 𝑢 𝑏𝑎𝑙𝑙 : エージェントからボールへ向く単位ベクトル 𝑣𝑐𝑜𝑚 : エージェントの速度 𝑣𝑐𝑜𝑚 : エージェントに求める速度
  • 30.
    HLC • Soccer Dribble ボールを目標位置までドリブルして移動させるように訓練 ボール:半径0.2m, 質量0.1kg 29 目標𝑔 𝐻 𝑔 𝐻 = (𝜃𝑡𝑎𝑟, 𝑑 𝑡𝑎𝑟, 𝜃 𝑏𝑎𝑙𝑙, 𝑑 𝑏𝑎𝑙𝑙, ℎ 𝑏𝑎𝑙𝑙, 𝑣 𝑏𝑎𝑙𝑙, 𝜔 𝑏𝑎𝑙𝑙) 報酬𝑟 𝐻 𝑟 𝐻 = 𝑤𝑐𝑣 𝑟𝑐𝑣 + 𝑤𝑐𝑝 𝑟𝑐𝑝 + 𝑤 𝑏𝑣 𝑟𝑏𝑣 + 𝑤 𝑏𝑝 𝑟𝑏𝑝 𝑟 𝐻 = 𝑤𝑐𝑣 𝑟𝑐𝑣 + 𝑤𝑐𝑝 𝑟𝑐𝑝 + 𝑤 𝑏𝑣 𝑟𝑏𝑣 + 𝑤 𝑏𝑝 𝑟𝑏𝑝 エージェントがボールの近くに居続けるように設定 𝑟𝑐𝑝 = exp −𝑑 𝑏𝑎𝑙𝑙 2 𝑑 𝑏𝑎𝑙𝑙 : エージェントとボールの距離
  • 31.
    HLC • Soccer Dribble ボールを目標位置までドリブルして移動させるように訓練 ボール:半径0.2m, 質量0.1kg 30 目標𝑔 𝐻 𝑔 𝐻 = (𝜃𝑡𝑎𝑟, 𝑑 𝑡𝑎𝑟, 𝜃 𝑏𝑎𝑙𝑙, 𝑑 𝑏𝑎𝑙𝑙, ℎ 𝑏𝑎𝑙𝑙, 𝑣 𝑏𝑎𝑙𝑙, 𝜔 𝑏𝑎𝑙𝑙) 報酬𝑟 𝐻 𝑟 𝐻 = 𝑤𝑐𝑣 𝑟𝑐𝑣 + 𝑤𝑐𝑝 𝑟𝑐𝑝 + 𝑤 𝑏𝑣 𝑟𝑏𝑣 + 𝑤 𝑏𝑝 𝑟𝑏𝑝 𝑟 𝐻 = 𝑤𝑐𝑣 𝑟𝑐𝑣 + 𝑤𝑐𝑝 𝑟𝑐𝑝 + 𝑤 𝑏𝑣 𝑟𝑏𝑣 + 𝑤 𝑏𝑝 𝑟𝑏𝑝 エージェントがボールを目標位置に向かって移動させるように設定 𝑟𝑏𝑣 = exp − min(0, 𝑢 𝑡𝑎𝑟 T 𝑣 𝑏𝑎𝑙𝑙 − 𝑣 𝑏𝑎𝑙𝑙) 2 𝑢 𝑡𝑎𝑟 : ボールから目標位置へ向く単位ベクトル 𝑣 𝑏𝑎𝑙𝑙 : ボールの速度 𝑣 𝑏𝑎𝑙𝑙 : ボールに求める速度
  • 32.
    HLC • Soccer Dribble ボールを目標位置までドリブルして移動させるように訓練 ボール:半径0.2m, 質量0.1kg 31 目標𝑔 𝐻 𝑔 𝐻 = (𝜃𝑡𝑎𝑟, 𝑑 𝑡𝑎𝑟, 𝜃 𝑏𝑎𝑙𝑙, 𝑑 𝑏𝑎𝑙𝑙, ℎ 𝑏𝑎𝑙𝑙, 𝑣 𝑏𝑎𝑙𝑙, 𝜔 𝑏𝑎𝑙𝑙) 報酬𝑟 𝐻 𝑟 𝐻 = 𝑤𝑐𝑣 𝑟𝑐𝑣 + 𝑤𝑐𝑝 𝑟𝑐𝑝 + 𝑤 𝑏𝑣 𝑟𝑏𝑣 + 𝑤 𝑏𝑝 𝑟𝑏𝑝 𝑟 𝐻 = 𝑤𝑐𝑣 𝑟𝑐𝑣 + 𝑤𝑐𝑝 𝑟𝑐𝑝 + 𝑤 𝑏𝑣 𝑟𝑏𝑣 + 𝑤 𝑏𝑝 𝑟𝑏𝑝 エージェントがボールを目標位置の近くに保つように設定 𝑟𝑐𝑣 = exp −𝑑 𝑡𝑎𝑟 2 𝑑 𝑡𝑎𝑟 : ボールと目標位置の距離
  • 33.
    Training • 各エピソード開始時にエージェントがデフォルトポーズに初期化される • エピソードは最大200秒シミュレートされる •エージェントが転倒するとエピソード終了、残りの報酬は0 • エージェントの胴体が地面に接触すると、転倒が検出される • LLCは約600万回訓練(約2日間) • HLCは約100万回訓練(約7日間) 32 • エージェント • 身長 : 1.6m • 体重 : 42kg • 8本のリンクを持つ • 各脚に3本 • 胴に2本 • 膝関節は1自由度 • その他関節は3自由度
  • 34.
    LLC Performance (ReferenceMotion) • Reference Motion の豊富さは学習速度、最終性能に影響を与える • Reference Motion がなければLLCは歩行技術を学習できない NCR:正規化された累積報酬 33 style : Nominal Walk
  • 35.
  • 36.
    LLC Performance (ロバスト性) ロバスト性 Forward,Side: エージェントが許容できる最大の摂動力 Incline,Decline : エージェントが20秒間歩行できる最も急な傾斜 LLCのロバスト性は探査ノイズが原因と考えられる 35 Incline摂動力のテスト
  • 37.
  • 38.
  • 39.
    Performance (階層構造) • 階層の有無の比較 制御階層(HLC)がなければ、LLCはタスクを実行できない NoHierarchy LLCの入力に𝑔 𝐻が追加され、畳み込み層+地形マップTも追加 このLLCはReference Motionを模倣し、高水準タスクを実行するように訓練される 38
  • 40.
    再利用性 (階層構造) 39 HLC ランダム初期化 HLC ランダム初期化 • HLCの学習 LLC (NominalWalk) HLC (Nominal Walk) HLC (Nominal Walk) LLC (High-Knees) LLC (High-Knees) HLC (High-Knees) HLC (High-Knees) • 再学習 • Fine Tuning • 学習の推移、結果を比較 (未学習HLC) (学習済みLLC) (学習済みHLC)
  • 41.
    再利用性 (階層構造) • NominalWalk LCC に対して訓練されたHLCを使用して20万回fine tuning を適用 • 再学習はランダム初期化から100万回 再学習する場合に比べて、学習時間を大幅に短縮 40
  • 42.