モデルフリー VS モデルベース - Shinichi0713/RL-study GitHub Wiki
ざっくりとした違い
「モデルフリー」と「モデルが既知(モデルベース)」の違いは、エージェントが環境の動作をどの程度知っているか、またその知識をどのように利用するかに関係します。
モデルとは
エージェントが環境の動作を予測するために使用する数学的または計算的な表現。
- 環境の遷移モデル(Transition Model)
環境の遷移モデルは、現在の状態とエージェントの行動に基づいて、次の状態がどのように決定されるかを記述します。
数式で表すと、遷移モデルは以下のようになります。
\begin{align}
P(s'|s, a) \\
- s: 現在の状態s \\
- a: エージェントの行動 \\
- s': 次の状態 \\
\end{align}
- 報酬モデル(Reward Model)
報酬モデルは、特定の状態と行動に対してエージェントが得る報酬を記述します。
数式で表すと、報酬モデルは以下のようになります。
\begin{align}
R(s, a) \\
- s: 現在の状態s \\
- a: エージェントの行動 \\
\end{align}
モデルの役割
モデルベース強化学習では、この環境モデルを利用して、シミュレーションや計画を行い、最適な行動方針を見つけるために使用します。具体的には、モデルを使って未来の状態や報酬を予測し、その情報を基に最適な行動を選択します。
モデルの構築方法
環境モデルは以下の方法で構築されます。
事前知識:
環境の物理法則やルールが既知である場合、それらを利用してモデルを構築します。 例: ロボットの運動モデル、自動車の動力学モデルなど。 データからの学習:
環境との相互作用から得られるデータを基に、遷移確率や報酬関数を学習します。 例: 統計的手法や機械学習アルゴリズムを使用して、経験からモデルを推定します。
モデルフリー
特徴
- 環境モデルの不使用
エージェントは環境の遷移確率や報酬関数を知らないで、直接的な試行錯誤を通じて最適な行動方針(ポリシー)を学ぶ。 - 直接的な学習
エージェントは、環境との相互作用を通じて得られる経験から、価値関数やポリシーを直接学習する。 - 代表的手法
Q-Learning, SARSA, Deep Q-Networks, Policy Gradient Methods
応用例
- ゲームプレイ: Atariゲーム、囲碁(AlphaGo)、チェスなどのゲームにおいて、エージェントは試行錯誤を繰り返しながら最適な戦略を学習します。
- ロボティクス: 物理的な環境でのロボットの動作学習において、環境の詳細なモデルを持たずに動作を学習します。
メリット・デメリット
メリット
- 環境モデルが不要なため、事前に環境の詳細を知る必要がない。
- 実際の環境での試行錯誤を通じて学習するため、現実の複雑な環境にも適用可能。
デメリット
- 試行錯誤の過程で多くのデータが必要であり、学習が遅い
- サンプル効率が低く、特に高次元の状態空間では学習が困難になる
確かに、強化学習は毎回学習が遅い、という点と、学習がいつもおなじような結果になりづらい、という傾向があった。
モデルベース強化学習
特徴
- 環境モデルの使用: エージェントは環境の遷移確率や報酬関数を知っているか、これらを学習します。
- 間接的な学習: エージェントは環境モデルを利用して、シミュレーションを通じて最適な行動方針を計算します。
- 代表的手法: Dynamic Programming (DP)、Model Predictive Control (MPC)、Dyna-Qなど。
応用例
- 計画問題: ロボットの経路計画、自動運転車のナビゲーションなど、環境モデルが比較的容易に取得できる問題に適用されます。
- シミュレーションベースの学習: 環境モデルを使用してシミュレーションを行い、実際の環境での試行錯誤を減らすことができます。
メリット・デメリット
メリット
- サンプル効率が高く、少ないデータで高性能なポリシーを学習できます。
- 環境モデルを利用することで、計画や予測が可能です。
デメリット
- 環境モデルの精度に依存します。モデルが不正確だと、学習結果も不正確になります。
- 複雑な環境では、正確な環境モデルを構築することが難しい場合があります。