強化学習における線形関数近似と勾配法は、状態や状態-行動の空間が大きすぎてテーブルで価値関数を表現できない場合に用いられる基本的かつ重要な手法です。この手法は、価値関数や行動価値関数をパラメトリックモデルとして近似し、勾配に基づく手法でパラメータを更新するという特徴があります。
1. 線形関数近似とは
線形関数近似は、特徴ベクトル(feature vector)と重みベクトルの線形結合として価値関数を表現する方法です。
表現形式
状態価値関数 を近似する場合:
ここで:
-
は重みベクトル(学習すべきパラメータ)
-
は状態 に対する特徴ベクトル(手動または自動で設計される)
状態-行動価値関数 の場合も同様に:
2. 勾配法(Gradient-based Update)
目的は、実際の価値(ターゲット)と近似値との誤差を小さくするように重みベクトル を更新することです。
例:TD(0) による更新
TD誤差(Temporal Difference Error)を用いると、
これをもとに、重み を以下のように更新します:
ここで:
-
は学習率(ステップサイズ)
-
はTD誤差(価値の予測誤差)
-
は状態 に対する特徴ベクトル
この更新は勾配降下法に基づくものであり、損失関数(たとえば平方誤差)を最小化する方向へ重みを調整します。
3. 線形関数近似の利点と限界
利点
-
実装がシンプル
-
理論解析がしやすい
-
大規模状態空間でも使用可能
限界
-
非線形な価値関数をうまく表現できない
-
特徴ベクトルの設計に依存
4. 深層強化学習との関係
線形関数近似は、深層強化学習(Deep RL)の出発点とも言えます。深層強化学習では、線形関数近似の代わりに多層ニューラルネットワークを用いて価値関数や方策を非線形に近似します。
ただし、基本的な更新の考え方(誤差に対する勾配でパラメータを更新)は深層学習においても同様であり、線形関数近似 + 勾配法は深層強化学習の基礎理論として重要な位置を占めています。
まとめ
-
線形関数近似では、価値関数を特徴ベクトルと重みベクトルの線形結合で近似する。
-
勾配法を用いて、TD誤差や損失に基づき重みを更新する。
-
シンプルで理論的にも解析しやすいが、複雑な関係を表現するには限界がある。
-
深層強化学習では非線形モデル(ニューラルネット)を用いるが、基本の更新法は線形近似と共通している。
生成日:2025/06/01