前回はこちら

 今回取り上げる強化学習(reinforcement learning)は、教師ありでも教師なし学習でもない第3の機械学習アルゴリズムです。「教師あり学習と教師なし学習の中間の方法」と言うこともありますが、「半教師あり学習」というアルゴリズムがあるので、あまり適切な表現とは言えません。

 強化学習は自分で色々試行錯誤して、ときには痛い目を見ることもありますが、結果的には良い行動が取れるように学習するというものです。これって何だかずいぶん動物の知能っぽいと思いませんか?

 強化学習自体は随分前から考案されているアルゴリズムですが、最近また注目を集めてきています。例えば、Google傘下のDeepMind社が開発した「AlphaGo」は、プロ囲碁棋士の李世乭(イ・セドル)氏に勝利し話題となりました。AlphaGoの仕組みは非常に複雑なのでここでは詳しく説明しませんが、ディープラーニングと強化学習を組み合わせたシステムになっています。AlphaGoは自分自身と戦って、どうすればもっと強くなれるのかを強化学習によって獲得していったのです。

試行錯誤でベストな解を導く

 強化学習は、

  • エージェント(例えばロボットなど、自律的に動作できるモノやソフトウエアのこと)
  • 環境
  • 行動
  • 報酬

が与えられた時に、報酬を最大化する行動の選び方(これを方策といいます)を学習していく方法です。図1に示すように、エージェントは現在の環境を観測して、次の行動を選択します。一度行動すると、環境から報酬が得られたり、罰が得られたり、何も起きなかったりします。このフェーズを繰り返して、将来にわたって報酬が最大化されるような方策を得ることが、強化学習の目的です。

図1 強化学習の模式図
図1 強化学習の模式図
[画像のクリックで拡大表示]

 昔テレビ番組か何かで見たイタズラで、「右足を上げるとテレビがつく」ようにして、何も知らない人(被験者)がテレビの前を通ったときにイタズラを仕掛けるというものがありました。最初、被験者はテレビが付いたり消えたりするのを不思議そうに見ますが、じっと見ていると(両足が地面についているので)テレビは消えてしまいます。色々試行錯誤したのち、右足を上げて片足立ちすることでテレビが見られることに気づく、というわけです。例えばこれも、強化学習の一例です。

 このイタズラを図1に当てはめると、「環境」は被験者がいる環境を指し、「行動」は身体をさまざまに動かすこと、「報酬」は「テレビがつく」ことに当たります。「エージェント」はもちろん被験者自身のことです。このときの最適な方策は「右足を上げ続ける」です。これは簡単そうで意外と難しい問題で、その時に可能な行動は無数にあるのに、ごく少ない試行回数で、人はベストな解に到達できるわけです。