強化學習的數學原理-03貝爾曼最優公式

cxy8發表於2024-10-24

目錄
  • 最優策略和公式推導
  • 右側最最佳化問題
  • 公式求解以及最優性
  • Contraction mapping theorem(壓縮對映定理)
  • 解決貝爾曼最優公式
  • 分析最優策略(analyzing optimal policies)
  • Summary

最優策略和公式推導

首先定義一個策略比另一個策略好:

\[v_{\pi_{1}}(s) \ge v_{\pi_{2}}(s) \quad for \quad all \quad s \in S \]

如何有上面式子成立,那麼就說\(\pi_1優於\pi_2\)

基於上面的定義,於是就可以定義最優

對於所有的狀態s,和所有的策略\(\pi\)都有下面的式子成立

\[v_{\pi_*}(s) \ge v_{\pi}(s) \]

那麼\(\pi_*\)就是最優的(optimal)

貝爾曼最優公式:

\[\begin{align*} v(s)&=\max_{\pi}\sum_{a}\pi(a \mid s)\left( \sum_rp(r \mid s, a) + \gamma \sum_{s^{'}} p(s^{'} \mid s, a)v(s^{'}) \right), \forall s \in S \\ &= \max_{\pi} \sum_a \pi(a \mid s) q(s, a), \forall s \in S \\ \end{align*}\]

對於貝爾曼最優公式實際上是一個最最佳化問題

我們已知的有\(p(r \mid s, a), p(s^{'} \mid s, a)\)
\(v(s),v(s^{'})\)是未知的並且需要求解的
對於貝爾曼公式\(\pi\)是已知到,對於貝爾曼最優公式\(\pi\)是未知的需要求解的。

貝爾曼最優公式的矩陣形式

\[v= \max_{\pi} (r_{\pi} + \gamma P_{\pi} v) \]

  • 貝爾曼最優公式(BOE)非常elegant,它的形式非常簡介,可以刻畫最優的策略和最優的state value

右側最最佳化問題

如何求解貝爾曼最優公式?

考慮下面的問題:

\(two \: varible \: x, a \in \mathbb{R}.\)

\[x=\max_a(2x-1-a^2). \]

上面的式子中也是含有兩個未知量

先看右邊的部分當\(a=0\)時達到最大值\(2x-1\)

然後將\(a=0\)帶入等式右邊得到\(x=2x-1\)於是就求解出了\(x=1\)

於是\(a=0,x=1\)就是這個公式的解.

下面解決貝爾曼最優方程

\[v(s)=\max_{\pi}\sum_a\pi(a \mid s) q(s,a) \]

考慮我們有3個\(q\)也就是\(q_1、q_2、q_3 \in \mathbb{R}\)\(c_1^*、c_2^*、c_3^*\)使得\(c_1q_1+c_2q_2+c_3q_3\)最大

也就是

\[\max_{c_1、c_2、c_3}c_1q_1+c_2q_2+c_3q_3, where \: c_1+c_+c_3=1 ,and \: c_1、c_2、c_3 \ge 0 \]

為了不失一般性這裡假設一個最大值,假設\(q_3 \ge q_1,q_2\),於是最優解就是\(c_1^*=0、c_2^*=0、c_3^*=1\)

透過上面的例子就可以知道如果\(q\)值確定,如何求解上面的\(\pi\)

image.png

公式求解以及最優性

貝爾曼最優公式的矩陣形式

\[v=\max_{\pi}(r_{\pi}+\gamma P_{\pi}v) \]

我們把貝爾曼最優公式寫成一個函式形式

\[f(v) := \max_{\pi}(r_{\pi} + \gamma P_{\pi} v) \]

於是最優公式就化成了

\[v=f(v) \]

\[\left[ f(v) \right]_s = max_{\pi}\sum_a\pi(a \mid s)q(s,a), s \in S \]

這裡的\(f(v)\)實際上是一個向量,因為每個狀態對應一個\(state \: value\),而每一個\(state \: value \:\)都對應一個\(f(v)\)

於是問題就轉化成了求解\(v=f(v)\)這個方程,求解這個方程就需要下面的知識了。

Contraction mapping theorem(壓縮對映定理)

關於這個定義的詳細介紹在這 | 中文數學 Wiki | Fandom

在說壓縮對映定理之前需要引入一些概念

Fixed point(不動點):

\[x \in X \: is \: a \: fixed \: point \: of \: f : \: X \rightarrow X \: if \]

\[f(x) = x \]

然後\(x\)就被稱為一個不動點。

Contraction mapping or Contractive function:\(f \: is \: a \: contraction \: mapping \: if\):

\[\mid \mid f(x_1) - f(x_2) \mid \mid \le \gamma \mid \mid x_1 - x_2\mid \mid, \:where \: \gamma \in (0, 1) \]

image.png

Theorem(Contraction Mapping Thorem):

對於任何形如\(x=f(x)\)的等式,如果\(f\)是一個contraction mapping,那麼有:

存在性:存在一個不動點\(x^*\)滿足\(f(x^*) = x^*\)

唯一性:不動點\((fixed point)\)是唯一的。

求解不動點的演算法:這是一個迭代式的演算法,不斷令\(x_{k+1}=f(x_k)\),當\(k \rightarrow \infty \:\)\(x_k \rightarrow x^* \:\),同時收斂的速度會非常快(以指數的速度收斂)

解決貝爾曼最優公式

有了上面的壓縮對映定理就可以解決貝爾曼最優公式了

\[v=f(v)=\max_{\pi}(r_{\pi + \gamma Pv}) \]

為了應用壓縮對映定理,首先需要證明下式中\(\gamma \in (0,1)\)

\[\mid \mid f(v_1) - f(v_2) \mid \mid \le \gamma \mid \mid v_1 - v_2 \mid \mid \]

這個是可以得到證明的。

知道了\(f\)是一個\(contraction \: mapping\),那麼貝爾曼最優公式就可以利用上面的\(contraction \: mapping \: thorem\)解決了。

image.png

分析最優策略(analyzing optimal policies)

\[v(s) = \max_{\pi} \sum_a \pi(a \mid s) \left( \sum_r \color{red}p(r \mid s, a) r \color{black} + \color{red} \gamma \color{black} \sum_{s{'}} \color{red} p(s^{'} \mid s, a) \color{black} v(s^{'}) \color{black}\right) \]

求解貝爾曼最優公式就是已知紅色量求出上面公式中黑色的量

公式中的三個量決定了optimal policy

  • Reward design:\(r\)
  • System model:\(p(s^{'} \mid s, a) \:, \: p(r \mid s, a)\)
  • Discount rate:\(\gamma\)
  • \(v(s), v(s^{'}),\pi(a \mid s)\)都是未知量待計算
  1. \(\: \gamma \:\)比較大的時候,會比較遠視,當\(\: \gamma \:\)比較小的時候則會比較短時,獲得的\(\: return \:\)主要由短期的\(\: reward \:\)決定。當\(\: \gamma \:\)變為\(\: 0 \:\)時策略又會發生變化,策略會變得非常短視,更具體地說策略只會關注\(immediate \: reward\),這樣導致的結果可能是採用的策略根本到達不了\(target\)

  2. 改變\(reward\)也會導致策略改變。

下面觀察如果對\(\: reward \:\)進行線性變換會發生什麼?\(r \rightarrow ar + b\)

  • 實際上進行線性變換是不會改變最優策略的。
  • 這個問題實際上並不關注\(reward\)的絕對性,更加關注\(reward\)的相對性。

image.png

關於無意義的繞路:因為有\(\: discount \: rate \:\)的存在,會導致後面得到的\(\: reward \:\)打折扣

image.png

Summary

image.png

相關文章