ネットの随所に記述されているので、読者の方々はご存だと思うが、機械学習の種類は、教師なし学習(Unsupervised Learning)、教師あり学習(Supervised Learning)、強化学習(Reinforcement Learning)の3種類がある。
「教師あり学習」と「教師なし学習」の違いは明確である。「教師あり学習」は文字通り、教師(データ)がありそのデータに一致するように学習が行われる。それに対して、「教師なし学習」は教師データはなく、入力データの特徴量を基にグループ化を繰り返すことでクラス分類を実現するような学習を指す。では、強化学習とはどのような学習なのか?
強化学習とは、簡単に表現すると、個々の行動・判断には教師データは存在せず一連の行動(これをepisodeと呼ぶ)が完了した時点で得られる報酬(これをrewardと呼ぶ)が最大になるように方策(これをpolicyと呼ぶ)を決定する学習を指す。
周囲の状況(これをenvironmentと呼ぶ)が逐次変動したり自分が変動することで周囲環境が変わるなど、すべての組み合わせを予め知り、適した方策を教師データとして準備するのが困難な場合に利用される。強化学習の最も有名な利用事例は、AlphaGoである囲碁を「教師あり学習」で構築しようとすると、すべての盤面のパターンを網羅し、それに対する打つ手を定義する必要がある。ところが、すべての盤面のパターンは膨大な数がありそれらに対してその先の変化のすべてを予測し、打ち手を定義し学習することは困難である。それに対し、強化学習は個々の「打つ手」ではなく、その打つ手を決定する「方策」を1手、1手ごとではなく1局全体を通じて報酬を最大になるように獲得するように学習を実施する。