強化学習 (G検定)

強化学習

1. 定義と概要

強化学習とは、エージェントが環境との相互作用を繰り返しながら、行動の結果として得られる報酬の合計である累積報酬(一時点の報酬ではなく、将来にわたって得られる報酬の合計)を最大化するように、行動の選び方を試行錯誤で学習していく手法です。教師あり学習・教師なし学習と並ぶ、機械学習の3つの学習方式の一つにあたります。

代表例としては、囲碁AI(AlphaGo等)、ロボットの歩行制御、ビデオゲームAI、自動運転の走行判断が挙げられます。いずれも、あらかじめ正解の手順を書き下しにくい課題という共通点があります。

従来のプログラムは、人間があらかじめ最適な操作手順をルールとして記述する方法が中心でした。しかし、囲碁の一手やロボットの関節制御のように、最適な手順を人間が言葉やルールとして書き切れない課題は数多く存在します。

強化学習は、正解データをあらかじめ与える代わりに、行動した結果を報酬という数値のフィードバックとして与え、エージェント自身に試行錯誤させて最適な行動方針を発見させる発想として発展してきました。ルールを人手で網羅するのではなく、エージェントが経験を積み重ねながら方針を洗練させていく点が、強化学習らしい学び方です。

近年は深層学習と組み合わせた深層強化学習(ニューラルネットワークと組み合わせて複雑な状態を扱えるようにした強化学習)によって、囲碁やビデオゲームで高い性能を達成した事例が広く知られています。

2. 試験対策ポイント

まず整理しておきたいのは、強化学習が機械学習の3分類、教師あり学習・教師なし学習・強化学習の一つに位置づけられる点です。教師あり学習や教師なし学習が正解ラベル(あらかじめ用意された正しい答え)をもとに学習するのに対し、強化学習は行動の結果として得られる報酬を手がかりに学習します。この違いは第3節で改めて扱います。

基本の枠組みは、エージェント・環境・状態・行動・報酬という5要素で構成されます。環境とは、エージェントの行動を受け取り、次の状態と報酬を返す仕組みです。状態とは、エージェントがその時点で観測する状況で、行動とはそれに応じてエージェントが選ぶ選択肢です。報酬は、行動の良し悪しを数値で表したフィードバックにあたります。

エージェントが状態を観測して行動を選び、環境から報酬と次の状態を受け取るという一連の流れは、マルコフ決定過程(MDP)として定式化されます。マルコフ決定過程(MDP)とは、現在の状態と行動だけで次の状態と報酬が決まるという、強化学習の数学的な枠組みです。この定式化の理解が土台となる論点です。

学習の目標は、目先の報酬ではなく将来にわたって得られる報酬の合計である累積報酬の最大化にあります。行動の結果がすぐには現れない遅延報酬(行動した直後ではなく、しばらく経ってから結果として現れる報酬)を扱う点は、教師あり学習と異なる特徴です。

また、既知の高報酬行動を選ぶ活用(これまでの経験から報酬が高いとわかっている行動を選ぶこと)と、まだ試していない行動を試す探索(まだ試していない行動を試して新しい情報を得ること)のバランスを取る必要があります。この探索と活用のトレードオフは、強化学習で繰り返し取り上げられる論点です。

行動の選び方を決める方策(ある状態でどの行動を選ぶかを決めるルール)や、状態や行動の価値を見積もる価値関数(ある状態や行動を選んだときに将来得られる報酬の見込みを数値化したもの)も、強化学習を構成する重要な概念です。

代表的な学習アルゴリズムには、Q学習(状態と行動の組み合わせの価値を学習するアルゴリズム)と、SARSA法(Q学習と並ぶ代表的な学習アルゴリズムの一つ)があります。方策勾配法(行動の選び方そのものを直接改善していく学習アルゴリズムの一群)という手法もあります。

これらは、深層学習と組み合わせたDQN等の深層強化学習へと発展してきました。本記事は総論として枠組み全体を扱うため、個々のアルゴリズムは名称と位置づけの紹介にとどめ、詳細は個別の記事で扱います。

3. 関連概念との比較・相違点

教師あり学習との最大の違いは、正解ラベル付きのデータをもとに入力と出力の対応関係を学習するか、行動の結果として得られる報酬を手がかりに試行錯誤で学習するかという学習方式にあります。教師あり学習は、画像に写っているものが猫か犬かといった正解が事前に分かっているデータから学習しますが、強化学習にはそうした正解データが与えられません。

エージェントは自ら行動し、その結果として得られる報酬をもとに、どの行動が良かったのかを後から推測しながら学習を進めます。この違いは、強化学習と教師あり学習を取り違えやすい典型的な論点になります。

教師なし学習との違いは、目的にあります。教師なし学習は、正解ラベルを必要としない点では強化学習と共通していますが、目的はデータそのものの構造やパターンを見出すことにあります。たとえば、購入履歴から似た嗜好を持つ顧客をグループ分けするクラスタリングは、教師なし学習の代表的な手法です。

これに対して強化学習の目的は、報酬を最大化する行動方針を学習することにあります。両者は、学習に使う手がかりの有無ではなく、何のために学習するのかという点で区別されます。

3つの学習方式を、学習の手がかりと目的という観点で並べると、次のように対応しています。

学習方式 学習の手がかり 何を目指すか
教師あり学習 正解ラベル付きのデータ 入力と出力の対応関係を学習する
教師なし学習 正解ラベルを使わないデータ データそのものの構造やパターンを見出す
強化学習 行動の結果として得られる報酬 報酬を最大化する行動方針を学習する

手がかりが正解ラベルなのか報酬なのか、そして何を目指すのかという2つの軸で見ると、3分類それぞれの位置がつかみやすくなります。

4. ビジネス・実務での活用シナリオ

ロボティクス・製造の現場では、ロボットアームや脚型ロボットが試行錯誤を重ねる中で、関節の動かし方を学習する事例があります。対象物を落とさずに掴む、転倒せずに歩行するといった制御を、人間があらかじめ細かい手順としてプログラムする代わりに、ロボット自身が経験から獲得します。

複雑な物理的な動作を人間の手でルール化しきれない場面において、強化学習は有効な選択肢になります。人間があらかじめ想定しきれない状況にも、経験を通じて対応できるようになる点が、強化学習を用いる意義にあたります。

ゲーム・エンターテインメントの分野では、囲碁AI・将棋AI・ビデオゲームAI等が、対局や対戦を繰り返す中で勝敗を報酬として学習し、人間の熟練者を上回る打ち手を身につけてきました。あらかじめ定めた評価基準に頼らず、膨大な対局経験そのものから強い手を導き出せる点が、従来のルールベースの対局プログラムとの違いです。対局を重ねるほど方策が洗練されていく点は、強化学習ならではの学習の進み方です。

自動運転・物流の分野では、走行シミュレーション環境の中で加減速やハンドル操作を試行錯誤し、安全な走行や到着時間の短縮を報酬として最適な運転方針を学習する取り組みが進められています。実際の道路で試行錯誤するにはリスクが伴うため、シミュレーション環境での学習は、安全性とコストの両面から欠かせない前提になっています。シミュレーションで学習した方針を段階的に検証しながら実環境へ適用していく進め方が、実務では重視されています。

5. 要点まとめ

  • 強化学習は、エージェントが環境との試行錯誤を通じて累積報酬を最大化する行動を学習する機械学習の手法で、教師あり学習・教師なし学習と並ぶ3分類の一つにあたります。
  • 基本の枠組みはエージェント・環境・状態・行動・報酬の5要素で、このループはマルコフ決定過程として定式化され、探索と活用のバランスが課題となります。
  • Q学習・SARSA法・方策勾配法・深層強化学習といった個別のアルゴリズムは、この共通の枠組みを実現する具体的な手法として位置づけられます。

6. 確認問題

問1強化学習は、エージェントが環境との相互作用の中で得られる報酬の合計、すなわち累積報酬を最大化するように行動を学習する機械学習の手法である。

解答・解説をみる

○ 正しい

強化学習の目的は、目先の報酬ではなく将来にわたる報酬の合計である累積報酬の最大化にあります。この目的意識は、教師あり学習との違いを整理するうえでも軸になります。

問2強化学習は教師あり学習と同様に、あらかじめ用意された正解ラベル付きのデータをもとに入力と出力の対応関係を学習する手法である。

解答・解説をみる

× 誤り

正しくは、強化学習は正解ラベルを用いず、行動した結果として得られる報酬を手がかりに試行錯誤で学習します。教師あり学習の学習方式と混同させる記述にあたります。

問3強化学習における探索と活用のトレードオフとは、既知の高報酬行動を選ぶ活用と、未知の行動を試す探索のバランスを取る必要があるという考え方である。

解答・解説をみる

○ 正しい

活用ばかりに偏ると、より高い報酬を得られる未知の行動を見逃す可能性があります。そのため、両者の両立が課題になります。