強化学習の問題設定:強化学習コース(1/N)
はじめに
強化学習(Reinforcement Learning)は、エージェントが環境との相互作用を通じて最適な行動を学習する機械学習の一分野です。本記事では、強化学習の基本的な問題設定について、図を使いながら段階的に説明していきます。
強化学習の基本構造
エージェントと環境の相互作用
強化学習の最も基本的な構造は、エージェント(プレーヤー)と環境の相互作用です。
この図が示すように、エージェントは学習する主体(プレーヤー)であり、環境はエージェントが相互作用する世界を表します。図中の横線は重要な境界を表しており、線の上側は環境系の世界で、エージェントが制御したり観測したりすることが基本的に不可能な領域を示しています。一方、線の下側はエージェントが制御したり観測したりすることができる領域を表しています。
エージェントは環境に対して行動
環境側の定義
ここからは、強化学習における環境がどのように準備・定義されるかを説明します。環境は、エージェントが相互作用する対象として、その内部状態、状態遷移の規則、観測のメカニズムなどが数学的に定義される必要があります。
内部状態の導入
エージェントと環境の相互作用において、環境は内部状態
これらの状態の時系列を記録するために履歴という概念を導入します。履歴
モデルの導入
環境の挙動をより明確に表現するために、状態モデルと報酬モデルを導入します。
状態モデル
^*
観測可能性とノイズ観測の概念
現実の多くの問題では、エージェントは環境の真の状態を直接観測できません[1]。
観測列
エージェント側の定義
ここまでは環境がどのように定義されるかを見てきました。ここからは、エージェントがこの環境の中でどのように振る舞い、学習するか、その核となる概念を定義します。なお、環境側の定義は問題設定そのものであり、エージェント側の自由にはできません。一方、これから紹介するエージェント側の概念はエージェントが自由に設定・操作できます。この非対称性の理解が強化学習を理解する上で特に重要なポイントです。
方策(Policy)の定義
エージェントの行動選択ルールを方策と呼びます。
方策
価値関数の導入
エージェントが学習を行うためには、各状態や行動の「良さ」を評価する基準が必要です。エージェントは価値関数という概念を内部に持ち、これを基に意思決定を行います。
状態価値関数
強化学習の問題設定
強化学習には基本的に2つの異なる問題設定があり、それぞれ目的と解決手法が異なるため注意深く区別する必要があります。
方策探索問題
一つ目は、良い方策を見つけたいという問題です。この問題設定では、最終的に良い方策を発見することが目的であり、学習過程における報酬はそれほど重視されません。多腕バンディットのような簡単な設定では、これはA/Bテストと呼ばれることもあります。
累積報酬最大化問題
二つ目は、学習過程における累積報酬を最大化したいという問題です。この問題設定では、学習中に得られる報酬の総和を最大化することが目的となります。多腕バンディット設定では、これが本来の多腕バンディット問題として知られています。
これらの問題設定は目的が根本的に異なるため、解決のためのアルゴリズムや手法も大きく異なります。前者では探索と活用のバランスよりも最終的な方策の質を重視し、後者では探索と活用の最適なバランスを学習過程全体で考慮する必要があります。
まとめ
強化学習では、まず環境側の定義とエージェント側の定義を明確に区別する必要があります。環境側では、内部状態、それらの履歴、状態遷移と報酬のモデル、そして観測のノイズが定義されます。エージェント側では、観測に基づく行動選択ルール(方策)と状態や行動の良さを評価する価値関数が定義されます。
さらに、強化学習の問題設定として方策探索問題と累積報酬最大化問題の2つがあることを理解することが重要です。これらは目的が異なるため、適用するアルゴリズムも根本的に異なります。
これらの概念を理解することで、強化学習アルゴリズムの仕組みや、なぜ特定の手法が有効なのかを深く理解できるようになります。各要素は相互に関連しており、それぞれが強化学習システム全体において重要な役割を果たしています。
-
ただし、大抵の解説においてこの観測の概念は難しすぎるので状態を全てエージェントが観測できるようにします。囲碁や将棋などの完全情報ゲームの時は実際に状態そのものを直接観測することが可能です。この時、観測列と履歴は一致します。 ↩︎
Discussion