AI(強化学習)でロボットに学習させてみた
- 3. Deep Learningはよく聞くけど…
事例:AlphaGoが人間より強くなった
⇒碁の状態数は10 あるが、DLで過去事例から学習したのは10 程度
⇒DLでは学習データ以上に強くならないため、 AlphaGo同士で強化学習
することで学習データ(人間の経験)よりも強くなった。
学習方法 できること、できないこと
Deep
Learning
詰込型の学習=試験勉強と同じ。問題を多く解いて傾向を把握
データに合わせてパターンを抽出してくれる
問題と答えのセットを用意しておかないと学習できない
教えたこと(学習したデータ)以上のことはできない
強化学習
経験型の学習=試行錯誤を通して問題に合わせた行動を学習
できる範囲(行動、認識)の組み合わせから目的を達成する
事前の学習データが不要。自らの経験を学習データとする
実環境では学習時間がかかる。別個体との結果共有が難しい
Deep Learning と 強化学習 の組合わせが主流
172 9
- 6. 何をすれば学習したことになるの?
学習前:状態に対する行動の価値が同じ
ボールの
状態
行動
なし 遠い 近い
左 中 右 左 中 右 左 中 右
S1 S2 S3 S4 S5 S6 S7 S8 S9
前進 A1 48 73 83 79 96 89 93 0 92
後退 A2 49 77 85 86 93 90 93 0 93
左回転 A3 85 93 87 89 91 91 95 0 92
右回転 A4 48 75 94 85 92 93 93 0 95
ボールの
状態
行動
なし 遠い 近い
左 中 右 左 中 右 左 中 右
S1 S2 S3 S4 S5 S6 S7 S8 S9
前進 A1 0 0 0 0 0 0 0 0 0
後退 A2 0 0 0 0 0 0 0 0 0
左回転 A3 0 0 0 0 0 0 0 0 0
右回転 A4 0 0 0 0 0 0 0 0 0
学習後:状態ごとに得点の高い行動をする
状態と行動の表に対して、良い行動に得点を付ける
得点は目標到達時に与えられる報酬から設定する
①最初はランダムな行動をとる
②運よく目標に到達すると褒められる(報酬が与えられる)
③報酬を元に目標到達に行った行動に対して、得点を与える
④次第に得点の高い行動を行うようになる
- 7. 報酬を元にした「状態と行動」表の更新例
ボールの
状態
行動
なし 遠い 近い
左 中 右 左 中 右 左 中 右
S1 S2 S3 S4 S5 S6 S7 S8 S9
前進 A1 0 0 0 0 0 0 0 0 0
後退 A2 0 0 0 0 0 0 0 0 0
左回転 A3 0 0 0 0 0 0 0 0 0
右回転 A4 0 0 0 0 0 0 0 0 0
上から見たところ
カメラ画像
状態と行動の履歴
初期状態
・カメラには何も映らない
・この時はS2の状態とする
行動1回目
・とりあえず前進してみた
学習初期はランダムに行動するしかないが、
この例は最短でうまくいく場合を示している。
- 8. 報酬を元にした「状態と行動」表の更新例
ボールの
状態
行動
なし 遠い 近い
左 中 右 左 中 右 左 中 右
S1 S2 S3 S4 S5 S6 S7 S8 S9
前進 A1 0 0 0 0 0 0 0 0 0
後退 A2 0 0 0 0 0 0 0 0 0
左回転 A3 0 0 0 0 0 0 0 0 0
右回転 A4 0 0 0 0 0 0 0 0 0
上から見たところ
①
カメラ画像
状態と行動の履歴
行動1回目の後
・まだ、カメラには何も映らない
行動2回目
・とりあえず左回転してみた
- 9. 報酬を元にした「状態と行動」表の更新例
ボールの
状態
行動
なし 遠い 近い
左 中 右 左 中 右 左 中 右
S1 S2 S3 S4 S5 S6 S7 S8 S9
前進 A1 0 0 0 0 0 0 0 0 0
後退 A2 0 0 0 0 0 0 0 0 0
左回転 A3 0 0 0 0 0 0 0 0 0
右回転 A4 0 0 0 0 0 0 0 0 0
上から見たところ
①
②
カメラ画像
状態と行動の履歴
行動2回目の後
・ボールが遠くの左に見えた
行動3回目
・とりあえず、また左回転してみた
- 10. 報酬を元にした「状態と行動」表の更新例
ボールの
状態
行動
なし 遠い 近い
左 中 右 左 中 右 左 中 右
S1 S2 S3 S4 S5 S6 S7 S8 S9
前進 A1 0 0 0 0 0 0 0 0 0
後退 A2 0 0 0 0 0 0 0 0 0
左回転 A3 0 0 0 0 0 0 0 0 0
右回転 A4 0 0 0 0 0 0 0 0 0
上から見たところ
①
② ③
カメラ画像
状態と行動の履歴
行動3回目の後
・ボールが遠くの真ん中に見えた
行動4回目
・とりあえず、前進してみた
- 11. 報酬を元にした「状態と行動」表の更新例
ボールの
状態
行動
なし 遠い 近い
左 中 右 左 中 右 左 中 右
S1 S2 S3 S4 S5 S6 S7 S8 S9
前進 A1 0 0 0 0 0 0 0 0 0
後退 A2 0 0 0 0 0 0 0 0 0
左回転 A3 0 0 0 0 0 0 0 0 0
右回転 A4 0 0 0 0 0 0 0 0 0
上から見たところ
①
② ③
④ ⑤
カメラ画像
状態と行動の履歴
行動4回目の後
・ボールが近くの真ん中に見えた(S8)
・目標状態に達したため、報酬が与えられる
・目標状態に遷移するまでが1回の学習となり、
ロボットを別の場所からスタートさせて学習
を繰り返す
- 12. 報酬を元にした「状態と行動」表の更新例
ボールの
状態
行動
なし 遠い 近い
左 中 右 左 中 右 左 中 右
S1 S2 S3 S4 S5 S6 S7 S8 S9
前進 A1 0 0 0 0 0 0 0 0 0
後退 A2 0 0 0 0 0 0 0 0 0
左回転 A3 0 0 0 0 0 0 0 0 0
右回転 A4 0 0 0 0 0 0 0 0 0
上から見たところ
①
② ③
④ ⑤
カメラ画像
状態と行動の履歴
ボールの
状態
行動
なし 遠い 近い
左 中 右 左 中 右 左 中 右
S1 S2 S3 S4 S5 S6 S7 S8 S9
前進 A1 0 4 0 0 10 0 0 0 0
後退 A2 0 0 0 0 0 0 0 0 0
左回転 A3 0 6 0 8 0 0 0 0 0
右回転 A4 0 0 0 0 0 0 0 0 0
目標到達時:報酬を元に得点を与える
- 13. 強化学習でロボットに学習させてみた結果
赤いボール を 青い箱 まで持っていく行動を学習
・動画は次ページ参照か
https://youtu.be/7fUrinWahZs
・動画では、
ボールを探す ⇒ ボールを持つ ⇒ 青い箱を探す ⇒ 青い箱に行く
を複数の報酬を用いて学習結果も共有して実現した。