前言: 本次筆記對《強化學習(第二版)》第十一章進行概括性描述。
以下概括都是基於我個人的理解,可能有誤,歡迎交流:[email protected]。
總的來說,第11章學習體驗不好。可能是由於內容本身比較抽象,第11章屬於星標章節。練習題沒有引起我的興趣。還有一點比較令人失望:儘管本章討論了不少更新目標與算法(其中很多爲反例),並給出了大量帶有矩陣的計算公式,但實例並不多。因此,我認爲理解其大概思想便可。
正文
基於函數逼近的離軌策略方法
的大多方法並不令人滿意:無論是理論上還是實踐上。
離軌策略學習目前面臨兩個挑戰:
- The first part of the challenge has to do with
the target of the update
(not to be confused with the
target policy); - and the second part has to do with the
distribution of the updates
.
解釋一下,在離軌策略的預測/控制中,我們更新的目標與交互的基礎是不同的,因此有了第一個挑戰。在非表格型情況下,我們需要用到狀態的分佈
,因此有了第二個挑戰。
第一個挑戰可以通過引入重要度採樣
來解決。
11.1 半梯度方法
本節討論了重要度採樣
在離軌策略中的推廣。換句話說,就是把之前表格型算法中的離軌方法轉換爲半梯度形式。
值得注意的是,這些方法只對表格型
的情況才保證穩定且漸進無偏。
11.2 離軌策略發散的例子
本節舉了一個小例子和一個大例子,說明了半梯度以及其他方法的不穩定性
。
此外,Tsitsiklis 和 van Roy’s 的反例由數學推導得證。
這裏我要強調一下 Baird 反例,這着實困擾我一些時間。並且現在也沒有完全明白其計算過程。我能給出的說明是:如果你對於爲什麼狀態的編碼刑如 2w_1 + w_8 有疑問,那麼我的解釋是,狀態編碼(或者說線性特徵的構造)並不是我們決定的,在例子中,特徵已經被很愚蠢地構造好了,在這種愚蠢地構造下,我們可以觀測大,傳統的半梯度方法會導致不收斂、不穩定。
那麼,既然如此,我們“聰明地”構造特徵不就可以了嗎?
不可以,因爲大部分情況下,我們無法掌控我們對於特徵的構造(因爲權值向量
維度不能太大)。如果要構造特徵的話,這涉及到到的映射關係(我的理解是,神經網絡
/瓦片編碼
可以解決這種問題)。這也是爲什麼在本節末尾,提到了“另一個避免不穩定的方式是使用函數逼近中的一些特殊方法
”。
11.3 致命三要素
同時滿足
以下三種要素,一定不穩定/發散:
- 函數逼近
- 自舉法
- 離軌策略訓練
那麼,該拋棄哪個來保證穩定呢?
一、函數逼近極大地節省了計算開銷,不能拋棄。
二、自舉法或許可以拋棄,但是將帶來的效率損失是巨大的:
- 不用自舉法學的慢,在第10章中已經有實例證明;
- 使用蒙特卡洛將帶來巨大的存儲壓力。
三、離軌策略或許可能被拋棄。因爲很多情況下,同軌策略就住夠了。但是想實現真正的“通用性”,僅僅依靠離軌策略是不夠的。
11.4 線性價值函數的幾何性質
這節課爲向量賦予了“幾何性質”,但着實困擾我許久。這節課是後面章節所提指標的鋪墊
。
書上說,考慮這種情況:
接着,書上就做了二維與三維交叉的圖,這讓我很困惑
。最終我給自己的解釋是(這個解釋存疑
):這個空間中的點對應的三維座標是對應的各狀態的價值,是三元組。
近似的線性
價值函數即:
其中:
這裏注意理解一下,本來是有三
個維度的,因爲“特徵工程”
的處理,變成了只有兩個特徵的。爲什麼兩個特徵?因爲我們的參數只有兩個值()。
如果僅僅依靠線性關係來計算,因爲我們的參數只有兩個值(),並且可能很差,因此(考慮向量相乘的幾何意義
尤其是方向
)我們得到的狀態價值這個向量很有可能無法得到。
值得注意的是,這裏我們描繪距離不使用歐幾里得距離。
11.5 對貝爾曼誤差做梯度下降
本節中以最小化均方梯度誤差
爲目標,使用完全的 SGD 算法進行下降。這在理論上會保證收斂,這個算法被稱爲樸素殘差梯度
算法。但是,樸素殘差收斂到的並非最優策略。
書上例11.2的A-分裂
例子很好地做了反例。
因此,我們考慮貝爾曼誤差。如果價值是準確的,那麼貝爾曼誤差是0。
貝爾曼誤差是該狀態的TD誤差的期望。需要下一狀態的兩個獨立樣本
,但這並不難實現。且,貝爾曼誤差在現行情況下,總會收斂到最小化對應的,且是唯一的。
以貝爾曼誤差爲目標下降
但問題有三個:
- 貝爾曼誤差對應的
殘差梯度算法
太慢了; - 貝爾曼誤差看起來仍然收斂到錯誤的值(書例11.3 A預先分裂的例子);
- 貝爾曼誤差是不可學習的。
11.6 貝爾曼誤差是不可學習的
何爲不可學習的的?
即,不能從可觀測的數據中學到。
書上有例子:兩個情況是不同的,但產生的數據遵從同一分佈,而卻不同。也就是說並不是這個數據分佈唯一確定的函數
(跟數據序列竟然沒什麼關係!)。也是一個道理。因此是不可學習的。
但是,爲啥在上一章我們認爲可用呢?因爲優化他的參數是可學習的。我們引出均方回報誤差
。
11.7 梯度TD方法
考慮最小化均方投影貝爾曼誤差
的SGD。
本節由數學推導,依此提出了最小均方(Least Mean Square, LMS)
、GTD2
、帶梯度修正的TD(0)(TDC)或者GTD(0)
算法。
實例證明,梯度TD(0)是有用的。
GTD2 和 TDC 其實包含了兩個學習過程:學w和學v。書上將這種不對稱的依賴稱爲梯級
。
11.8 強調 TD 方法
此外,書上還簡單介紹了強調 TD 方法,核心思想是將更新分佈也轉換爲同軌策略分佈。
這需要用到興趣值
與強調值
。
理論上,期望中,算法理論上是可以收斂到最優解的,但實際上並非如此。
11.9 減小方差
介紹了“重要性權重感知”更新、樹回溯算法、“識別器”等概念,或許可以幫助減小估計的方差,更有效地利用數據。
PiperLiu
2020-3-15 16:39:22