狠狠撸

狠狠撸Share a Scribd company logo
ロボット模倣学習勉強会
2024.7.1
1
@natsutan
アジェンダ
2
?強化学習と模倣学習
?強化学習の入出力
?模倣学習
?模倣学習に必要な物
強化学習と模倣学習
3
4
強化学習と模倣学習
模倣学習(Imitation Learning)とは
AI以外の意味 子供が大人の真似をして学ぶこと
シミュレータを使ったパイロットの育成などでも使われる。
AI
教師あり学習
強化学習
LLM以降
模倣学習 エキスパートの動作を正解データとして学習する。
→普通にやるとデータが全然足りない。
強化学習と組み合わせて使うやり方。
→今日はここの話をします。
LLMの場合、強化学習とは違う枠組みでエキスパートの
動作を真似できそう。要調査。
チーティングは、特定の作業に対して強
くなる手順とパラメータを取得する技術。
強化学習とは別。どちらかというとノーコ
ード開発に近い。
汎化能力の向上を目指してない。
5
強化学習とは
学習したい対象(Agent)を動かして、上手く行ったら報酬を与えて学習する仕組み。
Agentを動かすのは実機でもSimulatorでも良い。
囲碁のAlphaGoが有名
何度も何度もトライをして、成功したときに報酬を与える。
より高い報酬がもらえるように学習する。
6
強化学習の難しさ
何もない所からランダムに動かしても最初の成功が難しい。
ARMをランダムに動かしても、ピックが成功する
可能性はほぼ0。
部分点を与えて、ロボを誘導する。
例:BINの中にハンドが入ったら+1点
ワークにハンドが接触したら+1点
ピックに成功したら+10点
この設定がすごく難しい
7
強化学習の難しさ
上手く行かない例
部分点を与えて、ロボを誘導する。
例:BINの中にハンドが入ったら+1点
ワークにハンドが接触したら+1点
ピックに成功したら+10点
何も考えずに実装すると、BINの中に手を出し入
れして+1点を連続で取りに行くAIができてしまう。
8
強化学習の難しさ
上手く行かない例
レースゲームなのに、細かい点を稼ぎ続けて全くゴールに向かわない
https://www.youtube.com/watch?v=tlOIHko8ySg
9
上手く行っている例
ゲームの成功事例は多い
?ゲームの環境自体がシミュレータと同じ
?点数を与えるシステムが既にある
?状況が一枚の画面だけでわかりやすい
?アクションが離散
→キーのON/OFFに還元できる。
カードゲームなどでもAI同士で大量に対戦させ、バランスを壊しそうなカードの組み合わせを見
つけるのに使われている。
AlphaGoもゲーム
https://www.nintendo.com/jp/famicom/software/smb1/index.html
クリボーを倒すと100pt,
コイン一枚200pt
強化学習の入出力
10
11
強化学習の入力
強化学習の入力には状態が必要。
?囲碁の盤面
?カードゲームのカード(自分、相手、捨て札etc)
?迷路の中の自分の位置
実際は全ての状況がわかるケースの方が少ない。
リアルな環境から状態を作ろうとすると、広い空間の中にスカスカのデータになる。
ピッキングロボであれば、ロボが取る全ての姿勢×カメラの全画素が状態になる。
https://gymnasium.farama.org/environments/toy_text/frozen_lake/
12
強化学習の入力
DQN 強化学習のブレークスルー
DQNの特徴の一つ
CNN
画像をNNにいれると、画像から状
況を読み出し、意味のある状態を
推論する。
ゲームの画面(複数フレーム)
13
強化学習の出力(離散or連続)
離散値を出力するやりかたと、連続値を出力するやり方がある。
採用するアルゴリズムが変ってくる。
離散値の出力
ゲームパッドのボタンを押す、押さないを出
力する。学習しやすい。
連続値の出力
各ジョイントのθを出す。
EEの移動先を出力する
学習が安定しないPolicy
ベースのアルゴリズムを
使わないと駄目
14
強化学習の出力(差分or座標)
ロボ制御の場合、出力は2種類
(x, y, z, roll, pitch, yaw)の
変化量を推論する
RT-1、RT-2、RT-X
(x, y, z, roll, pitch, yaw)の
移動先を推論する
こっちの方が学習しやすい。
ただし、実機の場所とAIが認識してい
る場所がどんどんずれていく。
ハンドを後少し回転さ
せて、5cm右に移動
(0.32, 025, 1.02)に移動して、
法線(0.22, 1.33, -0.2)にハン
ドの向きを合わせて
模倣学習
15
16
模倣学習
達人、エキスパート:
ロボットを上手く操作で
きる人
達人は上手くロボットを操作できるが、どういう理由で上手く行くのかが説明できない人。
→達人が上手くいく理由を説明できるなら、そのアルゴリムを実装すれば良い。
チーティングは、特定の作業に対して強
くなる手順とパラメータを取得する技術。
強化学習とは別。どちらかというとノーコ
ード開発に近い。
汎化能力の向上を目指してない。
17
シミュレータが必要な理由
達人の動きは無駄な動きがない。
達人の動きだけで学習すると、ちょっとでも正
解から外れたときにリカバリができない。
→リカバリする為の情報が無いから。
シミュレータを使って、少しランダムも交えて動かし、学習データのバリエーションを
増やす必要がある。
18
模倣学習?逆強化学習
今のフェーズだと特に区別する必要ないです。
模倣学習
達人の動きそのものを学習に使う。
逆強化学習
達人の動きから報酬を自動的に決める。
強化学習は報酬が大事なので、効果が高い
ハンドとワークの距離が5cm
以内になったら0.725点
把持点の法線ベクトル上にハン
ドが来たら0.323点
法線ベクトルとハンドの向きが
一致していれば0.552点
19
達人の動きを学習に使うタイミング
①AIの初期値を決める。
達人の動きを初期値にすることでピックの成功率を上げ、
学習を進めやすくする。
ARMをランダムに動かしても、ピックが成功する
可能性はほぼ0。
②AIの学習に達人の動きを混ぜる
意外に難しい。
AIの学習は、腕を動かす方針を少しずつ改善させること。
達人のデータには方針が全く入ってない。
→そのままでは混ざらない。その混ぜ方が研究テーマとなっている。
20
ロボット学習のトレンド
①動かしながら学習する
AIでロボを制御しながら、右に行きすぎたと判断したら、その場でAI
を修正して右に行きすぎないようにする。
②動かしているときは学習しない
例:今のAIで10回動かしてから学習し、AIを更新する。
そのAI10回動かしてから、再度学習してAIを更新する。
ロボやシミュレータを平行して動かせるのがメリット。
②を3回、①を1回繰り返すというパターンもある。
③LLM以降
別のロボでも良いし、AI等も関係無くピックしてい
る動画を集める。
データも共通化の動き(RT-X)
直ぐに
更新
動かしている
ときは更新し
ない
21
強化学習(模倣学習)をするには状態が必要
①ヘッドカメラで一回だけ撮像して、取りに行く
AIへの入力がロボの姿勢と画像1枚になる。
ロボの姿勢が変っても、ほとんど状態が変らな
い。つまり、次に動かす方向がわからない。
→このケースは強化学習では無く最適化問題
②ロボの姿勢に合わせて、画像が変化する。
姿勢が変ることで画像が変るなら、画像が状態を表現できる。
ゲームを操作している視点になる。
→強化学習が出来る
https://www.wiredworkers.io/cobot/applications/bin-picking/
https://www.youtube.com/watch?v=BQEusGstBlo
強化学習が期待してい
る状態のイメージ
22
ロボの状態を捉えるカメラ
https://www.youtube.com/watch?v=BQEusGstBlo
Mobile ALOHA
Omron
Mobile ALOHAの学習データは、3つのカメラの入力
全体を取るTOP CAMERAと左右のWRIST CAMERAを使っている
模倣学習に必要な物
23
24
模倣学習を始めるために必要な物
?実機
?シミュレータ
?ピッキング成功するまでのデータを記録できる仕組み
?動画を記録するためのカメラ
全体感がわかるカメラ、手元がわかるカメラが欲しい
?対応する姿勢の記録
?達人
?達人がロボを操作できる仕組み
?達人の動作を記録する仕組み
?動画
?姿勢

More Related Content

Imitation learning for robotics 勉強会資料(20240701)