在郭憲和方勇純老師編著的《深入淺出強化學(xué)習(xí) 原理入門》一書第十章關(guān)于引導(dǎo)性策略搜索一文中鸠删,在關(guān)于軌跡優(yōu)化部分贼陶,提到了LQR和DDP的優(yōu)化算法,在查閱了很多的資料后碉怔,現(xiàn)總結(jié)如下:
本文參考資料如下:
- Apollo控制算法之LQR
- 什么是二次型最優(yōu)控制
- 機器學(xué)習(xí)筆記17: 線性二次型調(diào)節(jié)控制
- 機器學(xué)習(xí)筆記18: 微分動態(tài)規(guī)劃
- 強化學(xué)習(xí)入門 第二講 基于模型的動態(tài)規(guī)劃方法
-
微分動態(tài)規(guī)劃
其中,一二三是講解LQR的庙楚,四五六講解DDP。
在原始的LQR問題中馒闷,我們的目標是求損失J最小,即纳账。該公式的含義是說捺疼,所有時間步內(nèi)總的損失等于前N-1個時間步加上最后一個時間步的損失。LQR相關(guān)的知識可參考前3個鏈接。對LQR的總結(jié):
- 在原有MDP的基礎(chǔ)上引入了時間邊界的概念呢袱,這類問題被稱為有限邊界的MDP,在這種設(shè)定下策略和價值函數(shù)都是不穩(wěn)定的羞福,也就是說它們是隨著時間變化的。
- 線性二次型調(diào)節(jié)控制(LQR)是一個特殊的有限邊界MDP模型治专,該模型廣泛應(yīng)用于機器人學(xué)中遭顶。
- LQR的目標就是找到一組控制量u0,u1,...使
x0,x1...足夠小,即系統(tǒng)達到穩(wěn)定狀態(tài)棒旗;
u0,u1,...足夠小,即花費較小的控制代價铣揉。
注意:在原始的LQR問題中,我們的目標是J最小老速,而對于在強化學(xué)習(xí)時,我們的目標是reward最大橘券,因此,在reward的定義中旁舰,增加了一個負號。即
至于噪聲毯焕,可加可不加,加了相當(dāng)是確定的纳猫,不加則是隨機的意思竹捉。
即由和到的過程是線性的,目標函數(shù)是二次的块差,且要迭代的公式是由目標函數(shù)生成的
下面進入DDP部分倔丈。
參考鏈接5和鏈接6中状蜗,關(guān)于微分動態(tài)規(guī)劃的推導(dǎo)中,都有公式
與LQR不同的地方在于宏邮,要迭代的中,函數(shù)以及由生成2處不同蜀铲。因此边琉,將這2處地方變成與原始LQR問題類似的形式變可以用LQR來解決問題了,如果變化呢?采用泰勒展開式來代替原始函數(shù)族扰。
對的變化:
上文提到,常數(shù)可加可不加渔呵。
對于函數(shù)來說砍鸠,同樣,我們?nèi)《A泰勒展開式爷辱,如下:
由于是近似,我們只取二階部分饭弓,即轉(zhuǎn)換之后,就是LQR問題咏花,然后用LQR來解決問題即可。
總結(jié):
- LQR只適用于狀態(tài)轉(zhuǎn)換函數(shù)是線性的場景昏翰,當(dāng)狀態(tài)轉(zhuǎn)換函數(shù)是非線性時,我們可以使用泰勒展開的方法做線性近似
- 當(dāng)大部分狀態(tài)和行動在某個小的局部范圍內(nèi)棚菊,我們可以選擇局部中心做線性近似
- 當(dāng)狀態(tài)轉(zhuǎn)換函數(shù)遵循某條軌跡時,可以使用微分動態(tài)規(guī)劃(DDP)算法窍株,其思想是在狀態(tài)轉(zhuǎn)換函數(shù)的多個點上依次做線性近似