Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

ビジョンとロボットの強化学習

1,687 views

Published on

ロボットとコンピュータビジョンの強化学習に関する問題についてまとめました

Published in: Data & Analytics

ビジョンとロボットの強化学習

  1. 1. ビジョンとロボットの 尾崎安範
  2. 2. TL;DR(要約) • 強化学習のメタ的⼿法である模倣学習を 転移学習できるように拡張した⼿法について 論⽂をベースに説明する • 併せてロボットにおける強化学習の問題につい てもサーベイ論⽂をベースに説明する
  3. 3. 今⽇の⽬標 • ⼿法をまともに理解するのは困難なため、 強化学習って、こんな問題設定なんだと 理解してもらうこと • 強化学習は単回帰問題のようにシンプルに表現でき る問題ではないと思って帰ってもらうこと
  4. 4. ⾃⼰紹介 • 私は尾崎安範と申します • これまで • 画像からの⾮⾔語情報の抽出の研究 • ⾼専︓表情認識、⼤学︓顔の雰囲気認識、 ⼤学院︓画像の好き嫌い認識 • 今 • ⼈とロボットとの⾮⾔語インタラクションの研究開発 • ロボットが提供するサービスを利⽤したい通⾏者だけ ⾒つけ出すロボットの開発 • 今⽉のPRMU(と併催するCNR)で発表するよ • RGBDセンサ(RealSense)を使ってるよ • そのインタラクション技術を 載せたロボットサービスの開発
  5. 5. 最近の悩み事︓ロボットによる サービスを簡単で楽に作りたい • ロボットによるサービスをお仕事で試作してい るが、これがまためんどくさい • 業務フローから⼿や⾸の動きまで⼀から⼊⼒しない といけない • ロボットごとでできることが違う • 環境ごとにロボットをチューニングしないといけな い
  6. 6. どれぐらいロボットサービス を作るのがめんどくさいのか • たとえば、⼈型ロボットで家事代⾏サービスを 提供することを考えてみよう • やるべきタスク︓掃除、料理、洗濯etc. • 想定しうる問題 • そもそも家事の仕⽅をモーターレベルからプログラ ムしないといけない • 家ごとに間取りが違うため、そのプログラムを現場 でチューニングする必要がある • ⼈の掃除の仕⽅を真似るなり ⾃分⾃⾝で試⾏錯誤するなり ロボット⾃⾝が問題を解決してほしい
  7. 7. Imitation from Observation: Learning to Imitate Behaviors from Raw Video via Context Translation (ICRA ‘17) YuXuan Liu†∗, Abhishek Gupta†∗, Pieter Abbeel†‡, Sergey Levine† † UC Berkeley, Department of Electrical Engineering and Computer Science ‡ OpenAI
  8. 8. 背景︓ビデオからの模倣 • ⼈間はエキスパートの⾏動をよく⾒まねしてい る • たとえば、エキスパートが料理しているYouTube の動画(やお料理番組)をあなたは⾒て、料理を真 似てはいないだろうか︖ • えっ、クック◯ッドしか⾒ていないだって︖前提が崩れ るからやめろ︕︕︕
  9. 9. 背景︓ビデオからの模倣の難 しさ • ⼈間は、エキスパートと⾃分の使っている道具 が違っても、エキスパートと違う三⼈称視点で ⾒ていても、なぜかモノマネできてしまう • これをロボットにもさせてみたいという作者の 思いから⽣まれた問題設定が、観測からの模倣 (Imitation-from-observation)である。
  10. 10. 問題設定︓観測からの模倣 (Imitation-from-observation) • 望ましい⾏動が含まれている観測結果と 別に指定されたコンテキストにおける観察結果 の⼀部がロボットに与えられたとき、 指定されたコンテキストにおいても、 ⽅策が強化学習できるようにすること デモ映像を たくさん記憶したロボット ⾒知らぬ 光景 問題例︓観測結果が 映像の場合 強化学習 ゴールのちりとりに シュートッ︕︕ 超エキサイティング︕
  11. 11. なにがいいたいのかさっぱりわからない
  12. 12. なぜか︖
  13. 13. 説明されていない たくさんの前提知識が この論⽂には述べられていないから
  14. 14. 前提知識︓強化学習ってなんぞや • とある環境の中にいるエージェントが 現在の状態を環境から観測しながら、 取るべき⾏動を エージェント⾃⾝が試⾏錯誤しながら 学習するように仕組ませる⽅法、または⽅法論 ※今回はエージェントモデルに従うロボットのみに焦点を当てるため、 以降は、エージェントのことをロボットと呼びます
  15. 15. 前提知識︓「⾏動」の決め⽅ =⽅策(Policy) • ロボットはどのように⾏動を決めるのか • 現状の環境の状態と⾏動を前提とする⾏動の⽅針を 関数として定義する。これを⽅針という。
  16. 16. 背景︓本論⽂の「取るべき」 ⾏動の決め⽅=模倣学習 • 「取るべき」⾏動をどうやって決めるのか。 • ⾔い換えると、どのように⽅策を更新するのか • アプローチ1︓ロボットが取った⾏動により環境が 好ましく変化した場合に報酬を与える関数を⼿作り する • 環境がゲームならスコアの上昇を報酬とする • 環境が実世界だと報酬モデルを⼿作りするのは とてもむずかしい。 • アプローチ2︓エキスパートの⾏動から報酬関数を 作成する(模倣学習) • こっちのほうが楽そうなので、このアプローチを採⽤︕
  17. 17. 前提知識︓観測値からの通常 の模倣学習(1/2) • エキスパートが⾏動している⽅策を 観測値から推測する エキスパートロボット
  18. 18. 前提知識︓通常の観測値から 模倣学習(2/2) • 推測した⽅策を基に 同じ環境にて⾏動し、 ⽅策を報酬などを基に改善していく ロボット
  19. 19. 前提知識︓模倣学習で起こり そうな問題 • ロボットがエキスパートを⾒て学習するときと、 実際にロボット⾃⾝が⾏動するときとでは環境 は同じでも観測値が異なる • そのため、たとえば、特徴抽出していない⽣動 画を模倣した結果が、ほかの視点になった瞬間 全く役に⽴たない可能性がある ⾒知らぬ 光景 ︖︖︖
  20. 20. 問題設定︓観測からの模倣 (Imitation-from-observation) • 望ましい⾏動が含まれている観測結果と 別に指定されたコンテキストにおける観察結果 の⼀部がロボットに与えられたとき、 指定されたコンテキストにおいても、 ⽅策が強化学習できるようにすること デモ映像を たくさん記憶したロボット ⾒知らぬ 光景 問題例︓観測結果が 映像の場合 強化学習 ゴールのちりとりに シュートッ︕︕ 超エキサイティング︕
  21. 21. 問題を解決するアプローチ︓ コンテキスト変換 • 要するに観測値を転移学習しちゃって、 未知のコンテキスト⽤の報酬関数を作ろう ぜ︕ってことらしい
  22. 22. 問題を解決するアプローチ︓ コンテキスト変換の変換例 • YouTubeで⾒てみましょう • https://youtu.be/kJBRDhInbmU • の3:23から3:46まで コンテキスト変換 報酬関数R#
  23. 23. 実際にタスクを解決するときの 全体像 • あるタスクにおけるコンテキスト変換の 学習フェーズ • 異なるコンテキストにおけるデモ映像を たくさん⽤意 • 以下をすべての組み合わせで繰り返す • 1フレームを初期状態を⽤意 • 異なるコンテキストにおけるデモ映像と1フレームを変換 • そのタスクにおいて未知のコンテキストの 強化学習フェーズ • 1フレームを初期状態を⽤意 • コンテキスト変換により1フレーム⽬からデモ映像を⽣ 成 • ⽣成したデモ映像からそのタスクの報酬関数を作成 • その報酬関数をもとにタスクを強化学習
  24. 24. 関連研究︓新規性の主張 • これ普通の模倣学習とどう違うんだ︖ • 模倣学習の⼀種、Behavior Cloningとの違い • Behavior Cloningは教師あり学習に分類される。教師の ないデータからも学習できる本提案⼿法とは異なる。 • 模倣学習の⼀種、逆強化学習との違い • 逆強化学習は報酬を学習する。本提案の主眼である⽅策 は学習しない。 • これぶっちゃけ観測値を転移学習させているだ けじゃね︖ • 筆者「いや、例えば、画⾵転移(Style Trasfer)などではGANで実装されており、エー ジェントという実世界でも⾏動できる存在なんて出てこないし、もごもご」
  25. 25. ところで転移学習ってなに︖ • ある条件で決められた範囲(ドメイン)で得ら れたデータを他のドメインでも再利⽤できるよ うにデータを加⼯したり学習⽅法を⼯夫するメ タ技術 • 具体例︓画⾵転移 図 ドメイン「実世界の写真」からドメイン「ゴッホのイラスト」 に画⾵転移させた例
  26. 26. 転移学習で定義されたドメインと 作者の⾔うコンテキストの関係 • 作者の⾔うコンテキストはドメインを限定する ための条件のことである • コンテキストの要素として、⼀⼈称映像か三⼈称映 像か、視点がどう違うのかなどを上げている。これ はドメインをどう決めるのかと同じである。 • 模倣学習の転移学習を具体的に実装した例と 思って、以降の説明を聞くと理解が進みます。
  27. 27. ︕注意︕ • ここから詳細な話に⼊るよ︕時間がなかったら 実験に⾶ばすよ︕
  28. 28. 問題設定の定式化 • まず、コンテキストを𝜔というパラメーターで 表現することにする • 環境はコンテキストに依存する部分観測マルコフ決 定過程(POMDP)(p o 𝑠, 𝜔 , p s 𝑠, 𝜔 )従うと仮定 する • エキスパートは最適な⽅策p(a|𝑠, 𝜔)を持っており、 その⽅策に従い⾏動すると仮定する エキスパート
  29. 29. あるタスクにおけるコンテキ スト変換の学習フェーズ • エキスパートによるデモンストレーション集合 を以下のように決める エキスパート 今回はあるコンテキストにおける エキスパートによるデモ映像 今回はコンテキスト2における エキスパートによるデモ映像の0フレーム⽬
  30. 30. あるタスクにおけるコンテキ スト変換の学習フェーズ • 要するに右下のニューラルネットワークを以下 の損失関数Lを減らすように最適化すればいい らしい
  31. 31. そのタスクにおいて未知のコンテ キストの強化学習フェーズ • ⽣成したデモ映像からそのタスクの報酬関数R# を作成。要するにコンテキストjが未知のコン テキストlに変わっただけだね︕
  32. 32. そのタスクにおいて未知のコンテ キストの強化学習フェーズ • 報酬関数R#を基に強化学習 観測値o︓𝑜/ 0 報酬r︓ ⾏動a︓ロボットの関節⾓ 学習⽅法︓⽅策ベースのTrust Region Policy Optimization (TRPO)など
  33. 33. 提案⼿法は以上です • 式やネットワークだけを追うと意味不明ですが、 結局のところ、やっていることは これまでに説明したことを具体化しているだけ です。
  34. 34. 実験 • 以下の⽬的を達成するために、実験を⾏う 1. 今回作ったコンテキスト変換モデルは、「シミュ レーションなどの統制された環境で、視点や⾒た ⽬や物の位置が違う⽣動画」(つまり、コンテキ ストが異なる観測値)へ変換できるのか 2. 他の模倣学習と⽐べてどうなのか 3. 今回作ったコンテキスト変換モデルで実世界の⽣ 動画を別のコンテキストへ変換しても、その別の コンテキストの動画からロボットはマニュピレー ションスキルを習得できるのか。
  35. 35. 実験1︓シミュレーション環境に おけるロボットアーム制御
  36. 36. 実験1︓実験条件 • 実験環境 • MuJuCo Simulater • エキスパート • 他の⼈の研究のものを使ったらしい • ロボット • 仮想のロボットアーム • タスクとそのゴール • ロボットアームを使ってボールをちりとりに⼊れる(掃除) • 強化学習の⼿法 • エキスパートの報酬関数を使った⽅策ベースの⼿法(TRPO) • 提案⼿法+⽅策ベースの⼿法(TRPO) • Generative Adversal Imitation Learning (GAIL) • など みんな⾒たことあるきもいやつの シミュレーター
  37. 37. 実験1の結果︓動画で⾒よう • https://youtu.be/kJBRDhInbmU • の1:48から2:17まで
  38. 38. 実験1の結果︓定量的⽐較 • コンテキストが変わっても提案⼿法は理論上の 限界値に近い成功率が出てきた • ⼀⽅、うなぎさんが紹介していたGAILは全然 対応できなかった(タスク成功率0%) エキスパートの報 酬関数 GAIL 提案⼿法
  39. 39. 【参考】他のタスクにおける 定量的⽐較 • やっぱりだいたい同じ傾向だった
  40. 40. 実験1の(尾崎による)考察 • 作者のLiuさんはほとんど考察を書いていな かったので、尾崎なりに考察してみた • なんでGAILは全然だめだったのか • 全く新しいコンテキストでは報酬関数が対応しきれない ためだろう • なんで提案⼿法はうまくいったのか • 新しいコンテキストにうまく適応できた観測値を⽣成し、 報酬関数を定義できたためであろう
  41. 41. 実験2︓実世界環境における ロボットアーム制御
  42. 42. 実験2︓細かい実験条件 • 実験環境 • 実験室(実世界) • エキスパート • 実験実施者 • ロボット • 本物のロボットアーム • 問題の解法 • 提案⼿法+⽅策ベースの⼿法(GPS) • など
  43. 43. 実験2の結果︓動画で⾒よう • https://youtu.be/kJBRDhInbmU • の3:20から4:46まで
  44. 44. 実験2︓定量的⽐較 • お掃除タスクだけ⾒ると、なんだか微妙ですね
  45. 45. 【参考】他のタスクにおける 定量的⽐較 • わりといい感じのもあった
  46. 46. 尾崎がこの研究に惹かれたと ころ • いくら模倣学習させても、 実世界では環境から得られるデータが ころころ変わってしまう。 • その問題をいちいち⼈間が対応するのは、 ⼈件費がかかってしまうし、めんどくさい • この背景をほぼデータドリブンな転移学習でど うにかして解決しようという⼒技がなされてい るところ • まぁ、転移学習⽤DNNのハイパーパラメータは職 ⼈芸のような気もするが・・・
  47. 47. これでロボットサービスは 勝⼿に作られていくね︕ • そんなわけがない 他にもいっぱい問題があるんじゃよ
  48. 48. Reinforcement Learning in Robotics: A Survey Jens Kober, J. Andrew Bagnell, Jan Peters
  49. 49. ロボットにおける強化学習の 問題(1/2) • 次元の呪い • ロボットは実世界を測定するわ、n⾃由度をもつ関 節を動かすわでとても⾼次元で連続的な⼊出⼒を取 り扱わなければならない • ロボットが実世界にいる呪い • ロボットはよく壊れる。しかも、実時間に制約され る。サンプルを得るのにもコストが⾼い。
  50. 50. ロボットにおける強化学習の 問題(2/2) • 実世界をモデル化する呪い • シミュレーターが実世界を正確にモデル化できない とシミュレータで学習した⽅策を実世界に転移させ たときに、⽅策がシミュレータ上と異なる挙動を起 こし始める • ゴール特化する呪い • ゴール以外を考慮しないので、製作者が想定しない ⾏動を起こし始める • たとえば、お掃除タスクにおいて、ゴールをゴミを集め るというだけ決めると、「集めたゴミを⾃分で捨ててま た集める」ということを⾏い始める
  51. 51. ロボットを使った強化学習に 対する尾崎の考察 • ロボットを使った強化学習の最⼤の問題は 「「取るべき⾏動」をどうやって決めるのか」 である • 何がよくて何が悪いのか。倫理観と価値観。 • 次点の問題は「どうやって、実世界の状態を測 定し、正確に把握するのか」である。 • 実世界はマルコフ決定過程ですらない • ゲームのように環境の状態を正確に把握できない
  52. 52. まとめ • 強化学習のメタ的⼿法である模倣学習を 転移学習できるように拡張した⼿法について 論⽂をベースに説明した • 併せてロボットにおける強化学習の問題につい てもサーベイ論⽂をベースに説明した
  53. 53. おしまい

×