Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Terrain-Adaptive Locomotion Skills Using Deep Reinforcement Learning #47

Open
kzmssk opened this issue Jul 25, 2018 · 0 comments
Open

Comments

@kzmssk
Copy link
Member

kzmssk commented Jul 25, 2018

強化学習エージェントに2Dキャラクターの移動モーション生成を探索させる.複数のactor criticペアを組み合わせた効果的な学習法を提案

論文本体・著者

解きたい問題

  • 物理シミュレーション環境下で2D地形に適応した移動モーションの生成をオンラインで行いたい
    • 四足歩行のキャラクターが様々な形状の地形で転ばずに速く進めるようにしたい
    • 進む先の地面の形状とキャラクターの姿勢を状態として入力,次の姿勢を行動として推定したい
      • 与えられた状態に対して適切な行動は未知(データがない)

新規性

  • 強化学習によって地形に適応した移動モーションを探索するシステムを提案
    • 探索なので教師となるモーションデータが不要
      • 行動をキャラクターの間接角度ではなく,作り込んだコントローラーのパラメーターとすることで安定的な探索を実現している
    • 複数のActorとCriticのペアを組み合わせたモデルを提案

実装

terrainadaptivelocomotion_2
論文 Fig. 2 より 学習フレームーク
  • キャラクターの姿勢とこれから進む先の地形情報を合わせた状態(s)からキャクターの制御パラメーターを行動(a)として推定する方策関数(π)を得たい
    • Actor-Criticで学習.詳細は下記.
    • 状態(s): 各キャラの身体部位の質点中心とこれらの速度(C)とキャラ前方の地面の高さベクトル(T)
  • キャラクターの制御はFinite State Machine Controller(FSM controller)で行う
    • キャラクターの姿勢に応じて4つの状態に周期的に変わる.全て一度巡って1サイクル
    • 方策関数が推定する行動(a)を使ってcontrollerを制御
      • 行動は4つの状態すべてにおける関節角度に加えて,前方への推進力と腰と肩をスイングさせるためのゲイン
  • Bulletを使ったシミュレーション
    • 報酬を計算:キャラのlink(部位)が1つでも地面についたら0,ついていなければキャラの質中心の移動速度
  • 状態(s),行動(a),報酬(r), 行動によって変化した状態(s'), 推定された価値による確率分布(μ), 勾配をactor criticのいずれかに割り振るための確率分布(λ),をbufferに貯める
    • Actor, Criticそれぞれのbufferにランダムで貯める
    • ActorとCriticをそれぞれ更新する
    • ただし学習の最初は共分散行列適応進化戦略(Covariance Matrix Adaptation Evolution Strategy, CMA-ES)を使って求めた8つの行動の組みのランダムな組み合わせでbufferをつくる
terrainadaptivelocomotion_8
論文 Fig. 8 より

提案モデル: mixture of actor-critic experts (MACE) architecture

  • Convolutional Neural NetworkをベースにしたActorとCriticが合わさったモデル
    • さらに複数の行動(A)とQ値のペアを出力する
    • 推定された複数の行動から1つを選択する
      • 学習時にはQ値で定義される以下の確率分布pを使って選択.Tは温度でハイパーパラメーター.
        • terrainadaptivelocomotion_eq
      • テスト時には最もQ値が高いものを選択

実験・議論

実験結果の動画

terrainadaptivelocomotion_t1
論文 Table 1 より.250回転ぶまで走り続けた場合の総走行距離, dog, raptorは異なるキャラモデル.
terrainadaptivelocomotion_11
論文 Fig. 11 より 提案手法でactor-criticのペア数を変えて比較
  • 提案手法MACE(3)と既存手法(Q-Network,CACLA)を様々な地形パターンで比較
    • Q-Network:学習時にCMA-ESで用意し8つの行動の組の中から1つを選択するDeep Q-Network
    • CACLA: 提案手法のactor-criticの組みが1つでcriticの勾配計算にbufferではなく全エピソードを使う
    • actor-criticのペア数を増やせば必ずしも性能が良くなるわけではなかった
    • CMA-ESで求めた8つの行動の組みを探索の初期段階で使わないと性能がとても悪かった
      • 初期エピソードにおけるバランスがとれたデータ分布が重要

読んだ中での不明点などの感想

  • コントローラー(FSM controller)の設計とCMA-ESで作る初期の行動パターンの設計が難しそう
  • 論文中では小さい飛び地が繰り替えされるような動きが難しかった
    • コントローラーの設計による制約が問題なのでは?

関連論文

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants