強化学習輪読 #16
今日の概要
- 関数がテーブルではなくパラメータで圧縮した形式に.
- gradient method と semi-gradient method
- 線形関数による近似
Chapter 9 On-policy Prediction with Approximation
この章では強化学習における関数近似を紹介する.特に状態価値関数のオンポリシーを扱う.
-
ここまでの章:
- テーブル型の関数
- 任意の
に対応した価値が実数値として与えられる設定s \in S
-
この章:
- パラメータ
を用いて状態価値関数を近似\mathbf{w} -
と表記する\hat{v}(s, \mathbf{w}) \approx v_{\pi}(s)
- パラメータ
-
が\hat{v} - 線形関数なら
は特徴量に対する重みベクトル\mathbf{w} - 多層ニューラルネットなら重み
は(connection weight)など\mathbf{w} - 決定木ならば
は全ての分割点と葉の重みなど\mathbf{w}
- 線形関数なら
多くの場合,この
ここで注目すべきはある状態について価値が更新されたとき,それに関連して他の状態の価値も更新される点である.これをgeneralization と言う.
関数近似(generalization)のメリットは,
- メモリ削減
- 関係する状態の結果から類推して学習できる
- 状態を部分的にしか観測していなくても未観測な状態について学習できる
といった点があげられる.一方で運用やアルゴリズム/結果の理解を難しくさせていると言うデメリットもある.
9.1 Value-function Approximation
価値関数の近似について述べていく.
この本で紹介されている強化学習の手法は,価値関数の推定を繰り返して更新していく方法である.
復習
- モンテカルロ:エピソードの終端までの情報をターゲット (数式2行目)
- TD(0):次の状態の推定価値が正しいと仮定したターゲット(数式4行目)
- n-step TD:2つの中間をとった形式 (数式5行目)
ここからはその更新対象とそのターゲットの関係を表す記号として
これを用いて,関数近似の場合の上記3つを記述すると,
- MC:
S_t \mapsto G_t ~~~ (= R_t + \gamma R_{t+1} + \cdots) - TD(0):
S_t \mapsto R_{t+1} + \gamma \hat{v}(S_{t+1}, \mathbf{w_t}) - n-step TD:
S_t \mapsto G_{t:t+n} (= R_t + \gamma R_{t+1} + \cdots + \gamma^{n}R_{t+n} + \hat{v}(S_{t+n}, \mathbf{w_t}))
となる.また,DPの政策評価における更新は,
- DP 政策評価:
s \mapsto \mathbb{E}_{\pi}[R_{t+1} + \gamma \hat{v}(S_{t+1}, \mathbf{w_t})|S_t = s]
と書ける.(任意の状態sについて全て更新すると言う意味)
- ここまで:ある状態sの価値を更新してその他の状態は動かさない
- ここから:1つの状態価値について更新すると他の状態の価値も更新される
入力と出力の例を用いて入出力を関係付ける関数を近似的に求める機械学習は教師あり学習と言う.そして出力が実数のときは特に関数近似法(function approximation)と呼ばれる(?).このようにして各更新を単純な教師あり学習としてみることで強化学習を行うことができる.基本的に,
- ニューラルネット
- 決定木
- 多変量回帰
などどんな手法でも可能であるが,全てが強化学習にふさわしいわけではない.それはオンライン性の面で,
- インクリメンタルに取得したデータから効率的に学習できる
- 非定常な(時間経過によって変化する)目的関数を扱える
ことが求められる.これは同じ訓練データでも異なる値をとることが多いためである.また,中には政策
\overline{VE} )
9.2 The Prediction Objective (予測の目的関数
テーブル形式の関数では,
- 真の分布から観測される実現値から推定
- それぞれの状態が独立
しているため予測の精度についてあまり重要視しなかった.しかし,関数近似をする際は,
- ある状態の更新が他の多くの状態に影響を与える
- 全ての状態の値を得ることができない
と言う性質がある.そのため
を設定する.この
- 継続的なタスク
- エピソードのタスク
でそれぞれ区別する必要があるが,継続的なタスクではいずれ定常な分布となる.また,エピソードのタスクでは以下のように
-
:sでエピソードが始まる確率h(s) -
:s推移する平均的な回数\eta(s)
とすると,
となる.そして,割引率のないオンポリシー分布は,
と計算できる.(割引率が
理想的には
続く二つのセクションでは,
- 現状の推定値を用いて次の時点の推定値の更新を行う関数近似の強化学習のフレームワーク
- (特に線形関数を用いた)勾配計算に基づく更新方法
について説明する.
9.3Stochastic-gradient and Semi-gradient Methods
確率的勾配降下法(SGD)をベースとした強化学習の手法を紹介する.
gradient method
まず,
\mathbf{w} = (w_1, w_2, \ldots, w_d)^T -
は任意の\hat{v}(s,\mathbf{w}) についてs \in S で微分可能\mathbf{w} - タイムステップ
ごとにt を更新\mathbf{w} -
におけるt を\mathbf{w} とする\mathbf{w}_t - 各タイムステップにおいて,
のサンプルを観測S_t \mapsto v_{\pi}(S_t)
と設定する.このとき,
- 分布
から状態を観測する\mu
と言えるため,
のような更新式で表される.
(勾配を降るようにパラメータを更新する勾配法を確率的なサンプリングによって行う)
ただし,
である.しかし,真の
とする.もちろん
であれば,十分小さい
例えば,政策
semi-gradient method
既知の推定値を正しいとした元で次の時点の推定を行うブートストラップな手法(DP, TDなど)では,これが難しい.例えばDPでは
としてしまい,
ターゲットが
この方法は勾配法(gradient method)と違い,ロバストに収束することが一般に保証されていない.
しかし,semi-gradient methodには以下のメリットがあり,利用される場合がある.
-
が線形関数のときは収束する.\hat{v} - 高速な学習が可能
- 継続的にオンラインで学習可能
例えば,典型的なsemi-gradient法のsemi-gradient TD(0)はターゲット
として行う.疑似コードは以下のように表される.
state aggregation (状態集約)
状態集約は最も簡単な関数近似で状態をグループ化し,各グループに一つの価値をもつ.
これはSGDの特殊な形式だと考えることができ,
-
:各グループの価値を合わすグループ数次元のベクトル\mathbf{w} - 勾配
のg番目の要素は,\nabla\hat{v}
として考えられる.
Example 9.1 State Aggregation on the 1000-state Random Walk
Example 6.2などで行ったランダムウォークについて1000個の状態がある場合を考える.
- 左から右に番号1~1000の状態
- 500からスタート
- 今いる状態から左の100個もしくは右の100個の合計200状態に当確率で遷移
- はみ出したとき,もしくは1,1000に到達した時点で終了
- 左で終了すると報酬-1
- 右で終了すると報酬+1
- 赤線は真の価値関数
- 灰色は分布
\mu - 青線は以下の条件でgradient MCを行った際の各グループの価値
- 100000エピソード
\alpha = 2 \times 10^{-5} - 左から100個ずつ10グループに集約
この結果から
- おおよそ
の大域的最適解\overline{VE} - 分布の重み付けによって端の方は誤差が多少大きくなっている
と言うことがわかる.
Linear Method
gradient linear method
x_i : \mathcal{S} \rightarrow \mathbb{R} ~~ (i = 1, 2, \ldots, d) - 状態sの特徴量:
\mathbf{x}(s) = (x_1(s), x_2(s), \ldots, x_d(s))^T \hat{v}(s, \mathbf{w}) = \mathbf{w}^T \mathbf{x}(s) = \sum_{i=1}^d w_i x_i(s)
とする.このとき,
となるから,一般的なSGDにおける更新は,
数学的に扱いやすいため解析によく用いられる.収束などの結果はこの線形関数に関してであることが多い.
特に線形の場合,局所最適解がただ一つであることから,局所最適解に収束する保証があるアルゴリズムが大域的最適解に収束することが保証されることになる.(e.g. gradient MC)
semi-gradient linear method
semi-gradient TD(0)も線形関数による近似であれば収束することが知られている.
(ただし,gradient methodと違い,大域的最適解への保証ではない)
更新式は,
となる.ここで,
とすると,
と計算でき,
と計算できる.実際,semi-gradient TD(0)ではこの点に収束することがわかっている.
収束の証明と逆行列の存在を以下で証明する.
\mathbf{w}_{TD} への収束
[証明] 以下を仮定して進める(あとで証明).
-
が正定値行列A
上の式(*)を変形すると,
と表せる.マルコフ過程であるから,
と表せて,漸化式を解くと,
となる.
より
証明終了
A が正定値
[証明] 継続的なタスクで
ただし,
-
:特徴行列X \in \mathbb{R}^{|\mathcal{S}|\times d} -
:推移確率行列P \in \mathbb{R}^{|\mathcal{S}|\times \mathcal{S}} -
:D \in \mathbb{R}^{|\mathcal{S}|\times \mathcal{S}} diag(\mu)
を表す.
ここで,以下の既知の2つの定理を証明なしに用いる.
定理1
正方行列
定理2
対称行列
以上を用いれば以下の手順で証明できる.
-
の対角要素が正でそのほかが負D(I - \gamma P) -
の行の和が正D(I - \gamma P) -
の列の和が正D(I - \gamma P) -
が正定値D(I - \gamma P) - Aが正定値
D(I - \gamma P) の対角要素が正でそのほかが負
1.
D(I - \gamma P) の行の和が正
2. Pが遷移確率行列で,行の和をとると1であるため自明
D(I - \gamma P) の列の和が正
3.
D(I - \gamma P) が正定値
4. 概念図:
A が正定値
5. 任意の
より
証明終了
解の性能について
収束する解
を満たすことが示される.つまり,最低でも大域的最適解の
6,7章でも紹介された通り,MCに比べて分散が小さいことや高速であるため,どの手法が最適化は問題の性質や許容できる学習時間に依る.
また,On-policy 分布にしたがって更新されることは重要なポイントであり,そうでない場合は発散する可能性がある.このような状況での可能な開放については11章で扱う.
n-step semi-gradient TD
semi-gradient TD(0)と同様に,n-stepでもsemi-gradient methodが考えられる.
ただし,
その他のブートストラップ手法でのsemi-gradinet method
- semi-gradient DP
- semi-gradient Sarsa(0)
でも同様に収束することが示される.また,エピソードのタスクでも学習率の減衰など多少の条件を付け加えれば良い.
Example 9.2 Bootstrapping on the 1000-state Random Walk
semi-gradient method を用いた状態集約の学習を示す.
- 左の図はsemi-gradient methodのTD法による推定値
- 右の図はTDのステップ数と学習率の違いによる誤差の変化
を表す図で,左の図からは多少の誤差が生じていることがわかる.しかし右図から,10エピソードでの学習結果として7章のテーブル型のn-step TDと同じような結果が得られることがわかり,学習の速さなどの面でメリットがあることがわかる.
今日のまとめ
- テーブル関数を圧縮して関数近似
- 関数近似では一つの更新があらゆる状態の価値の更新になる
- ターゲットが不偏推定量のとき(e.g. MC法)はgradient method
- 不偏推定量でないとき(e.g. TD法)はsemi-gradient method
- 線形関数による近似であれば多くのsemi-gradient methodで局所解に収束
Discussion