デュビデュバの技術ブログ

主に機械学習系の記事を書いていきます。コメント大歓迎です。よろしくお願いします。

Open AI Spinning Up で深層強化学習のお勉強 -Part 1: Key Concepts in RL- [その2]

INTRODUCTION TO RL -Part 1: Key Concepts in RL-

前回の続き。後半(Key Concepts and TerminologyのValue Functionsから)です。
前回の記事はこちら。 coffee-g9.hatenablog.com OpenAI Spinning Upのページはこちら。 spinningup.openai.com

Key Concepts and Terminology

前回の続きから。

Value Functions

状態の価値や状態と行動のペアを知ることは、しばしば役立ちます。価値とは、その状態または状態と行動のペアで開始し、その後特定の方策に従って無限期間行動する場合に期待されるリターンを意味します。ほぼすべてのRLアルゴリズムで、何らかの方法で価値関数が使用されます。

ここで注目すべき4つの主な機能があります。

  1. On-Policy 価値関数 V^\pi(s)
    状態sで開始し、常に方策\piに従って行動する場合の期待リターンを返します。
\begin{align}
V^\pi(s)=\underset{\tau\sim\pi}{\rm E}[R(\tau)|s_0=s]\tag{1}
\end{align}
  1. On-Policy 行動価値関数 Q^\pi(s,a)
    状態sで開始し、任意の行動a(必ずしも方策によるものではない)をとり、その後、無限期間方策\piに従った場合の期待リターンを返します。
\begin{align}
Q^\pi(s,a)=\underset{\tau\sim\pi}{\rm E}\bigl[R(\tau)|s_0=s,a_0=a\bigr]\tag{2}
\end{align}
  1. 最適価値関数 V^*(s)
    状態sで開始し、常に最適方策に従って行動する場合の期待リターンを返します。
\begin{align}
V^*(s)=\max_\pi \underset{\tau\sim\pi}{\rm E}\bigl[R(\tau)|s_0=s\bigr]\tag{3}
\end{align}
  1. 最適行動価値関数 Q^*(s,a)
    状態sで開始し、任意の行動aをとり、その後、無限期間最適方策に従った場合の期待リターンを返します。
\begin{align}
Q^*(s,a)=\max_\pi \underset{\tau\sim\pi}{\rm E}\bigl[R(\tau)|s_0=s,a_0=a\bigr]\tag{4}
\end{align}

You Should Know

価値関数について話すとき、時間依存性を考慮しない場合は、無限期間の割引リターンのみを意味します。有限期間の割引なしのリターン関数は、引数として時間が必要です。

You Should Know

価値関数と行動価値関数の間には、2つの重要な関係があります。

\begin{align}
V^\pi(s)&=\underset{a\sim\pi}{\rm E}\bigl[Q^\pi(s,a)\bigr]\tag{5}\\
V^*(s)&=\max_a Q^*(s,a)\tag{6}
\end{align}

The Optimal Q-Function and the Optimal Action

最適行動価値関数 Q^*(s, a)と最適方策によって選択された行動の間には重要な関係があります。定義より、 Q^*(s, a)は状態sで開始し、(任意の)行動aを実行し、その後、最適方策に従って無限期間動作するための期待リターンを提供します。

最適方策は、期待リターンを最大化する行動を選択します。その結果、もし Q^*が得られているなら、そこから最適行動 a^*(s)を直接求められます。

\begin{align}
a^*(s)=\arg \max_a Q^*(s,a)\tag{7}
\end{align}

注:Q^*(s,a)を最大化する複数の行動が存在する場合があり、その場合、それらはすべて最適行動であり、最適方策はそれらのいずれかをランダムに選択する場合があります。ただし、アクションを決定論的に選択する最適なポリシーが常に存在します。

Bellman Equations

4つの価値関数はすべて、ベルマン方程式と呼ばれる特別な自己整合方程式に従います。ベルマン方程式の背後にある基本的な考え方は次のとおりです。

出発点の価値は、そこにいることで得られる報酬に加えて、次に着地する場所の価値です。

On-Policyの価値関数のベルマン方程式は次のとおりです。

\begin{align}
V^\pi(s)&=\underset{a\sim\pi,s'\sim P}{\rm E}\bigl[r(s,a)+\gamma V^\pi(s')\bigr]\tag{8}\\
Q^\pi(s,a)&=\underset{s'\sim P}{\rm E}\Bigl[r(s,a)+\gamma\underset{a\sim\pi}{\rm E} \bigl[Q^\pi(s',a')\bigr]\Bigr]\tag{9}
\end{align}

ここで、s'は次状態であり、環境の状態遷移ルールよりサンプリングされます。 s'\sim Ps'\sim P(\cdot|s,a)の省略形です。 a\sim \pia\sim \pi(\cdot|s)の省略形で、 a'\sim \pia'\sim \pi(\cdot|s')の省略形です。

最適価値関数のベルマン方程式は次のとおりです。

\begin{align}
V^\pi(s)&=\underset{a\sim\pi,s'\sim P}{\rm E}\bigl[r(s,a)+\gamma V^\pi(s')\bigr]\tag{8}\\
Q^\pi(s,a)&=\underset{s'\sim P}{\rm E}\Bigl[r(s,a)+\gamma\underset{a\sim\pi}{\rm E} \bigl[Q^\pi(s',a')\bigr]\Bigr]\tag{9}
\end{align}

On-Policy価値関数と最適価値関数の重要な違いは、\maxの有無です。\maxが付いていることで、エージェントが行動を選択するときはいつでも、最適な行動をするために、最も高い価値につながる行動を選択しなければなりません。

You Should Know

「ベルマンバックアップ」という用語は、RLの文献で頻繁に登場します。状態、または状態と行動のペアのベルマンバックアップは、ベルマンの方程式の右側、つまり報酬と次の値です。

Advantage Functions

RLでは、行動の絶対的評価は必要はなく、他の行動との平均的な相対評価が必要です。つまり、その行動の相対的な利点を知りたいのです。アドバンテージ関数を使用して、この概念を正確にします。

方策\piのアドバンテージ関数 A^\pi(s,a)は、状態sでランダムに行動するより、状態sで特定の行動aを選択した方がどれほど優れているかを示します。数学的には次のように表されます。

\begin{align}
A^\pi(s,a)=Q^\pi(s,a)-V^\pi(s)\tag{10}
\end{align}

You Should Know

アドバンテージ関数は方策勾配メソッドにとって非常に重要です。

(Optional) Formalism

これまで、あまり厳密にではなくエージェントの環境について説明してきましたが、文献を深く読むと、これらの理論の前提としてマルコフ決定過程(MDP)に遭遇する可能性があります。MDPは5タプル\langle S,A,R,P,\rho_0 \rangleです。ここで、

  • S はすべての有効な状態の集合
  • A はすべての有効な行動の集合
  • R:S\times A\times S \to \mathbb{R} は報酬関数であり、r_t=R(s_t,a_t,s_{t+1})
  • P:S \times A \to \mathcal{P}(S) は遷移確率関数です。状態sから行動aを実行した場合、確率P(s'| s,a)で状態s'に遷移します。
  • \rho_0 は開始状態の分布です。 マルコフ決定過程という名前は、システムがマルコフ性に従うということを意味します。遷移は、直前の状態と行動にのみ依存し、過去の履歴には依存しません。

まとめ

イントロのpart1は強化学習の概要でした。part1の内容はすべての強化学習の基礎となる内容です。これらを基盤に各々のアルゴリズムが各々の特性をもったものになります。最後のマルコフ決定過程はこれら基盤の前提にあたる部分ですがかなり重要です。特に、「遷移は、直前の状態と行動にのみ依存し、過去の履歴には依存しない。」というところです。 マルコフ決定過程については以下の本で学びました。式や定義などしっかり書かれていておすすめです。

次回はINTRODUCTION TO RL -Part 2: Kinds of RL Algorithms-です。

OpenAI Spinning Upの記事一覧 coffee-g9.hatenablog.com