近年、AI(Artificial Intelligence、人工知能)はさまざまな分野で注目を集めています。今回は、そのAIの学習方法のひとつである「強化学習」を一緒に体験してみましょう。この体験を通して、AIがどのように学んでいくのか、その仕組みを楽しく理解できればと思います。
強化学習は、ゲームを繰り返し遊ぶうちに「こうすれば勝てる」というコツを見つけるように、「ある状態に対して、どの行動を選択すると報酬がもらえるのかを試行錯誤しながら学び、各状態で適切な行動を選べるようになる」学習方法です。
図1の表には、車の形をしたロボットが試行錯誤しながら経験した点数が記憶されています。具体的には、行に「状態(例えば、谷の底)」、列に「選べる行動(例えば、右に移動)」が対応付けられていて、状態と行動の組み合わせごとに「報酬がもらえるゴールにたどり着くための点数(例えば、谷の底で左に移動すると10点)」が記録されています。
この表は、最初はすべて0点から始まり、ロボットは行動をランダムに選びながら試行錯誤します。やがて偶然ゴールにたどり着くと報酬が与えられ、そのとき通った状態と行動の組み合わせが「良いもの」として点数に反映されます。次に同じ状態に来たときには、その点数を手がかりにして高い行動を選ぶようになります。こうした経験を積み重ねることで、ロボットは少しずつゴールに近づける行動を学んでいきます。
パソコンとGoogleアカウントを準備してください。
ブラウザで以下のURLをクリックします。
Googleアカウントでログイン後、図2のようにGoogle Colab環境で「QLearning.ipynb」が表示されます。
図2の赤枠にある「ドライブにコピー」をクリックします。すると、図3のように新しい環境「QLearning.ipynb のコピー」が表示されます。
図3の赤丸の再生ボタンをクリックして、学習を開始しましょう。図4のように、学習の様子が動画として順番に表示されます。ページを下にスクロールしながら、動画が生成されていく様子を確認してみましょう。
これは「Mountain Car」と呼ばれるタスクです。ロボットは状態(場所)に応じて、行動として「左向きのアクセル」「そのまま(0)」「右向きのアクセル」の3種類を選ぶことができます。しかし、谷底からいきなり右向きのアクセルを踏んでも、ゴールへ向かうだけの馬力がありません。そのため、まずは「左向き」のアクセルを踏んで左の山を登り、そこから「右向き」のアクセルを踏んで勢いをつけ、右側のゴールを目指す必要があります。
実行してから数十秒後、谷底にいる車ロボットが右側の山の頂上にあるゴールの旗を目指す様子が動画として表示されます。ロボットは強化学習によって、右に進むか左に進むかを図1のような表に基づいて判断し、より点数の高い方を選んで行動します。その行動の結果として得られる報酬をもとに点数を更新し、さらに良い行動を選べるように学習を重ねていきます。学習は合計で2万回行われ、2000回ごとに動画が表示されるため、全部で10本の動画を見ることができます。
プログラムコードを実際に実行することで、強化学習の仕組みを体験することができました。今回扱ったのはシンプルな例でしたが、実際にはさまざまな場面で活用されています。たとえば、ゲームの将棋やチェスで対戦相手として登場するAI、さらに、ロボットが歩き方を覚えたりする場面でも使われています。
このように、強化学習は私たちの身近な生活や社会を支える大切な仕組みになっているのです。
| 掲載大学 学部 |
和歌山大学 システム工学部 | 和歌山大学 システム工学部のページへ>> |
| 私たちが考える未来/地球を救う科学技術の定義 | 現在、環境問題や枯渇資源問題など、さまざまな問題に直面しています。 これまでもわたしたちの生活を身近に支えてきた”工学” が、これから直面する問題を解決するために重要な役割を担っていると考えます。 |