学習と動的最適化

Learning and dynamic optimization

概要 Abstract
物押し・ドア開けを題材に,ロボットの行動を学習・最適化する手法を学ぶ.
目次 Table of contents

目的

物押しやドア開けと言ったタスクは,簡単なように見えて奥が深く難しい.本演習では,以下のようにアプローチする.

  1. これらのタスクが「なぜ難しいのか」を分析する.
  2. どのような手法がこれらのタスクに対して有効か考察する.
  3. シミュレータで1の「難しさ」を再現する方法について議論する.
  4. 1の難しさを考察した手法で解決できるか検証する.

手法の例

適宜追加する.

  • 強化学習; e.g. Sutton, Barto Reinforcement Learning: An Introduction, The MIT Press, 1998. HTML
  • Dynamic programming; e.g. Stochastic Control for Economic Models, David Kendrick, Second Edition 2002. PDF
  • Motion planning; e.g. OMPL
  • Optimization; e.g. CMA-ES (Python などの実装がある), Newton's method
  • Regression; e.g. LWR, Gaussian process for regression (see Shogun)
  • Trajectory representation; e.g. Splines, Cubic Hermite spline, B-spline
  • Procedure representation; e.g. Finite state machine

演習

目的に沿っていれば,いかなる手法,シミュレータ(もしくは実機)を使っても構わない.便宜上,以下のシミュレータを提供する.

このシミュレータはROSノードとしてサーバを起動し,独立した外部プログラム(PythonやC++)から操作できるようになっている.よって,各自,ROSに対応している好きな言語でプログラムが書ける.

なお,ドア開けには対応していないが,後日アップデートする予定(更新は簡単なので気にせずにインストールしておいてください).

教員およびTAの技術サポート範囲:

  • ode_tasks のサポート.
  • Python プログラミング(ロボットの行動を生成).
  • ほかのシミュレータ(もしくは実機),言語(C++とか)を使う場合は,サポート外.

事前準備

  1. 身の回りのありとあらゆる「物押し」および「ドア開け」タスクのサンプルを収集する.写真または動画で収集し,Google drive, Dropbox などで共有すること(各自のノートウィキにリンクを貼り付け).
  2. 「手法の例」で知らないものがあれば予習しておくこと.
  3. 上記シミュレータを使う場合は,インストールしておくこと.サンプルの Python スクリプトを実行して動くことを確認しておくこと.
  4. 「手法の例」で使えそうなもの(例えば CMA-ES)をインストールしたり,簡単なサンプルを実装してみる.

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2015-11-01 (日) 12:50:39 (693d)