值分布強(qiáng)化學(xué)習(xí)

參考:
https://zhuanlan.zhihu.com/p/65116688
https://blog.csdn.net/weixin_41168254/article/details/90382466

三篇論文

  • C51
  • QR-DRL
  • IQN

1. 什么是值分布強(qiáng)化學(xué)習(xí)

  • 首先看看經(jīng)典強(qiáng)化學(xué)習(xí):(X魄宏,A,R删性,P珍剑,γ)烙如,狀態(tài)轉(zhuǎn)移矩陣P(·|x, a)凶朗,策略π(·|x)

(1)折扣累積回報其實(shí)是一個隨機(jī)變量铝噩,就是在相同輸入的時候漂辐,可能會取不同的值泪喊。

(2)行為值函數(shù)是回報的期望,以及其Bellman方程表達(dá)形式:

(3)強(qiáng)化學(xué)習(xí)的目標(biāo)是找到最優(yōu)點(diǎn)的策略π髓涯,以最大化行為值函數(shù)袒啼,就是在所有x,a對,對于所有的π纬纪,有:
  • 那什么是值分布強(qiáng)化學(xué)習(xí)蚓再?

(1)折扣累積回報Z是一個隨機(jī)變量,隨機(jī)變量是有分布的包各,包含的信息比常規(guī)強(qiáng)化學(xué)習(xí)求出來的的均值要包含更多更多的信息量摘仅,包含更多和環(huán)境交互的信息,或許就是傳統(tǒng)強(qiáng)化學(xué)習(xí)收斂難问畅,不魯棒娃属,樣本效率低,訓(xùn)練難的問題原因护姆。

(2)考慮這些分布信息矾端,重新形式化強(qiáng)化學(xué)習(xí),首先確認(rèn)Z確實(shí)是一個隨機(jī)變量卵皂。影響因素:①隨機(jī)性環(huán)境(狀態(tài)轉(zhuǎn)移的隨機(jī)性秩铆、狀態(tài)表示的混疊效應(yīng)),②隨機(jī)性策略灯变,③神經(jīng)網(wǎng)絡(luò)的函數(shù)逼近將無窮大的狀態(tài)空間編碼成有限的狀態(tài)特征殴玛,那么同一個特征對應(yīng)不同狀態(tài)可能會有不同的折扣累計回報,使得Z變成了隨機(jī)變量(這也是為什么神經(jīng)網(wǎng)絡(luò)沒有表格型方法那么好收斂柒凉,同時也是為什么值分布強(qiáng)化學(xué)習(xí)在Deep RL里效果明顯)。

(3)值分布強(qiáng)化學(xué)習(xí)領(lǐng)域大神:Marc G. Bellemare篓跛,DeepMind寫出了C51的那個一作

2. 值分布強(qiáng)化學(xué)習(xí)經(jīng)典論文

2.1 C51算法

  • 論文:《A Distributional Perspective on Reinforcement Learning》
  • 地址:https://arxiv.org/abs/1707.06887
  • DeepMind ICML 2017
  • 主題:價值分布方法超越所有傳統(tǒng)強(qiáng)化學(xué)習(xí)

問題:我們要優(yōu)化的回報期望Z實(shí)際上是個有分布的隨機(jī)變量膝捞,經(jīng)典強(qiáng)化學(xué)習(xí)優(yōu)化值分布的均值,忽略了分布的信息。

A. 重要概念

  • Bellman操作符(操作符是一個運(yùn)算蔬咬,Bellman操作符實(shí)際就是一個迭代更新運(yùn)算),和Bellman最優(yōu)操作符:

    有一個命題:固定策略π對應(yīng)的Bellman操作符和Bellman最優(yōu)操作符都是收縮映射鲤遥。意思是最終的行為值函數(shù)Q都會收斂都愛一個固定點(diǎn)Q*。

  • Bellman操作符幾何解釋:狀態(tài)空間X林艘,動作空間A盖奈,行為值函數(shù)Q(X,A)是|X|*|A|的向量,是一個超曲面狐援,Bellman算子做的就是把上面的點(diǎn)Q映射到TQ钢坦。
  • 值分布Bellman操作符:將一個隨機(jī)變量映射成另外一個隨機(jī)變量,即將一個分布映射成另外一個分布啥酱。

    同樣也有一個引理:值分布Bellman操作符在在Wasserstein度量下是γ收縮的爹凹,但并不能保證收斂到固定點(diǎn)。

  • 值分布Bellman操作符的幾何解釋:先定義轉(zhuǎn)移操作符

    接下來的分別展示①下一個Z(x,a)的概率分布(藍(lán)色)镶殷,②乘以收縮因子(紫色)禾酱,③通過Bellman算子計算下一個目標(biāo)概率分布(綠色,因為有常數(shù)R所以有平移)绘趋,④整體投射步驟(橙色)颤陶。

B. C51算法核心

分為兩步:
(1)啟發(fā)式投影
(2)最小化投影后的Bellman更新分布與預(yù)測分布之間的KL散度。

  • 參數(shù)化分布:因為折扣累積回報Z(x,a)是一個分布陷遮,C51表示這個分布的方法是對隨機(jī)變量空間離散化滓走,并假設(shè)這個隨機(jī)變量的值范圍[Vmin, Vmax],均勻離散化為N個點(diǎn)拷呆,每個等分的支集(指的是那些使得概率不為0的點(diǎn))為

    所以可以對概率分布作參數(shù)化建模:
    用圖形象的表示參數(shù)化過程:就是說神經(jīng)網(wǎng)絡(luò)的輸出對應(yīng)著相應(yīng)的隨機(jī)變量的概率闲坎。
  • 投影貝爾曼更新:根據(jù)上述值分布Bellman操作算子的幾何展示過程,我們可以發(fā)現(xiàn)茬斧,投影后的分布可能會超出投影前離散化支集的范圍腰懂?所以我們必須把Bellman操作符更新后的隨機(jī)變量投影到離散化的支集上。(這里沒太懂)项秉。具體計算一下绣溜,給一個樣本單元(x, a, r, x'),對每個支點(diǎn)(共N個)計算Bellman更新:

    然后將(x', π(x'))處的每個支點(diǎn)zj的值分布概率pj(x', π(x'))分配給Bellman算子TZ相鄰的支點(diǎn)娄蔼,所以每個支點(diǎn)所分得的概率為
    這就是Bellman投影更新怖喻。用圖來表示投影過程:
    (x',a')對應(yīng)得支點(diǎn)是z0,所以p0分別投影到Tz0相鄰支點(diǎn)z0和z1岁诉,z0分得大小是

    經(jīng)過上面得投影后锚沸,我們就會在每個(x,a)得到新得分布,利用新的分布和舊的分布構(gòu)建KL散度作為損失函數(shù)來訓(xùn)練參數(shù)化的值分布涕癣,即損失函數(shù)為

C. C51偽代碼

C51

D. C51與DQN對比

  • 相同點(diǎn)
    (1)C51算法的框架依然是DQN算法
    (2)采樣過程依然使用 [公式] 策略哗蜈,這里貪婪是取期望貪婪
    (3)采用單獨(dú)的目標(biāo)網(wǎng)絡(luò)
  • 不同點(diǎn)
    (1)C51算法的卷積神經(jīng)網(wǎng)絡(luò)的輸出不再是行為值函數(shù),而是支點(diǎn)處的概率
    (2)C51算法的損失函數(shù)不再是均方差和而是如上所述的KL散度
  • The End:因為在論文中,作者將隨機(jī)變量的取值分成了51個支點(diǎn)類的時候效果最好距潘,所以算法叫做C51

2.2 QR-DRL

  • 論文:《Distributional Reinforcemet Learning with Quantile Regression》
  • 地址:https://arxiv.org/abs/1710.10044
  • Deep Mind團(tuán)隊聯(lián)合劍橋大學(xué)在2017年提出
  • 主題:基于分位數(shù)回歸的分布強(qiáng)化學(xué)習(xí)(QR-DRL)以學(xué)習(xí)回報值的概率分布來代替學(xué)習(xí)回報值的期望值炼列。

A. 重要概念

  • Distributional RL(分布強(qiáng)化學(xué)習(xí)):Z是表示未來總折扣收益的隨機(jī)變量,分布式Bellman算子TZ,C51先建立一個離散分布,由logit模型表示丈攒,通過一個投影操作將目標(biāo)TZ投影到有限個支撐位置上苇倡,最后通過一個KL最小化步驟進(jìn)行更新
  • The Wasserstein Metric(瓦瑟斯坦度量):與Kullback-Leibler(KL)散度不同,Wasserstein度量是一個真實(shí)的概率度量,它同時考慮各種結(jié)果事件的概率和它們之間的距離。C51證明分布式Bellman算子是概率分布之間的Wasserstein度量極大形式的收縮。但Wasserstein度量作為一種損失缭付,是無法由隨機(jī)梯度下降來進(jìn)行最小化的。

    FY是Y的累積分布函數(shù)(CDF)循未。兩個CDF間的區(qū)域即為1-Wasserstein距離:
    但Bellemare等人證明了Wasserstein度量無法由隨機(jī)梯度下降進(jìn)行最小化陷猫。QR-DQN給出了答案
  • Quantile Regression(分位數(shù)回歸): 回想一下C51近似分布的做法是給固定位置zi分配不同的概率qi。而Deep Mind將此方法進(jìn)行了“轉(zhuǎn)置”:位置不同而概率固定的妖,即qi=1/N,i=1,…,N绣檬。這種新的近似方法目的在于估計目標(biāo)分布的quantiles(分位數(shù)),因此稱之為分位數(shù)分布嫂粟,用ZQ表示固定N的分位數(shù)分布娇未。
    參數(shù)化模型θ:


    一個分位數(shù)模型Zθ∈ZQ將每一個狀態(tài)動作對(s,a)映射到一個均勻概率分布上,此概率分布由θ支撐:
    好處有三個:
    ①不再受限于預(yù)先確定的支撐的界限星虹,當(dāng)回報值的范圍很大時零抬,能夠進(jìn)行更精確的預(yù)測
    ②避免了C51中的投影操作
    ③這種再參數(shù)化允許我們使用分位數(shù)回歸來最小化Wasserstein損失,而不受有偏梯度的影響宽涌。

分位數(shù)回歸:先對值分布Z投影到ZQ進(jìn)行量化

設(shè)Y是第一矩有界的分布平夜,U為N個狄拉克函數(shù)組成的均勻分布,支撐為{θ1卸亮,θ2忽妒,...,θN}兼贸,那么
根據(jù)引理2
我們最小化W1(Y段直,U)的
為了解決有偏梯度問題,使用了分位數(shù)回歸來進(jìn)行分位數(shù)函數(shù)的無偏隨機(jī)逼近溶诞。對于一個分布Z以及一個給定的分位數(shù)t鸯檬,分位數(shù)函數(shù)Fz^-1的值能夠由分位數(shù)回歸存世的最小化來體現(xiàn),
得到下面一行的優(yōu)化目標(biāo)
image.png
特別是螺垢,這種損失給出了無偏樣本梯度喧务。因此颜及,我們可以通過隨機(jī)梯度下降來找到最小化支撐{θ1,θ2蹂楣,...,θN}讯蒲,進(jìn)一步的也有平滑版本的Quantile Huber Loss:

QR-DQN 大題思路

  • 利用一個參數(shù)化的分位數(shù)分布來近似動作值分布痊土,分位數(shù)分布由一系列l(wèi)emma 2定義的分位數(shù)中點(diǎn)形成。然后使用分位數(shù)回歸來訓(xùn)練位置參數(shù)墨林。
  • 由此提出quantileregression temporal difference learning (QRTD) 算法
  • 將QRTD應(yīng)用到DQN上赁酝,形成QR-DQN算法,分布貝爾曼算子:

QR-DQN偽代碼

  • 相比較DQN修改了三處:
    (1)輸出層尺寸改為|A|*|N|旭等,N為分位數(shù)目標(biāo)的數(shù)目酌呆。
    (2)目標(biāo)函數(shù)改為Quantile Huber Loss。
    (3)使用Adam代替RMSProp


    QR-DQN

    隨著N的增加搔耕,值分布的估計精度也增加隙袁。

2.3 IQN

https://zhuanlan.zhihu.com/p/60949506

如何參數(shù)化收益分布是基于分布的強(qiáng)化學(xué)習(xí)算法(distributional reinforcement learning)的核心問題,現(xiàn)有工作中對分布的擬合往往是在固定的幾個點(diǎn)上弃榨。

  • 比如菩收,在最早提出的 C51 算法中,計算了總收益為-10到10之間均勻分布的51個值的各自的概率鲸睛。
  • 而在隨后的 QR-DQN 工作中娜饵,目標(biāo)從概率分布函數(shù)成為了擬合累積分布函數(shù),計算在0到1之間均勻分布的分位點(diǎn)概率(quantile fraction)所對應(yīng)的分位點(diǎn)值(quantile value)官辈。這些均勻分布的位置顯然對擬合分布是有很大限制的箱舞,并沒有將分布完全的參數(shù)化表示。
  • 因此隨后提出的 IQN拳亿,對隨機(jī)采樣的分位點(diǎn)概率進(jìn)行擬合晴股,在網(wǎng)絡(luò)中建模了從分位點(diǎn)概率到分位點(diǎn)值的映射,效果也十分明顯风瘦,超越了過去所有的算法队魏。
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市万搔,隨后出現(xiàn)的幾起案子胡桨,更是在濱河造成了極大的恐慌,老刑警劉巖瞬雹,帶你破解...
    沈念sama閱讀 216,372評論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件昧谊,死亡現(xiàn)場離奇詭異,居然都是意外死亡酗捌,警方通過查閱死者的電腦和手機(jī)呢诬,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評論 3 392
  • 文/潘曉璐 我一進(jìn)店門涌哲,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人尚镰,你說我怎么就攤上這事阀圾。” “怎么了狗唉?”我有些...
    開封第一講書人閱讀 162,415評論 0 353
  • 文/不壞的土叔 我叫張陵初烘,是天一觀的道長。 經(jīng)常有香客問我分俯,道長肾筐,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,157評論 1 292
  • 正文 為了忘掉前任缸剪,我火速辦了婚禮吗铐,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘杏节。我一直安慰自己唬渗,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,171評論 6 388
  • 文/花漫 我一把揭開白布奋渔。 她就那樣靜靜地躺著谣妻,像睡著了一般。 火紅的嫁衣襯著肌膚如雪卒稳。 梳的紋絲不亂的頭發(fā)上蹋半,一...
    開封第一講書人閱讀 51,125評論 1 297
  • 那天,我揣著相機(jī)與錄音充坑,去河邊找鬼减江。 笑死,一個胖子當(dāng)著我的面吹牛捻爷,可吹牛的內(nèi)容都是我干的辈灼。 我是一名探鬼主播,決...
    沈念sama閱讀 40,028評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼也榄,長吁一口氣:“原來是場噩夢啊……” “哼巡莹!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起甜紫,我...
    開封第一講書人閱讀 38,887評論 0 274
  • 序言:老撾萬榮一對情侶失蹤降宅,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后囚霸,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體腰根,經(jīng)...
    沈念sama閱讀 45,310評論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,533評論 2 332
  • 正文 我和宋清朗相戀三年拓型,在試婚紗的時候發(fā)現(xiàn)自己被綠了额嘿。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片瘸恼。...
    茶點(diǎn)故事閱讀 39,690評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖册养,靈堂內(nèi)的尸體忽然破棺而出东帅,到底是詐尸還是另有隱情,我是刑警寧澤球拦,帶...
    沈念sama閱讀 35,411評論 5 343
  • 正文 年R本政府宣布冰啃,位于F島的核電站,受9級特大地震影響刘莹,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜焚刚,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,004評論 3 325
  • 文/蒙蒙 一点弯、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧矿咕,春花似錦抢肛、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至莲镣,卻和暖如春福稳,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背瑞侮。 一陣腳步聲響...
    開封第一講書人閱讀 32,812評論 1 268
  • 我被黑心中介騙來泰國打工的圆, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人半火。 一個月前我還...
    沈念sama閱讀 47,693評論 2 368
  • 正文 我出身青樓越妈,卻偏偏與公主長得像,于是被迫代替她去往敵國和親钮糖。 傳聞我的和親對象是個殘疾皇子梅掠,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,577評論 2 353