📖

強化学習の問題設定:強化学習コース(1/N)

に公開

はじめに

強化学習(Reinforcement Learning)は、エージェントが環境との相互作用を通じて最適な行動を学習する機械学習の一分野です。本記事では、強化学習の基本的な問題設定について、図を使いながら段階的に説明していきます。

強化学習の基本構造

エージェントと環境の相互作用

強化学習の最も基本的な構造は、エージェント(プレーヤー)と環境の相互作用です。

スライド1:基本的な相互作用

この図が示すように、エージェントは学習する主体(プレーヤー)であり、環境はエージェントが相互作用する世界を表します。図中の横線は重要な境界を表しており、線の上側は環境系の世界で、エージェントが制御したり観測したりすることが基本的に不可能な領域を示しています。一方、線の下側はエージェントが制御したり観測したりすることができる領域を表しています。

エージェントは環境に対して行動 a \in \mathcal{A} を実行し、その結果として環境からは報酬 r \in \mathbb{R} を受け取ります。この相互作用の繰り返しにより、エージェントは環境における最適な振る舞いを学習していきます。

環境側の定義

ここからは、強化学習における環境がどのように準備・定義されるかを説明します。環境は、エージェントが相互作用する対象として、その内部状態、状態遷移の規則、観測のメカニズムなどが数学的に定義される必要があります。

内部状態の導入

エージェントと環境の相互作用において、環境は内部状態 s \in \mathcal{S} を持っています。この内部状態は環境の現在の状況を完全に表現するものですが、エージェントから直接観測できるとは限りません。

スライド2:履歴の定義

これらの状態の時系列を記録するために履歴という概念を導入します。履歴 h_t = [s_0, a_0, r_0, s_1, a_1, r_1, ..., s_t, a_t, r_t] は時刻 t までのすべての状態、行動、報酬の系列を表し、過去の全ての情報を保持する役割を果たします。ただし、問題設定によっては履歴に報酬 r を含めない場合もあります。

モデルの導入

環境の挙動をより明確に表現するために、状態モデルと報酬モデルを導入します。

スライド3:モデルの導入

状態モデル P(s_{t+1}|s_t, a_t, h_{t-1}) は、現在の状態、行動、過去の履歴から次の状態への遷移を表します。報酬モデル R(r_t|s_t, a_t, s_{t+1}, h_{t-1}) は、現在の状態、行動、次の状態、過去の履歴から報酬がどのように決定されるかを表します。これらのモデルは、環境がどのような規則に従って次の状態を決定し、報酬を与えるかを数学的に表現したものです。モデルが履歴 h_{t-1} を引数に取っていることから分かるように、環境の挙動は過去の全ての情報に依存する可能性があることを示しています。

観測可能性とノイズ^*

観測の概念

現実の多くの問題では、エージェントは環境の真の状態を直接観測できません[1]

スライド4:観測の導入

観測列 o_t = [\tilde{s}_0, a_0, r_0, \tilde{s}_1, a_1, r_1, ..., \tilde{s}_t, a_t, r_t] において、\tilde{s} は観測された状態を表し、これにはノイズ C(\tilde{s}|s) が含まれています。観測列は真の履歴とは異なり、エージェントが実際に知覚できる情報のみで構成されています。

エージェント側の定義

ここまでは環境がどのように定義されるかを見てきました。ここからは、エージェントがこの環境の中でどのように振る舞い、学習するか、その核となる概念を定義します。なお、環境側の定義は問題設定そのものであり、エージェント側の自由にはできません。一方、これから紹介するエージェント側の概念はエージェントが自由に設定・操作できます。この非対称性の理解が強化学習を理解する上で特に重要なポイントです。

方策(Policy)の定義

エージェントの行動選択ルールを方策と呼びます。

スライド5:方策の定義

方策 \pi(a_t|\tilde{s}_t, o_{t-1}) は、現在の観測状態 \tilde{s}_t と過去の観測列 o_{t-1} から次の行動 a_t を選択する確率分布として定義されます。この定義により、エージェントは不完全な情報下でも行動を決定できます。方策は決定論的(特定の状態で必ず同じ行動を選択)な場合もあれば、確率的(状態に応じて行動を確率的に選択)な場合もあります。

価値関数の導入

エージェントが学習を行うためには、各状態や行動の「良さ」を評価する基準が必要です。エージェントは価値関数という概念を内部に持ち、これを基に意思決定を行います。

スライド6:価値関数

状態価値関数 V_t^\pi(\tilde{s}) は、状態 \tilde{s} から方策 \pi に従った場合に得られる報酬に基づく価値を表します。一方、行動価値関数 Q_t^\pi(\tilde{s}, a) は、状態 \tilde{s} で行動 a を取り、その後方策 \pi に従った場合の報酬に基づく価値を表します。これらの価値関数はエージェントが内部で保持し、更新していくものであり、各状態や行動の「良さ」を定量的に評価するための基準となります。エージェントはこれらの価値関数を正確に推定し、更新していくことで学習を進めます。

強化学習の問題設定

強化学習には基本的に2つの異なる問題設定があり、それぞれ目的と解決手法が異なるため注意深く区別する必要があります。

スライド7:強化学習の目標

方策探索問題

一つ目は、良い方策を見つけたいという問題です。この問題設定では、最終的に良い方策を発見することが目的であり、学習過程における報酬はそれほど重視されません。多腕バンディットのような簡単な設定では、これはA/Bテストと呼ばれることもあります。

累積報酬最大化問題

二つ目は、学習過程における累積報酬を最大化したいという問題です。この問題設定では、学習中に得られる報酬の総和を最大化することが目的となります。多腕バンディット設定では、これが本来の多腕バンディット問題として知られています。

これらの問題設定は目的が根本的に異なるため、解決のためのアルゴリズムや手法も大きく異なります。前者では探索と活用のバランスよりも最終的な方策の質を重視し、後者では探索と活用の最適なバランスを学習過程全体で考慮する必要があります。

まとめ

強化学習では、まず環境側の定義エージェント側の定義を明確に区別する必要があります。環境側では、内部状態、それらの履歴、状態遷移と報酬のモデル、そして観測のノイズが定義されます。エージェント側では、観測に基づく行動選択ルール(方策)と状態や行動の良さを評価する価値関数が定義されます。

さらに、強化学習の問題設定として方策探索問題累積報酬最大化問題の2つがあることを理解することが重要です。これらは目的が異なるため、適用するアルゴリズムも根本的に異なります。

これらの概念を理解することで、強化学習アルゴリズムの仕組みや、なぜ特定の手法が有効なのかを深く理解できるようになります。各要素は相互に関連しており、それぞれが強化学習システム全体において重要な役割を果たしています。

脚注
  1. ただし、大抵の解説においてこの観測の概念は難しすぎるので状態を全てエージェントが観測できるようにします。囲碁や将棋などの完全情報ゲームの時は実際に状態そのものを直接観測することが可能です。この時、観測列と履歴は一致します。 ↩︎

Discussion