0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

強化学習 (Reinforcement Learning) / 基礎重視

0
Posted at

強化学習 (Reinforcement Learning)

強化学習を基礎から解説 (理解できている範囲で)
参考文献: 斎藤 康毅 『ゼロから作るDeep Learning ❹ ― 強化学習編』

1. 問題設定

mdp-cycle.drawio.png

  1. エージェントは環境から状態 $S_t$ を受け取る.
  2. エージェントは方策 $\pi$ に従って行動 $A_t$ を決定する.
  3. 環境が次の状態 $S_{t+1}$ に遷移し, エージェントは報酬 $R_t$ を受け取る.
  4. (1-3 繰り返し)

1.1. キーワード

  • マルコフ決定過程 (MDP; Markov Decision Process)
  • 報酬 (reward) $R_t$: 状態遷移のたびに環境から受け取る評価値 (スカラー)
  • 収益 (return) $G_t$: 現在の時刻以降に得られる報酬の (重み付き) 期待値
  • 行動 (action) $A_t$: 方策 ($\pi$) に従ってエージェントが決定する
  • 状態 (state) $S_t$: エージェントが環境から観測するデータ
  • 方策 (policy) $\pi_\theta(a|s)$:
    • 状態 $s$ を入力したときに, どの行動 $a$ が最適かをモデルで推定する.
    • どの行動 $a$ を選択するかは確率的に決める (ものとする).
    • $\theta$ はモデルのパラメータ.
  • 状態価値関数 $\mathcal{v}_\pi(s)$:
    • \mathcal{v}_\pi(s) = \mathbb{E}_\pi{\big[{G_t|S_t=s}\big]}
      
    • :warning: 方策 $\pi$ が変われば, 状態価値関数の値も変わる点に注意.
  • 行動価値関数 $q_\pi(s, a)$
    • ある時刻 $t$ における状態が $s$ のとき, 行動 $a$ を選択したときの "価値" を表す.

1.2. マルコフ決定過程

  • エージェントがとりうる最適な行動 $a^*$ が, 現在の状態 $s_t$ にのみによって決められること.
  • つまり, エージェントが行動決定するとき, 現在の状態 $s_t$ にのみ着目し, 過去の状態 $s_0, \dots, s_{t-1}$ は無視できること.

mdp.drawio.png

1.3. 報酬について

$R_t = r(S_t,A_t,S_{t+1})$

  • プログラマーが設計する.
  • 確率的に決まる値にしても良いが, 期待値をとれば決定的に決まる値としてみなせる.
    → 決定的に決まる値として考える.

1.4. 収益について

ある時刻 $t$ における収益 $G_t$ は

\begin{align*}
G_t &= R_t + \gamma R_{t+1} + \gamma^2 R_{t+2} + ... \\
    &= \sum_{i=0}^{\infty}{\Big[{\gamma^{i} R_{t+i}}\Big]} \\
    &= R_t + \gamma G_{t+1}
\end{align*}

∴ 無限大に発散することを防ぐため, $\gamma$ ($0 < \gamma < 1$) で重み付けする.

1.5. よりよい方策とは?

policy.drawio.png

どの状態 $s$ でも方策 $\pi_2$ の状態価値 $\mathcal{v}_{\pi_2}(s)$

の方が 方策 $\pi_1$ の状態価値 $\mathcal{v}_{\pi_1}(s)$
より高い.

∴ 方策 $\pi_2$ は 方策 $\pi_1$ よりよい方策と言える.

1.6. 行動価値関数と状態価値関数の関係

\mathcal{v}_{\pi}{(s)} = \sum_{a}{\Big[{\pi(a|s) q_{\pi}{(s, a)}}\Big]}

2. ベルマン方程式

2.1. 状態価値関数のベルマン方程式

\begin{align*}
\mathcal{v}_{\pi}{(s)}
    &= \mathbb{E}_{\pi}{\big[{G_t|S_t=s}\big]} \\
    &= \mathbb{E}_{\pi}{\big[{R_t + \gamma G_{t+1}|S_t=s}\big]} \\
    &= \color{#1f77b4}{\mathbb{E}_{\pi}{\big[{R_t|S_t=s}\big]}} + \gamma \color{#ff7f0e}{\mathbb{E}_{\pi}{\big[{G_{t+1}|S_t=s}\big]}}
\end{align*}

ここで,

  • 方策 (確率的) の定義: $\pi(a|s)$
  • 状態遷移 (確率的) の定義: $p(s'|s, a)$

とすると

\begin{align*}
\color{#1f77b4}{\mathbb{E}_{\pi}{\big[{R_t|S_t=s}\big]}}
    &= \sum_{a,s'}{\Big[{\pi(a|s) p(s'|s,a) r(s,a,s')}\Big]} \\
\color{#ff7f0e}{\mathbb{E}_{\pi}{\big[{G_{t+1}|S_t=s}\big]}}
    &= \sum_{a,s'}{\Big[{\pi(a|s) p(s'|s,a) \mathbb{E}_{\pi}{\big[{G_{t+1}|S_{t+1}=s'}\big]}}\Big]} \\
    &= \sum_{a,s'}{\Big[{\pi(a|s) p(s'|s,a) \mathcal{v}_{\pi}{(s')}}\Big]}
\end{align*}

のように式変形できるため,

\begin{align*}
\therefore \mathcal{v}_{\pi}{(s)}
    &= \color{#1f77b4}{\sum_{a,s'}{\Big[{\pi(a|s) p(s'|s,a) r(s,a,s')}\Big]}} + \gamma \color{#ff7f0e}{\sum_{a,s'}{\Big[{\pi(a|s) p(s'|s,a) \mathcal{v}_{\pi}{(s')}}\Big]}} \\
    &= \sum_{a,s'}{\Big[{\pi(a|s) p(s'|s,a) {\Big\{ \color{#1f77b4}{r(s,a,s')} + \gamma \color{#ff7f0e}{\mathcal{v}_{\pi}{(s')}} \Big\}}}\Big]}
\end{align*}

2.2. 行動価値関数のベルマン方程式

\begin{align*}
q_{\pi}{(s,a)}
    &= \mathbb{E}_{\pi}{\big[{G_t|S_t=s,A_t=a}\big]} \\
    &= \mathbb{E}_{\pi}{\big[{R_t + \gamma G_{t+1}|S_t=s,A_t=a}\big]} \\
    &= \color{#1f77b4}{\mathbb{E}_{\pi}{\big[{R_t|S_t=s,A_t=a}\big]}} + \gamma \color{#ff7f0e}{\mathbb{E}_{\pi}{\big[{G_{t+1}|S_t=s,A_t=a}\big]}}
\end{align*}

ここで,

\begin{align*}
\color{#1f77b4}{\mathbb{E}_{\pi}{\big[{R_t|S_t=s,A_t=a}\big]}}
    &= \sum_{s'}{\Big[{p(s'|s,a) r(s,a,s')}\Big]} \\
\color{#ff7f0e}{\mathbb{E}_{\pi}{\big[{G_{t+1}|S_t=s,A_t=a}\big]}}
    &= \sum_{s'}{\Big[{p(s'|s,a) \mathbb{E}_{\pi}{\big[{G_{t+1}|S_{t+1}=s'}\big]}}\Big]} \\
    &= \sum_{s'}{\Big[{p(s'|s,a) \color{#2ca02c}{\mathcal{v}_{\pi}{(s')}}}\Big]} \\
    &= \sum_{s'}{\Big[{p(s'|s,a) \color{#2ca02c}{\sum_{a'}{\Big[{\pi(a'|s') q_{\pi}{(s', a')}}\Big]}}}\Big]} \\
\end{align*}

のように式変形できるため,

\begin{align*}
\therefore
q_{\pi}{(s,a)}
    &= \color{#1f77b4}{\mathbb{E}_{\pi}{\big[{R_t|S_t=s,A_t=a}\big]}} + \gamma \color{#ff7f0e}{\mathbb{E}_{\pi}{\big[{G_{t+1}|S_t=s,A_t=a}\big]}} \\
    &= \sum_{s'}{\Big[{p(s'|s,a) {\Big\{ \color{#1f77b4}{r(s,a,s')} + \gamma \color{#ff7f0e}{\mathcal{v}_{\pi}{(s')}} \Big\}}}\Big]} \\
    &= \sum_{s'}{\Big[{p(s'|s,a) {\Big\{ \color{#1f77b4}{r(s,a,s')} + \gamma \color{#2ca02c}{\sum_{a'}{\Big[{\pi(a'|s') q_{\pi}{(s', a')}}\Big]}} \Big\}}}\Big]} \\
\end{align*}

state_transition_diagram.drawio.png

2.3. ベルマン最適方程式

2.1. よりベルマン方程式は

\begin{align*}
\mathcal{v}_{\pi}{(s)}
    &= \sum_{a,s'}{\Big[{\pi(a|s) p(s'|s,a) {\big\{ {r(s,a,s')} + \gamma {\mathcal{v}_{\pi}{(s')}} \big\}}}\Big]} \\
    &= \sum_{a}{\bigg[{ \pi(a|s) \sum_{s'}{\Big[ p(s'|s,a) {\big\{ {r(s,a,s')} + \gamma {\mathcal{v}_{\pi}{(s')}} \big\}} \Big]} }\bigg]} \\
\end{align*}

のように表される.

ここで, 最適方策 ${\pi}_{*}(a|s)$ が分かっているとすると, ベルマン最適方程式は

\begin{align*}
\mathcal{v}_{*}{(s)}
    &= \sum_{a}{\bigg[{ {\pi}_{*}(a|s) \sum_{s'}{\Big[ p(s'|s,a) {\big\{ {r(s,a,s')} + \gamma {\mathcal{v}_{*}{(s')}} \big\}} \Big]} }\bigg]} \\
\end{align*}

最適な方策なので, 以下のように決定的に決まる.

\pi(a|s) =
\begin{cases}
1 & (a = a^*) \\
0 & (a \neq a^*)
\end{cases}

最適な方策をとったとき, 状態価値関数は最大値をとるはずなので,

\begin{align*}
\mathcal{v}_{*}{(s)}
    &= \max_{a}{\sum_{s'}{\Big[ p(s'|s,a) {\big\{ {r(s,a,s')} + \gamma {\mathcal{v}_{*}{(s')}} \big\}} \Big]}} \\
\end{align*}

行動価値関数についても, 同様にベルマン最適方程式を求めることができる (省略).

2.4. 現実的な課題について

最適状態価値関数がわかれば, 最適方策を得ることができる.
しかし, 現実的な課題で最適状態価値関数を解析的に求めることは難しい…

3. 動的計画法

  • 環境モデルが既知の場合に適用できる.

4. モンテカルロ法 (MC 法)

  • モンテカルロ法: データのサンプリングを何回か行って, その結果から推定する結果の総称.
  • 環境モデル (状態遷移確率 $p(s'|s, a)$, 報酬関数 $r(s, a, s')$) は既知ではない場合にも適用可能.
  • 環境モデルが不透明な初期段階では, エージェントは 探索 を行い, 環境モデルについてのサンプルデータを集める必要がある.
  • 強化学習では, 方策評価 と 方策改善 を交互に繰り返して, 最適な方策を見つける.
    • 方策評価: 方策 $\pi$ が与えられたときに, その方策の価値関数の推定値 $V_\pi(s)$ を計算する.
    • 方策改善: 推定した価値関数をもとに, 方策 $\pi$ を最適な方策に近づける.

4.1. 評価フェーズ

  • $i$ 回目のエピソードで得られた収益を $G^{(i)}$ と表記する.
\mathcal{v}_\pi(s) = \mathbb{E}{\big[{G|s}\big]}

のため, モンテカルロ法で推定すると

\begin{align*}
V_\pi(s) &= \frac{1}{n}{\big\{ {G^{(1)} + \dots + G^{(n)}} \big\} } \\
Q_\pi(s, a) &= \frac{1}{n}{\big\{ {G^{(1)} + \dots + G^{(n)}} \big\} } \\
\end{align*}

インクリメンタルに計算する場合:

\begin{align*}
V_{n}(s) &= V_{n-1}(s) + \frac{1}{n}\big[{G^{(n)} - V_{n-1}(s)}\big] \\
Q_{n}(s, a) &= Q_{n-1}(s,a) + \frac{1}{n}\big[{G^{(n)} - Q_{n-1}(s,a)}\big] \\
\end{align*}

4.2. 改善フェーズ

\mu(s) = \operatorname*{argmax}_a{Q(s, a)}

4.3. ε-greedy 法

  • エージェントがある状態 $s$ のときの行動 $a$ を決定するとき, $q(a|s)$ の値に関係なく, $\epsilon$ の確率でランダムに行動を選択する. ($0 \le \epsilon \le 1$)

  • 例: 取り得る行動の数が 4 で, $$\operatorname*{argmax}_{a}{q(a|s)} = a_2$$ のとき, 方策は次のように設定する:
    epsilon-greedy.drawio.png

  • 探索 と 利用 のトレードオフ:

    • $\epsilon$ が大きいとき, ランダムに行動を選択する確率が高くなる (探索 (exploration) を重視する).
    • $\epsilon$ が小さいとき, 経験から得た知識を利用する行動を選択する確率が高くなる (利用 (exploitation) を重視する).

4.4. 方策オフ型と方策オン型

4.4.1. 方策オフ型

  • 自分とは別の場所で得られた経験から, 自分の方策を改善するアプローチ.
  • ターゲット方策 と 挙動方策 が異なる.

4.4.2. 方策オン型

  • 自分で得た経験から自分の方策を改善するアプローチ.
  • ターゲット方策 と 挙動方策 が同じ.

4.4.3. ターゲット方策 (target policy)

評価と改善の対象となる方策.

4.4.4. 挙動方策 (behavior policy)

エージェントが実際に行動を起こすときにつかう方策.

4.5. 重点サンプリング

ある確率分布 $\pi$ の期待値を, 別の確率分布 $b$ からサンプリングしたデータを使って推定する手法.

\begin{align*}
\mathbb{E}_{\pi}{[x]}
    &= \sum{x \pi(x)} \\
    &= \sum{x \frac{b(x)}{b(x)}\pi(x)} \\
    &= \sum{x \boxed{\frac{\pi(x)}{b(x)}}b(x)} \\
    &= \sum{x \rho(x)b(x)} \\
    &= \mathbb{E}_{b}{\big[{x \frac{\pi(x)}{b(x)}}\big]} \\
    &\approx \frac{1}{n}{\Big[ \rho(x^{(1)})x^{(1)} + \dots + \rho(x^{(n)})x^{(n)} \Big]}
\end{align*}

5. TD (Temporal Difference) 法

2.1. 節より

\begin{align*}
\mathcal{v}_{\pi}{(s)}
    &= \mathbb{E}_{\pi}{\big[{G_t|S_t=s}\big]} \\
    &= \mathbb{E}_{\pi}{\big[{R_t + \gamma G_{t+1}|S_t=s}\big]} \\
    &= \mathbb{E}_{\pi}{\big[{R_t + \gamma \mathcal{v}_{\pi}(S_{t+1})|S_t=s}\big]} \\
\end{align*}
  • 現在の状態価値関数を ${V}_{\pi}$
  • 更新後の状態価値関数を ${V'}_{\pi}$

とする.

\begin{align*}
{V'}_{\pi}{(S_t)}
    &= {V}_{\pi}{(S_t)} + \alpha [{\boxed{{G}_{t}} - {V}_{\pi}{(S_t)}}] & (MC 法) \\
    &= {V}_{\pi}{(S_t)} + \alpha [{\boxed{{R}_{t} + \gamma V_\pi{(S_{t+1})}} - {V}_{\pi}{(S_t)}}] & (TD 法) \\
\end{align*}

5.1. MC 法と TD 法の比較

  • MC 法では, エピソードを完了させて収益 $G_t$ を計算しないと状態価値関数を更新できない.
  • TD 法では, 次時刻の状態 $S_{t+1}$ と報酬 $R_t$ のみから状態価値関数を更新できる.

5.2. SARSA (方策オン型)

  • 評価フェーズ
    Q'_\pi(S_t,A_t) = Q_\pi(S_t,A_t) + \alpha \big[{ \boxed{R_t + \gamma Q_\pi(S_{t+1}, A_{t+1})} -  Q_\pi(S_t,A_t)}\big]
    
  • 改善フェーズ
    \pi'(a|S_t) =
    \begin{cases}
      \operatorname*{argmax}_a{Q'_\pi(S_t,a)} & (1-\epsilon の確率) \\
      ランダムな行動 & (\epsilon の確率) \\
    \end{cases}
    

5.3. SARSA (方策オフ型)

  • 備考:
    • 挙動方策 $b$ は ε-greedy に更新
    • ターゲット方策 $\pi$ は greedy に更新
    • (復習) 2 つの方策が異なるため, 重点サンプリングを使って重み $\rho$ による補正を行う
    • (復習) $A_{t+1}$ は挙動方策の確率分布 $b$ に従ってサンプリングする.
  • 評価フェーズ
    \begin{align*}
    Q'_\pi(S_t,A_t) &= Q_\pi(S_t,A_t) + \alpha \big[{ \boxed{\rho\{R_t + \gamma Q_\pi(S_{t+1}, A_{t+1})\}} -  Q_\pi(S_t,A_t)}\big] \\
    \rho &= \frac{\pi(A_{t+1}|S_{t+1})}{b(A_{t+1}|S_{t+1})}
    \end{align*}
    
  • 改善フェーズ
    \begin{align*}
    \pi'(a|S_t) &= \operatorname*{argmax}_a{Q'_\pi(S_t,a)} \\
    b'(a|S_t) &=
      \begin{cases}
          \operatorname*{argmax}_a{Q'_\pi(S_t,a)} & (1-\epsilon の確率) \\
          ランダムな行動 & (\epsilon の確率) \\
      \end{cases}
    \end{align*}
    

5.4. Q 学習 (方策オフ型)

  • 評価フェーズ
    Q'(S_t,A_t) = Q(S_t,A_t) + \alpha \big[{ \boxed{R_t + \gamma \max_{a}{Q(S_{t+1}, a)}} -  Q(S_t,A_t)}\big]
    
  • 改善フェーズ
    \begin{align*}
    \pi'(a|S_t) &= \operatorname*{argmax}_a{Q'(S_t,a)} \\
    b'(a|S_t) &=
      \begin{cases}
          \operatorname*{argmax}_a{Q'(S_t,a)} & (1-\epsilon の確率) \\
          ランダムな行動 & (\epsilon の確率) \\
      \end{cases}
    \end{align*}
    

5.5. ベルマン方程式, ベルマン最適方程式 と SARSA, Q 学習 の対応関係

  • ベルマン方程式が SARSA に対応
  • ベルマン最適方程式が Q 学習 に対応 (ヒント: $\max$ 演算子を使う)

(導出は省略)

6. ニューラルネットワークと Q 学習

  • Q 関数をニューラルネットワークでモデル化する.
  • 応用技術:
    • DQN
      • Double DQN
      • 優先度付き経験再生
      • Dueling DQN

※詳細は省略

7. 方策勾配法

  • 強化学習の手法は大きく 価値ベース (Value-based Method) と 方策ベース (Plicy-based Method) の手法に大別できる.
    value-based-and-policy-based.drawio.png

  • 方策をニューラルネットワークなどでモデル化し, 勾配を使って方策を最適化する手法は 方策勾配法 (Policy Gradient Method) と呼ばれる.

7.1. 最も単純な方策勾配法

7.1.1. 記号の定義

  • 方策(確率的): $\pi_\theta(a|s)$
    • モデル化した方策: $\pi_\theta(a|s)$
    • モデルのパラメータ: $\theta$
  • 軌道 (Trajectory): $\tau$
    • 実際に収集されたエピソードデータ
    • $\tau = (S_0, A_0, R_0, S_1, A_1, R_1, \dots, S_T, A_T, R_T, S_{T+1})$
  • 収益: $G(\tau)$
    • $G(\tau) = R_0 + \gamma R_1 + \gamma^2 R_2 + \dots + \gamma^T R_T$

7.1.2. 目的関数の設計

目的関数 $J(\theta)$ とその勾配は

\begin{align*}
J(\theta)
    &= \mathbb{E}_{\tau \sim \pi_\theta}{\big[ G(\tau) \big]} \\
{\nabla}_{\theta}{J(\theta)}
    &= {\nabla}_{\theta}{\mathbb{E}_{\tau \sim \pi_\theta}{\big[ G(\tau) \big]}} \\
    &= \dots \\
    &= \mathbb{E}_{\tau \sim \pi_\theta}{
        \bigg[ \sum_{t=0}^{T}{\Big\{
            G(\tau) {\nabla}_{\theta}{{\big[\log
                \pi_\theta(A_t|S_t)
            \big]}}
        \Big\}} \bigg]
    } \\
\end{align*}

サンプリング数 1 の場合で近似すると,

\begin{align*}
{\nabla}_{\theta}{J(\theta)}
    &\approx \sum_{t=0}^{T}{\Big[
        G(\tau) {\nabla}_{\theta}{{\big[\log{\pi_\theta(A_t|S_t)} \big]}}
    \Big]} \\
    &= G(\tau) \sum_{t=0}^{T}{\Big[
        \color{#1f77b4}{{\nabla}_{\theta}{{\big[\log{\pi_\theta(A_t|S_t)} \big]}}}
    \Big]} \\
    &= G(\tau) \sum_{t=0}^{T}{\Big[
        \color{#1f77b4}{\frac{1}{\pi_\theta(A_t|S_t)} {\nabla}_{\theta}{\pi_\theta(A_t|S_t)}}
    \Big]} \\
\end{align*}

:information_source: 合成関数の微分

$$
\frac{dz}{dx} = \frac{dz}{dy} \frac{dy}{dx}
$$

定式化すると

$$
\text{maximize}{\big[{J(\theta)}\big]}
$$

  • 収益が正の場合: 状態 $S_t$ において行動 $A_t$ を選択する確率が高くなる.
    gradient-method-1.drawio.png

  • 収益が負の場合: 状態 $S_t$ において行動 $A_t$ を選択する確率が低くなる.
    gradient-method-2.drawio.png

7.2. REINFORCE

  • REINFORCE: REward Increment = Nonnegative Factor × Offset Reinforcement × Characteristic Eligibility
  • 最も単純な方策勾配法の改良

最も単純な方策勾配法の勾配は

{\nabla}_{\theta}{J(\theta)}
    = \mathbb{E}_{\tau \sim \pi_\theta}{
        \bigg[ \sum_{t=0}^{T}{\Big\{
            G(\tau) {\nabla}_{\theta}{{\big[\log
                \pi_\theta(A_t|S_t)
            \big]}}
        \Big\}} \bigg]
    }

$G(\tau)$ は 1 エピソード全体分の (割引率を加味した) 報酬和だが, 方策 ${\pi}_{\theta}(A_t|S_t)$ は現時刻以前の状態・報酬には影響されないはず (MDP より).
→ $G(\tau)$ を 収益 $G_t$ に置き換える.

{\nabla}_{\theta}{J(\theta)}
    = \mathbb{E}_{\tau \sim \pi_\theta}{
        \bigg[ \sum_{t=0}^{T}{\Big\{
            G_t {\nabla}_{\theta}{{\big[\log
                \pi_\theta(A_t|S_t)
            \big]}}
        \Big\}} \bigg]
    }

※式変形は省略

7.3. ベースラインつき方策勾配法

{\nabla}_{\theta}{J(\theta)}
    = \mathbb{E}_{\tau \sim \pi_\theta}{
        \bigg[ \sum_{t=0}^{T}{\Big\{
            \big(G_t - b(S_t)\big) {\nabla}_{\theta}{{\big[\log
                \pi_\theta(A_t|S_t)
            \big]}}
        \Big\}} \bigg]
    }
  • ある値 (ベースライン) を引いても成り立つ. (証明は省略)
  • $G_t$ をそのまま使うより, 適切なベースライン $b(S_t)$ を設計し, $G_t - b(S_t)$ を用いる方が分散が小さくなる.
    • 計算誤差が小さくなる? (🤔)

7.4. Actor-Critic

  • 状態価値関数をベースラインとして用いる.
  • $V_w(S_t)$: 状態価値関数をモデル化したニューラルネットワーク (Critic)
  • $\pi_\theta$: 方策をモデル化したニューラルネットワーク (Actor)
{\nabla}_{\theta}{J(\theta)}
    = \mathbb{E}_{\tau \sim \pi_\theta}{
        \bigg[ \sum_{t=0}^{T}{\Big\{
            \big(G_t - \color{#1f77b4}{V_w(S_t)}\big) {\nabla}_{\theta}{{\big[\log
                \pi_\theta(A_t|S_t)
            \big]}}
        \Big\}} \bigg]
    }

TD 法を導入し, エピソードの完了を待たずに, 時刻 $t$ と時刻 $t+1$ のデータから更新できるように修正する.

{\nabla}_{\theta}{J(\theta)}
    = \mathbb{E}_{\tau \sim \pi_\theta}{
        \bigg[ \sum_{t=0}^{T}{\Big\{
            \big(\color{#ff7f0e}{R_t + \gamma V_w(S_{t+1})} - \color{#1f77b4}{V_w(S_t)}\big) {\nabla}_{\theta}{{\big[\log
                \pi_\theta(A_t|S_t)
            \big]}}
        \Big\}} \bigg]
    }

7.5. 方策ベースの手法の利点

  1. 価値ベースの手法に対して, 方策ベースは, 方策を "ダイレクト" に推定するため, (場合によっては) 効率的.
  2. 連続的な行動空間でも使える.
  3. 学習が安定しやすく, 早く収束しやすい.
    • 価値ベースでは, Q 値が変わると方策が大きく変わる場合がある.
    • 方策ベースでは, 急に方策が変わることはない.

8. 応用

8.1. 経験再生 (Experience Replay)

  • 方策オフ型の強化学習に適用できる手法.
  • エージェントが過去に経験した $E_t = { S_t, A_t, R_t, S_{t+1} }$ をバッファに記憶しておく.
  • バッファからランダムにサンプルを取り出し (ミニバッチ), 学習データとして用いる.
    • ランダムに取り出すことにより, 多様な経験から学習が行うことができる.

:construction:

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?