人工知能について勉強していると、「教師あり学習」や「教師なし学習」、「機械学習」などの用語が出てきますよね。「強化学習」もその1つで、現在最先端で活躍する人工知能を理解するために必須ともいえるほどとても重要な技術です。そのため、人工知能について知識を深めたいのならば、強化学習についてぜひとも知っておきたいところ。
しかし強化学習について、いまひとつ理解が追い付かない人や、聞いたことあるけどあいまいな理解のままでよく知らない人は多くいるでしょう。人工知能について勉強するとさまざまな用語が出てくるので、理解が追い付かなかったり、後回しになってしまったりするのは無理もありません。そこで今回は、強化学習について初心者でもわかりやすく解説します。
まずは、強化学習とはそもそもどのようなものであるか、簡単に解説しましょう。
強化学習を簡単に言うと何
強化学習は人間の手でデータと答えを与える教師あり学習やデータだけ与えてパターンを自ら見つける教師なし学習と並び、人工知能の学習方法の1つです(教師あり学習と教師なし学習については後ほど詳しく解説します)。強化学習を一言で説明すると、人工知能自身が試行錯誤しながら最適な手順を見つける学習方法、となります。
もう少しわかりやすいように、より詳しく解説しましょう。強化学習では、学習者である「エージェント」が設定された「環境」の中で、設定された「報酬」を最大化するように行動します。鍵カッコ内の用語について解説すると、以下のようになります。
- エージェント:試行錯誤を繰り返して行動を最適化する学習者
- 環境:状態の変化と報酬をエージェントに伝えたり与えたりするもの
- 報酬:エージェントが欲しいもので環境から与えられるもの
エージェントは最終的に報酬が一番多く得られる行動を自ら学習します。その結果、最適化されたシステムができあがるという寸法です。
強化学習のミソは入力による状況変化に対して対応を変える、すなわち行動の結果に応じて変化する環境に対応しようとする点。これは人間が普段おこなう試行錯誤に似ている、人間らしい学習方法でしょう。
ここまで強化学習について簡単な説明をしました。ところで人工知能について勉強している人にとって、強化学習が人工知能や機械学習とどのような関係にあるのかは気になりますよね。次に強化学習と機械学習、人工知能との関係について解説します。
強化学習と機械学習と人工知能の関係
強化学習と機械学習、人工知能との関係を簡潔に表すと、強化学習は機械学習の一種、そして機械学習は人工知能の一種です。そして、この情報をつなげると強化学習は人工知能の一種でしょう。ちなみに、人工知能の勉強をするとよく見るディープラーニング(深層学習)は機械学習の一種ですが、強化学習とは重なるところがあり、深層強化学習という技術が存在します。
機械学習とはたくさんのデータをもとに学習して、物事の判断や予測を可能とする技術です。機械学習にはさまざまな学習方法がありますが、教師あり学習、教師なし学習、そして強化学習の3つに分ける考え方があります。それぞれの学習方法に得手不得手があり、使い分けることがより良い人工知能の実現に必要といえるでしょう。
続いて、これまで強化学習との比較として、ところどころ登場した教師あり学習と教師なし学習について解説します。
「教師あり学習」と「教師なし学習」とは
教師あり学習と教師なし学習、響きは似ていて実際固定のデータを与えるという点は類似していますが、学習方法や活用方法は異なり、それぞれ次の通りです。
教師あり学習
入力するデータと出力する正解のデータをセットで与え、ある入力に対して正しい答え(出力)をするように学習させる方法になります。分類や予測は教師あり学習の得意とすることで、例えば迷惑メールの分類や天気の予測です。
教師なし学習
教師あり学習では入力するデータと正解のデータを与えていましたが、教師なし学習では正解のデータを与えず、入力されたデータからパターンをコンピュータ自身が見つける学習方法になります。データをグループ分けするクラスタリングという手法などが得意で、例えば購買データをもとにユーザをいくつかのグループに分けることが可能です。
このように、教師ありデータでは入力データと出力データを、教師なしデータでは入力データのみを与えるという決定的な違いがあります。そして、得意とすることも異なり、これは強化学習にもいえることです。では、強化学習はどのように活用されているか紹介しましょう。
強化学習の活用事例
ここでは強化学習によって成功した5つの活用事例を紹介します。
人間の囲碁のプロ棋士に勝利した
囲碁の人工知能であるAlphaGoはもしかしたら耳にしたことがあるかもしれません。一定のルールのもと、最大の報酬が得られるように最適な行動を見つけ出すことは強化学習の得意とするところです。最適な手を打ち、囲碁に勝つということを学習させることで人間を超える強さをAlphaGoは見せました。
アーケードゲームで人間を超えるスコアをたたき出した
Atariと呼ばれるアーケードゲームなどで人工知能が人間よりも高いスコアをたたき出しました。こちらも一定のルールのもと、最適な行動を見つけ出すという強化学習が得意分野で活躍した活用事例です。
自動車での自動運転の開発に活躍中
株式会社Preferred Networksでは車が密集した狭い道路の交差点という設定で強化学習を利用し、前方向と同程度に後ろ方向にも自動運転ができるようなシステム開発をしています。自動車のさまざまな行動に対して報酬を与えるという強化学習を用いることで、汎用的に対応できるプログラムを作ることが可能になる自動運転開発上のメリットがあるとのこと。
ロボットアームの動作を改良した
どのように動けば効率よくロボットアームを動かせるか、という課題に強化学習が使われています。自動車の自動運転技術と似たように、ロボットアームを汎用的な動きを実現する強化学習にGoogleが成功しています。
自然エネルギー発電のネットワークをより良くした
より良い状況を目指して行動するという最適化問題と呼ばれる問題も強化学習の得意分野です。株式会社GRIDでは、安定した供給の難しい自然エネルギー発電のネットワークでも状況に応じて供給を調整する技術に強化学習を使っています。
さまざまなところで活用されている強化学習ですが、一方で問題も抱えています。最後に強化学習の問題とこれからについて解説しましょう。
強化学習の問題と今後
強化学習の問題の1つとして状態行動空間の爆発があります。これは、環境の規模が大きくなる、つまり状態や行動が大きくなるとより良い最終的な出力の可能性が増え、あまりに大きくなると無限に近い状態となってしまい、演算が厳しくなるという問題です。この問題の解決にディープラーニングと強化学習の融合が考えられており、これからが期待されています。
他にも、教師あり学習や教師なし学習に比べて強化学習は産業への応用の事例が少なく、ゲーム分野に留まっているという課題があります。産業への活用事例がまだ少ないことや、難解な書籍が多いという点が産業への応用を困難にしている原因の一要素です。
教師あり学習や教師なし学習よりも強化学習は人間の思考とよく似た手法を取り、より人間らしい=人工知能らしい学習方法といえます。今後は強化学習が産業分野での活用の広がりや人工知能の可能性の拡大を後押しすることが期待されるでしょう。
さて、今回は強化学習について初心者でもわかりやすく解説しました。強化学習とは人工知能の学習方法の1つで、人工知能自身が試行錯誤しながら最適な手順を見つける学習方法、でしたよね。強化学習と機械学習、人工知能の関係は、人工知能>機械学習>強化学習となっています。
強化学習と並ぶ機械学習の一種である教師あり学習と教師なし学習は次のようなものでした。
- 教師あり学習:入力データと正解の出力データを与え、正解のデータを出力するようにする学習方法
- 教師なしデータ:入力データのみを与え、入力データにあるパターンをコンピュータ自身に見つけさせる学習方法
今回紹介した強化学習の活用事例は次の5つです。
- 人間の囲碁のプロ棋士に勝利するシステムの開発
- アーケードゲームで人間を超えるスコアを出すシステムの開発
- 自動車での自動運転のシステムの一部の開発
- ロボットアームの動作の改良
- 自然エネルギー発電ネットワークの改良
強化学習は状態行動空間の爆発という計算の煩雑化問題や産業応用の少なさ、わかりやすい書籍の少なさなど強化学習の活用にはまだまだ越えなければならない壁があります。しかしながら、強化学習は大きな可能性を秘めているのでこれからの活躍に期待しましょう。