深度強(qiáng)化學(xué)習(xí)落地指南總結(jié)(一)-需求分析

  • 本系列是對《深度強(qiáng)化學(xué)習(xí)落地指南》全書的總結(jié)睬捶,這本書是我市面上看過對深度強(qiáng)化學(xué)習(xí)落地講的最好的一本書坠敷,大大拓寬了自己對RL落地思考的維度,形成了強(qiáng)化學(xué)習(xí)落地分析的一套完整框架,本文內(nèi)容基本摘自這本書,有興趣的讀者可以自行購買吼驶。

作者對這本書的推薦序:https://zhuanlan.zhihu.com/p/403191691

第一章 需求分析

1.1 需求分析:勿做DRL鐵錘人

須知任何機(jī)器學(xué)習(xí)方法都有各自的優(yōu)勢和適用范圍,DRL算法也同樣有其鮮明的優(yōu)勢和局限性港准,因此務(wù)必要做到具體問題具體分析。不是所有需求都適合用DRL解決咧欣,適合用DRL解決的需求在性能上也未必超越傳統(tǒng)方法浅缸。因此在面對一個新需求的適合,要依次回答“是不是”魄咕、“值不值”衩椒、“能不能”、“邊界在哪里”四個問題哮兰。

  • 這點非常重要毛萌,就我正在做的落地項目而言,甲方由于現(xiàn)在外界對DRL的猛吹喝滞,所以只想使用DRL算法一把梭阁将,但實際上工業(yè)界的一些經(jīng)典控制算法(如PID等)在項目上本身就能有不錯的表現(xiàn),只需要針對特定場景和DRL做一些結(jié)合就能得到預(yù)期指標(biāo)右遭,所以在接到需求之后一定要嚴(yán)格評估再做決定做盅。

1.2 一問“是不是”

1.2.1 Agent和環(huán)境定義

首先我們要明確需求任務(wù)中的Agent和環(huán)境。對于大多數(shù)任務(wù)而言窘哈,通常只存在一個決策和行為的主體吹榴,此時就是典型的單智能體強(qiáng)化學(xué)習(xí)問題。然而當(dāng)任務(wù)中同時存在多個行為主體時滚婉,情況會變得復(fù)雜图筹,即使這些行為主體之間完全同質(zhì)和相互合作的關(guān)系,也至少存在兩種Agent定義方案让腹。第一種方案是將所有行為主體看作一個整體远剩,從而構(gòu)成單智能體強(qiáng)化學(xué)習(xí)問題;第二種方案是將每個行為主體都作為獨(dú)立的Agent骇窍,從而構(gòu)成多智能體強(qiáng)化學(xué)習(xí)(Multi-Agent Reinforcement Learning, MARL)問題民宿。

第一種方案可以保證得到全局最優(yōu)的聯(lián)合策略,但狀態(tài)空間維度和策略復(fù)雜度會隨著行為主體數(shù)量的增加而迅速膨脹像鸡,導(dǎo)致算法難以擴(kuò)展到大規(guī)模問題上活鹰;第二種方案通過每個Agent獨(dú)立感知和決策避免了維度詛咒哈恰,但隨之產(chǎn)生了多Agent間貢獻(xiàn)度分配(見4.3.1)和聯(lián)合探索難題,以及多策略協(xié)同優(yōu)化所導(dǎo)致的環(huán)境不穩(wěn)定性(Environment Nonstationarity)志群,從而影響算法性能着绷。

  • 這個問題我也遇到了,說實話做方案選擇時候還是挺糾結(jié)的锌云,在我的落地場景中如果單純從單智能體的角度考慮荠医,無論是狀態(tài)的維度,動作的維度都會變得非常大桑涎,再加上真實落地過程中可憐的數(shù)據(jù)采樣效率彬向,顯然是沒辦法收斂的;選擇多智能體的方案正如作者所說攻冷,也會會一些別的問題(當(dāng)然沒選擇的更大原因是自身對這方面并沒有過多的涉獵)娃胆。最后我采取的方案還是單智能體,但是使用一些機(jī)器學(xué)習(xí)篩選和相關(guān)領(lǐng)域?qū)<抑R的方法對狀態(tài)維度和動作維度分別都進(jìn)行了大幅度的減少等曼,確保最后算法能夠收斂里烦。

1.2.2 馬爾科夫決策過程和強(qiáng)化學(xué)習(xí)

  • 首先我們需要判斷這個需求任務(wù)是不是一個強(qiáng)化學(xué)習(xí)問題,這個需要從強(qiáng)化學(xué)習(xí)的數(shù)學(xué)定義出發(fā)(Agent -> s_t -> \pi(a_t|s_t) -> a_t -> s_{t+1} -> r(s_t,a_t)禁谦,這里簡單用幾個符號表示胁黑,就不具體展開了 )。以上過程被稱為馬爾科夫決策過程(Markov Decision Process,MDP)州泊。若每步只能觀測到部分狀態(tài)信息丧蘸,則稱為部分可觀測馬爾科夫決策過程(Partially Observable Markov Decision Process,POMDP)。

強(qiáng)化學(xué)習(xí)的涵蓋范圍不止于此遥皂,當(dāng)環(huán)境不存在特定狀態(tài)轉(zhuǎn)移概率分布p(s_{t+1}|s_t,a_t)触趴,或者說狀態(tài)轉(zhuǎn)移完全隨機(jī)時,MDP問題就退化為上下文多臂老虎機(jī)(Contextual Multi-Armed bandits, CMAB)了渴肉;如果環(huán)境不存在狀態(tài)的概念冗懦,或者說只有一個狀態(tài)且沒有狀態(tài)轉(zhuǎn)移,問題就退化為多臂老虎機(jī)仇祭。

1.3 二問“值不值”

在判斷一個任務(wù)是否適合用DRL作為解決方案時披蕉,首先需要考慮兩種可能性:能否使用規(guī)則或啟發(fā)式搜索,以及是否應(yīng)該使用傳統(tǒng)強(qiáng)化學(xué)習(xí)算法乌奇,這兩個問題的答案取決于任務(wù)解空間的大小和復(fù)雜度没讲。任務(wù)解空間通常表示為S × A,即狀態(tài)和動作的復(fù)合空間礁苗。

1.3.1 試試規(guī)則和啟發(fā)式搜索

在解決實際問題時爬凑,應(yīng)該追求條件允許范圍內(nèi)的最優(yōu)定制化方案,即我們要想辦法降低解空間的維度试伙。這些方案可能抓住了底層的物理和數(shù)學(xué)本質(zhì)嘁信,可能充分挖掘了任務(wù)邏輯和先驗知識于样,可能充分發(fā)揮了計算機(jī)的算力,甚至可能主動設(shè)置高度可控的應(yīng)用場景規(guī)避了很多棘手的問題潘靖。

  • 在面對需求的時候穿剖,我們應(yīng)當(dāng)先放下RL這種“玄學(xué)”的想法,把"work"當(dāng)做第一要義卦溢。一個非常重要的經(jīng)驗就是先花大量的功夫在數(shù)據(jù)處理和可視化上面糊余,如果數(shù)據(jù)可視化做得好的話往往可以發(fā)掘一些潛在規(guī)律,從簡單來說可以用if-else能解決单寂,稍微難點可能用一些數(shù)學(xué)模型來表示贬芥;這個部分還有一些小彩蛋:就算只是發(fā)現(xiàn)了一些小規(guī)律,在獎勵函數(shù)設(shè)計的時候如果可以加進(jìn)去宣决,往往會有意想不到的驚喜蘸劈。

1.3.2 別忘了傳統(tǒng)強(qiáng)化學(xué)習(xí)

在有一類任務(wù)中,一方面面由于維度較高導(dǎo)致很難通過觀察發(fā)現(xiàn)有效規(guī)則疲扎,且啟發(fā)式搜索所需的算力和存儲能力顯著增加昵时,難以利用有限資源獲得滿意性能捷雕;另一方面椒丧,狀態(tài)-動作組合的期望累計回報分布無顯著規(guī)律并呈現(xiàn)多模態(tài)特征,即在相同狀態(tài)下不同動作的期望累計回報較為接近救巷。強(qiáng)化學(xué)習(xí)在這類任務(wù)中是可能具有優(yōu)勢的壶熏,并且在解空間可窮舉、規(guī)模適中的前提下浦译,諸如Q-learning和Sarsa等傳統(tǒng)強(qiáng)化學(xué)習(xí)方法的性能未必遜于DRL算法棒假。

  • 在維度沒那么高的時候,親測使用傳統(tǒng)RL的方法在很多時候都能work精盅,有時候迫于甲方宣傳的壓力(眾所周知帽哑,產(chǎn)品+AI綁定的宣傳方式能提升銷量)會加上神經(jīng)網(wǎng)絡(luò),但效果不但沒有變好叹俏,收斂的時間往往也會變長妻枕。

1.3.2 使用DRL的理由

  • 作者將一定要使用DRL的理由總結(jié)為以下三點:
  1. 難以從龐大的解空間中分析出有效規(guī)則和啟發(fā)式搜索方案,或者解空間中可能存在比已有規(guī)則和啟發(fā)式搜索更好的方案粘驰。
  2. 解空間維度過高或不可窮舉屡谐,基于表格值估計的傳統(tǒng)強(qiáng)化學(xué)習(xí)算法(如Q-learning)在存儲空間和計算效率上遇到瓶頸。
  3. 類似于二維圖像和長跨度時序信息等高維狀態(tài)信息中包含大量冗余成分蝌数,有賴于深度神經(jīng)網(wǎng)絡(luò)的強(qiáng)大特征提取能力愕掏,從中提取有用的高層抽象語義特征,并建立起長期決策相關(guān)性顶伞。

1.4 三問“能不能”

在明確了使用DRL算法的必要性后饵撑,還需要仔細(xì)評估其可行性剑梳,即回答“能不能”的問題。在具體層面肄梨,這取決于目標(biāo)任務(wù)是否滿足場景固定和數(shù)據(jù)廉價這兩個關(guān)鍵要求阻荒。前者關(guān)系到訓(xùn)練后的策略能否順利遷移至部署環(huán)境并維持高性能,而后者則決定了是否有足夠多的數(shù)據(jù)使DRL算法成功收斂众羡。

1.4.1 場景固定:兩個分布一致

如果說有監(jiān)督學(xué)習(xí)的訓(xùn)練過程是針對某個目標(biāo)函數(shù)侨赡,關(guān)于輸入數(shù)據(jù)的單分布定制優(yōu)化,DRL則是關(guān)于輸入狀態(tài)和狀態(tài)轉(zhuǎn)移概率的雙分布定制優(yōu)化粱侣。算法從前者習(xí)得定制化的特征提取能力羊壹,并根據(jù)后者學(xué)會基于上述特征的定制化決策或估值能力。

1.4.1.1 狀態(tài)分布一致

狀態(tài)分布是由初始狀態(tài)分布齐婴、策略和狀態(tài)轉(zhuǎn)移概率共同決定油猫,其中最根本的影響因素還是來自環(huán)境的固有屬性。關(guān)于狀態(tài)分布的一致性柠偶,可以參考下圖(a)的圍棋游戲情妖,若訓(xùn)練時直接采用左半邊木質(zhì)棋盤的原始圖像作為輸入,那么DRL算法中神經(jīng)網(wǎng)絡(luò)的特征提取功能將會在這種特殊狀態(tài)分布下高度定制化诱担。若后續(xù)把游戲切換為右上角的極簡風(fēng)格或右下角的“化石”風(fēng)格毡证,無論是棋盤底紋和棋子樣式均發(fā)生了顯著變化,則相當(dāng)于狀態(tài)信息進(jìn)入了另外一種截然不同的分布蔫仙,原來的網(wǎng)絡(luò)將無法提取出有效的高層特征料睛。

image

為了使同一套DRL算法適用于各種棋盤風(fēng)格,一種有效手段是對原始信息進(jìn)行抽象化預(yù)處理摇邦。如圖(b)所示恤煞,整張棋盤被初始化為19×19大小的矩陣,空白位置施籍、白子和黑子被分別表示為0,1和2居扒。無論棋盤和棋子實際長什么樣子,狀態(tài)分布都始終保持一致丑慎。

1.4.1.2 狀態(tài)轉(zhuǎn)移概率分布一致

所謂狀態(tài)轉(zhuǎn)移概率一致喜喂,就是要求Agent在任意狀態(tài)s下采取動作a后,進(jìn)入下一個狀態(tài)s'的概率分布p(s'|s,a)保持不變立哑。狀態(tài)轉(zhuǎn)移概率分布一致要求的最大挑戰(zhàn)通常來自使用模擬器(Simulator)訓(xùn)練時帶來的Reality Gap夜惭。另外如果想要訓(xùn)練好的模型能順利遷移至別的場景痹愚,需要在訓(xùn)練過程中制定更泛化的場景唱遭,使?fàn)顟B(tài)轉(zhuǎn)移概率分布擴(kuò)展至更大的范圍。

1.4.2 數(shù)據(jù)廉價:多纺念、快捂掰、好敢会、省

由于強(qiáng)化學(xué)習(xí)缺乏高效的監(jiān)督信號曾沈,再加上深度神經(jīng)網(wǎng)絡(luò)眾所周知的特點,DRL算法天然需要大量數(shù)據(jù)進(jìn)行訓(xùn)練鸥昏,這也是DRL一直被學(xué)術(shù)界詬病的重要缺陷——低成本效率(Low Sample Efficiency)

  • 因此擁有多快好省的數(shù)據(jù)非常重要塞俱,多指的是數(shù)據(jù)量多,快指的是數(shù)據(jù)采集速度快吏垮,好指的是數(shù)據(jù)質(zhì)量高障涯,質(zhì)量高指的是訓(xùn)練環(huán)境和部署環(huán)境差異較小,省指的是數(shù)據(jù)采集成本小膳汪。為了省通常會使用模擬器來生成數(shù)據(jù)唯蝶,但是會存在Reality Gap,所以往往需要一個好的模擬器來采集數(shù)據(jù)遗嗽。
  • 當(dāng)然并非所有模擬器都存在Reality Gap粘我,其中最典型的代表是視頻游戲和棋盤類游戲。這類任務(wù)也就是Game as Simulation痹换。當(dāng)然并非所有任務(wù)都能做到Game as Simulation征字,但只要盡量縮小模擬器的Reality Gap,就仍然能用DRL算法訓(xùn)練出具備實用價值的策略娇豫。

1.5 四問“邊界在哪里”

在實際應(yīng)用中匙姜,對于DRL算法在一個具體任務(wù)中的“職責(zé)范圍”需要清晰界定。即使經(jīng)過仔細(xì)評估后認(rèn)為DRL可以帶來較為顯著的整體性能提升锤躁,也不代表任務(wù)內(nèi)部每個子功能模塊都應(yīng)該交給DRL處理搁料,任務(wù)中每個子功能模塊也都可能有各自最適用的解決方案或详。

  • 這里主要是體現(xiàn)各方法系羞、各模塊協(xié)同合作的思想。對于一個落地應(yīng)用來說霸琴,往往能按照功能分為多個模塊(包括一個主模塊和多個次模塊)椒振,在實踐過程中可以把核心模塊中定義為強(qiáng)化學(xué)習(xí)問題的交給DRL解決,其他模塊可以根據(jù)自身特點再分別選擇各自合適的算法梧乘,從而組成一整個決策系統(tǒng)澎迎。如下圖麻將AI Suphx所示:
image
image

當(dāng)然上述DRL和其他方法分別負(fù)責(zé)不同子功能模塊的方案并不是協(xié)同式混合方案的唯一形式,在實踐中還有其他融合方式:(1)可以在基于規(guī)則或傳統(tǒng)控制算法的原有策略基礎(chǔ)上訓(xùn)練增量式DRL策略选调,此時DRL算法學(xué)習(xí)的是如何修正原有策略的不足夹供;還可以將其他方法作為DRL動作空間的一部分,此時DRL算法學(xué)習(xí)的是如何在恰當(dāng)時機(jī)切換到這些方法使其發(fā)揮最大作用(見2.3.2節(jié))仁堪。

  • 和傳統(tǒng)方法融合這個做法在我的RL落地實踐中起到了很大的作用哮洽,因為傳統(tǒng)方法往往是有理論支撐,可能優(yōu)化的效果不夠好但總體來說是一個相對穩(wěn)妥的選擇弦聂,我舉個可能不恰當(dāng)?shù)睦樱罕热鐝腁地去到B地鸟辅,有三條大路氛什,現(xiàn)在的任務(wù)需求是讓你選擇一條最短路徑,RL可能可以在某一條大路里面選擇最短的一個路線匪凉,但可能會走偏枪眉,走到別的大路去;而傳統(tǒng)方法就像是一個矯正器再层,雖然在每條大路里面不一定能選擇最短的走法贸铜,但總能保證走在正確的大路上。所以這時候可以在每次RL決策幾步后聂受,用傳統(tǒng)方法做一個矯正萨脑,這樣才在保證下限的情況下做到一定的優(yōu)化。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末饺饭,一起剝皮案震驚了整個濱河市渤早,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌瘫俊,老刑警劉巖鹊杖,帶你破解...
    沈念sama閱讀 217,185評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異扛芽,居然都是意外死亡骂蓖,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,652評論 3 393
  • 文/潘曉璐 我一進(jìn)店門川尖,熙熙樓的掌柜王于貴愁眉苦臉地迎上來登下,“玉大人,你說我怎么就攤上這事叮喳”环迹” “怎么了?”我有些...
    開封第一講書人閱讀 163,524評論 0 353
  • 文/不壞的土叔 我叫張陵馍悟,是天一觀的道長畔濒。 經(jīng)常有香客問我,道長锣咒,這世上最難降的妖魔是什么侵状? 我笑而不...
    開封第一講書人閱讀 58,339評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮毅整,結(jié)果婚禮上趣兄,老公的妹妹穿的比我還像新娘。我一直安慰自己悼嫉,他們只是感情好艇潭,可當(dāng)我...
    茶點故事閱讀 67,387評論 6 391
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般暴区。 火紅的嫁衣襯著肌膚如雪闯团。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,287評論 1 301
  • 那天仙粱,我揣著相機(jī)與錄音房交,去河邊找鬼。 笑死伐割,一個胖子當(dāng)著我的面吹牛候味,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播隔心,決...
    沈念sama閱讀 40,130評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼白群,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了硬霍?” 一聲冷哼從身側(cè)響起帜慢,我...
    開封第一講書人閱讀 38,985評論 0 275
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎唯卖,沒想到半個月后粱玲,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,420評論 1 313
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡拜轨,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,617評論 3 334
  • 正文 我和宋清朗相戀三年抽减,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片橄碾。...
    茶點故事閱讀 39,779評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡卵沉,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出法牲,到底是詐尸還是另有隱情史汗,我是刑警寧澤,帶...
    沈念sama閱讀 35,477評論 5 345
  • 正文 年R本政府宣布皆串,位于F島的核電站淹办,受9級特大地震影響眉枕,放射性物質(zhì)發(fā)生泄漏恶复。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,088評論 3 328
  • 文/蒙蒙 一速挑、第九天 我趴在偏房一處隱蔽的房頂上張望谤牡。 院中可真熱鬧,春花似錦姥宝、人聲如沸翅萤。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,716評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽套么。三九已至培己,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間胚泌,已是汗流浹背省咨。 一陣腳步聲響...
    開封第一講書人閱讀 32,857評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留玷室,地道東北人零蓉。 一個月前我還...
    沈念sama閱讀 47,876評論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像穷缤,于是被迫代替她去往敵國和親敌蜂。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,700評論 2 354

推薦閱讀更多精彩內(nèi)容