1. 程式人生 > 其它 >強化學習和ADP(下)

強化學習和ADP(下)

強化學習在連續時間系統問題上求解相比於離散時間系統而言更加的困難,因此發展受到了延遲。下面討論一下原因

考慮到一個連續時間的非線性動態規劃系統

\[\dot{x}=f(x)+g(x)u(83) \]

目標導向的最優行為的概念是通過定義與反饋控制策略相關聯的效能度量或成本函式來捕獲的

\[V^\mu(x(t))=\int_{t}^{\infin}r(x(\tau),u(\tau))d\tau(84) \]

其中效能度量\(r(x,u)=Q(x)+u^TRu\)\(Q(x)\)是正定的,也就是對於所有的\(x\)不為零,則\(Q(x)>0\),並且當\(x=0\)時,\(Q(x=0)\)\(R\in R^{m\times m}\)

為正定對稱矩陣。

如果一個策略是連續的,使系統穩定,並且具有有限的相關代價,則該策略被稱為可容許策略。如果代價是平滑的,則等於無窮小(84)可以通過微分得到為非線性李雅普諾夫方程

\[0=r(x,\mu(x))+(\bigtriangledown V^\mu)^T(f(x)+g(x)\mu(x)),V^\mu(0)=0(85) \]

這是CT貝爾曼方程。它是基於CT哈密頓函式定義的

\[H(x,\mu(x),\bigtriangledown V^\mu)=r(x,\mu(x))+(\bigtriangledown V^\mu)^T(f(x)+g(x)\mu(x))(86) \]

比較CT Bellman哈密頓量(86)和DT哈密頓量(9),前者包含了整個系統動力學,而DT哈密頓量不包含。這意味著沒有希望使用CT Bellman方程(85)作為強化學習的基礎,除非完整的動力學是已知的。

Baird採用尤拉方法離散CT Bellman方程。

\[0=r(x,\mu(x))=(\bigtriangledown V^\mu)^T(f(x)+g(x)\mu(x))=r(x,\mu(x))+\dot{V}^\mu(87) \]

用尤拉方法將其離散化得到

\[0=r(x_k,u_k)+\frac{V^\mu(x_{k+1})-V^\mu(x_k)}{T}\\ \equiv \frac{r_S(x_k,u_k)}{T}+\frac{V^\mu(x_{k+1})-V^\mu(x_k)}{T}(88) \]

取樣週期是\(T\),所以是\(t=kT\)。離散的取樣效用是\(r_S(x_k,u_k)=r(x_k,u_k)T\)

,其中重要的是將CT效用乘以樣本週期。

現在注意到離散CT Bellman方程(88)與DT Bellman方程(8)具有相同的形式。因此,剛才描述的所有強化學習方法都可以應用。基於此,Baird將優勢學習定義為一種改進取樣CT系統強化學習條件的方法。他指出,如果沒有適當地離散,那麼當T變小時,DT解決方案不會收斂到CT解決方案。

然而,這只是一個近似值。[Vrabie 2009]給出了CT強化學習的另一種精確方法。可以用間隔強化表來填寫成本

\[V^\mu(x(t))=\int_{t}^{t+T}r(x(\tau),u(\tau))d\tau+V^\mu(x(t+T))(89) \]

對於任意的\(T>0\). 這正是DT Bellman方程(8)的形式。根據Bellman原理,最優值根據這種結構給出為

\[V^\star(x(t))=\min_{\bar{u}(t:t+T)}(\int_{t}^{t+T}r(x(\tau),u(\tau))d\tau+V^\star(x(t+T))) \]

其中\(\bar{u}(t:t+T)=(u(\mu):t\le \tau \le t+T)\),最優控制為:

\[\mu^\star(x(t))=\arg min_{\bar{u}(t:t+T)}(\int_{t}^{t+T}r(x(\tau),u(\tau))d\tau+V^\star(x(t+T))) \]

[Vrabie 2009]表明,非線性Lyapunov方程(85)與區間強化學習形式(89)完全等價。也就是說,兩者的正定解都是策略\(u=\mu(x)\)的值(84)。

區間強化學習形式為CT系統的Bellman方程,作為不動點方程。因此,可以將CT系統的時間差誤差定義為

\[e(t:t+T)=\int_{t}^{t+T}r(x(\tau),u(\tau))d\tau+V^\mu(x(t+T))-V^\mu(x(t))(90) \]

這並不涉及系統動力學。

目前,CT系統的策略迭代和價值迭代的制定已成為當務之急。

(1) CT 策略迭代演算法

  • 初始化:選擇一個可行的控制策略\(\mu^{(0)}(x)\)
  • 策略蘋果:求解\(V^{\mu^{(i)}}(x(t))\)
\[V^{\mu^{(i)}}(x(t))=\int_{t}^{t+T}r(x(s),\mu^{(i)}(x(s)))ds+V^{\mu^{(i)}}(x(t+T)),V^{\mu^{(i)}}(0)=0(91) \]
  • 策略改進:獲取一個改進策略
\[\mu^{(i+1)}=\arg min_u[H(x,u,\bigtriangledown V_x^{\mu^{(i)}})] (92) \]

明確的是

\[\mu^{(i+1)}(x)=-\frac{1}{2}R^{-1}g^T(x) \bigtriangledown V_x^{\mu^{(i)}}(93) \]

(2) CT 價值迭代演算法

  • 初始化:選擇一個控制策略\(\mu^{(0)}(x)\),不要求可行性
  • 策略蘋果:求解\(V^{\mu^{(i)}}(x(t))\)
\[V^{\mu^{(i)}}(x(t))=\int_{t}^{t+T}r(x(s),\mu^{(i)}(x(s)))ds+V^{\mu^{(i-1)}}(x(t+T)),V^{\mu^{(i)}}(0)=0(94) \]
  • 策略改進:獲取一個改進策略
\[\mu^{(i+1)}=\arg min_u[H(x,u,\bigtriangledown V_x^{\mu^{(i)}})] (95) \]

明確的是

\[\mu^{(i+1)}(x)=-\frac{1}{2}R^{-1}g^T(x) \bigtriangledown V_x^{\mu^{(i)}}(96) \]

注意,這兩種演算法都不需要關於內部系統動力學函式\(f\)的知識。也就是說,它們為部分未知的系統工作。

這兩種演算法都可以使用上述的強化學習技術線上實現。每一次迭代的時間增量為週期\(T\)。每一次迭代的測量資料為\((x(t),x(t+T),\rho(t:t+T))\)

\[\rho(t:t+T)=\int_{t}^{t+T}r(x(\tau),u(\tau))d\tau \]

每次迭代時,強化學習的時間區間\(T\)不一定相同。\(T\)可以根據從觀察中獲得有意義的資訊所需的時間而改變。

在LQR的情況下,Policy Iteration與求解CT Riccati方程的Kleinman演算法完全相同。然而,這些RL方法允許只使用關於\(g(\cdot)\)的資訊(例如\(B\)矩陣)來實現演算法。關於\(f(\cdot)\)(矩陣)的資訊是不需要的。即,CT PI在不知道系統內部動力學的情況下,利用沿系統軌跡測量的資料,線上求解CT Riccati方程。