AI(人工知能)用語集

強化学習の手法の一つQ学習とは?要点と基本を簡単理解しよう

Q学習

ロボットに関する機械学習の文脈などで強化学習についてよく耳にしますよね。囲碁AIが世界最強のプロキシを打ち負かしたニュースで強化学習という技術の名前は一躍有名になりました。

強化学習における手法の中にQ学習があります。本記事では機械学習手法のひとつである強化学習、およびその一手法であるQ学習について解説していきます。

機械学習と強化学習

まずは強化学習の機械学習における位置付けについて説明していきましょう。機械学習の中には大きく分けて教師あり学習・教師なし学習・強化学習があります。

教師あり学習の中には決定木やDeep Learningなどの手法があり、需要予測や画像分類などのタスクで用いられる手法です。モデルの入力になるデータと出力になる正解データを与え、それらの関係を学習することで出力を行うアルゴリズムのことをいいます。

教師なし学習には次元削減・クラスタリングのような手法があり、入力データのみからデータに潜む性質を把握するために利用されます。

一方で強化学習は試行錯誤を繰り返すことで、定義された価値を最大化する行動を取るように学習を進める手法で、著名な応用例としてはDeepMind社のAlphaGoがあり、このAlphaGoは当時の囲碁の世界チャンピオンを破ったことで有名でしょう。

強化学習の学習

ここからは強化学習の仕組みについて解説していきましょう。強化学習ではエージェントが現在の環境から取るべき行動を選択し、定義した与えられる価値が最大になるように学習を進めます。強化学習では「状態」、「行動」、「報酬」の3つの要素を定める必要があります。

以降ではこれら3つの要素について紹介しましょう。

状態

状態はエージェントが観測する現在の環境がどのような状況であるかを示します。囲碁の場合は盤上の白と黒の石の位置が状態にあたります。

行動

与えられた環境からエージェントが次にどのような行動を取るのかを示します。囲碁の場合だと盤上のどの位置に石を置くかが行動になります。

報酬

与えられた状態でエージェントがある行動を起こした場合に得られる報酬(即時報酬)のことを示しており、強化学習ではこの報酬を元に学習を進めます。囲碁ではその手を打った場合にどれだけ勝利に近くかが報酬となります。報酬と似た強化学習の概念に「価値」があり、報酬はひとつひとつの行動によるリターンを指しますが、価値は囲碁における勝敗のような長期的なリターンを示します。

強化学習のメリット

続いて強化学習のメリットについて紹介していきましょう。強化学習は教師あり学習と比較して以下のようなメリットがあります。

  • 教師データとして入力に対する出力の情報が必要ない
  • 囲碁のような各行動の評価が難しい問題も扱うことができる

まず教師データが不要な点ですが、画像分類などのような問題では画像に対してその画像に写る主な被写体が何であるかという入力に対する出力の正解データを与える必要がありますが、強化学習では入力に対して出力を与える必要がありません。

画像分類ではひとつの入力に対してひとつの出力を出すだけなので、複数の行動を評価する必要がないのです。しかし囲碁のような問題では各行動に対して評価を行う必要があり、これに対して人手で正解・不正解を与えることは非常に難しく、またコストがかかりすぎるため容易ではありません。

強化学習では最終的なひとつの勝敗情報などから各行動を評価することができます。

Q学習

ここまで機械学習の手法のひとつとしての強化学習の説明を行なってきました。ここからは強化学習の手法のひとつであり本記事の主題であるQ学習について説明をしていきましょう。

Q学習では上記の行動価値関数(Q関数)を更新することで学習を進めます。Q関数が状態sで行動aを取った時に得られる評価を返し、s_tが時刻tでの状態、a_tが状態s_tで取った行動、\alphaがQ値の更新率を示す学習率、\gammaが割引率を表します。

Q値は状態行動価値であり、ある状態である行動を取った場合の将来における価値を表します。囲碁でいうところその手を打った場合にどれだけ勝利に近くかを示します。この式に基づいて試行錯誤を繰り返し学習を進めることでエージェントの取る行動と求めたい結果を近づけていくわけですね。

DQN(Deep Q Network)

このQ学習をDeep Learningの技術を用いてさらに改良したものにDeep Q Network、DQNがあるのですが、DQNはAlphaGoにも採用されている強化学習アリゴリズムで、Q関数(行動価値関数)をニューラルネットワークを用いて求めます。

ある状態sを入力として、出力を各行動の行動価値にしたものがDQNで、ニューラルネットワークにはCNN(畳み込みニューラルネットワーク)を用います。深層学習の高い学習能力を用いることでより良いQ関数が学習できるものとなっているんですね。

まとめ

Q学習について重要な点をまとめましょう。

  • 強化学習は機械学習の分野のひとつで行動を繰り返し価値を最大化するように学習を進める手法
  • 強化学習の中にQ学習が存在し、未知のQ値を試行錯誤を行いながら学習していくアルゴリズム
  • Q値を推定するためにDeep Learningを用いたものがDQNと呼ばれ、複雑な状態においても高精度にQ値を推定することが可能になった
以上、ご覧いただきありがとうございました。

燃やせ探究心!突き詰めろ美しきソースコード!オタフ☆クラブ

みんなのAI(人工知能)用語集

トップへ戻る
タイトルとURLをコピーしました