在使用深度強(qiáng)化學(xué)習(xí)(Deep Reinforcement Learning,DRL)算法解決實(shí)際問題的過程中,明確任務(wù)需求并初步完成問題定義后,就可以為相關(guān)任務(wù)選擇合適的DRL算法了。
以DeepMind的里程碑工作AlphaGo為起點(diǎn),每年各大頂級(jí)會(huì)議DRL方向的論文層出不窮,新的DRL算法如雨后春筍般不斷涌現(xiàn),大有“亂花漸欲迷人眼”之勢(shì)。
然而,落地工作中的算法選擇并不等同于在這個(gè)急劇膨脹的“工具箱”中做大海撈針式的一對(duì)一匹配,而是需要根據(jù)任務(wù)自身的特點(diǎn)從DRL算法本源出發(fā)進(jìn)行由淺入深、粗中有細(xì)的篩選和迭代。
在介紹具體方法之前,筆者先嘗試按照自己的理解梳理近年來(lái)DRL領(lǐng)域的發(fā)展脈絡(luò)。
1
DRL算法的發(fā)展脈絡(luò)
盡管DRL算法已經(jīng)取得了長(zhǎng)足進(jìn)步,但筆者認(rèn)為其尚未在理論層面取得質(zhì)的突破,而只是在傳統(tǒng)強(qiáng)化學(xué)習(xí)理論基礎(chǔ)上引入深度神經(jīng)網(wǎng)絡(luò),并做了一系列適配和增量式改進(jìn)工作。
總體上,DRL沿著Model-Based和Model-Free兩大分支發(fā)展。
前者利用已知環(huán)境模型或者對(duì)未知環(huán)境模型進(jìn)行顯式建模,并與前向搜索(Look Ahead Search)和軌跡優(yōu)化(Trajectory Optimization)等規(guī)劃算法結(jié)合達(dá)到提升數(shù)據(jù)效率的目的。
作為當(dāng)前學(xué)術(shù)界的研究熱點(diǎn),Model-Based DRL尚未在實(shí)踐中得到廣泛應(yīng)用,這是由于現(xiàn)實(shí)任務(wù)的環(huán)境模型通常十分復(fù)雜,導(dǎo)致模型學(xué)習(xí)的難度很高,并且建模誤差也會(huì)對(duì)策略造成負(fù)面影響。
在筆者看來(lái),任何Model-Free DRL算法都可以解構(gòu)為“基本原理—探索方式—樣本管理—梯度計(jì)算”的四元核心組件。
其中按照基本原理,Model-Free DRL又存在兩種不同的劃分體系,即Value-Based和Policy-Based,以及Off-Policy和On-Policy。
如圖1所示,DQN、DDPG和A3C作為這兩種彼此交織的劃分體系下的經(jīng)典算法框架,構(gòu)成了DRL研究中的重要節(jié)點(diǎn),后續(xù)提出的大部分新算法基本都是立足于這三種框架,針對(duì)其核心組件所進(jìn)行的迭代優(yōu)化或者拆分重組。
Off-Policy指算法中采樣策略與待優(yōu)化策略不同;
On-Policy指采樣策略與待優(yōu)化策略相同或差異很?。?/p>
Value-Based指算法直接學(xué)習(xí)狀態(tài)-動(dòng)作組合的值估計(jì),沒有獨(dú)立策略;
Policy-Based指算法具有獨(dú)立策略,同時(shí)具備獨(dú)立策略和值估計(jì)函數(shù)的算法又被稱為Actor-Critic算法。
關(guān)于上述Model-Free DRL算法的四元核心組件,其中:
基本原理層面依然進(jìn)展緩慢,但卻是DRL算法將來(lái)大規(guī)模推廣的關(guān)鍵所在;
探索方式的改進(jìn)使DRL算法更充分地探索環(huán)境,以及更好地平衡探索和利用,從而有機(jī)會(huì)學(xué)到更好的策略;
樣本管理的改進(jìn)有助于提升DRL算法的樣本效率,從而加快收斂速度,提高算法實(shí)用性;
梯度計(jì)算的改進(jìn)致力于使每一次梯度更新都更穩(wěn)定、無(wú)偏和高效。
總體而言,DRL算法正朝著通用化和高效化的方向發(fā)展,期待未來(lái)會(huì)出現(xiàn)某種“超級(jí)算法”,能夠廣泛適用于各種類型的任務(wù),并在絕大多數(shù)任務(wù)中具有壓倒式的性能優(yōu)勢(shì),同時(shí)具備優(yōu)秀的樣本效率,從而使算法選擇不再是問題。
2
一篩、二比、三改良
從一個(gè)較粗的尺度上看,依據(jù)問題定義、動(dòng)作空間類型、采樣成本和可用運(yùn)算資源等因素的不同,的確存在一些關(guān)于不同類型DRL算法適用性方面的明確結(jié)論。
例如,Value-Based算法DQN及其變體一般只適用于離散動(dòng)作空間;相反,采用確定性策略的Policy-Based算法DDPG及其變體只適合連續(xù)動(dòng)作空間;而A3C和SAC等采用隨機(jī)策略的Policy-Based算法則支持離散和連續(xù)兩種動(dòng)作空間;此外,隨機(jī)策略通常比確定性策略具有更好的訓(xùn)練穩(wěn)定性。
在MuJoCo-Humanoid控制任務(wù)中,分別采用隨機(jī)策略和確定性策略的兩種SAC算法變體在不同隨機(jī)種子下多次訓(xùn)練的曲線顯示,隨機(jī)策略比確定性策略對(duì)隨機(jī)因素的影響更加魯棒,因此具有更好的訓(xùn)練穩(wěn)定性。
對(duì)于機(jī)器人等涉及硬件的應(yīng)用,或者其他采樣成本較高的任務(wù),能夠重復(fù)利用歷史數(shù)據(jù)的Off-Policy算法相比On-Policy算法更有優(yōu)勢(shì)。
在多智能體強(qiáng)化學(xué)習(xí)任務(wù)中,多個(gè)交互的Agent互相構(gòu)成對(duì)方環(huán)境的一部分,并隨著各自策略的迭代導(dǎo)致這些環(huán)境模型發(fā)生變化,從而導(dǎo)致基于這些模型構(gòu)建的知識(shí)和技能失效,學(xué)術(shù)界將上述現(xiàn)象稱為環(huán)境不穩(wěn)定性(Environment Nonstationarity)。
由于該問題的存在,除非Replay Buffer(經(jīng)驗(yàn)回放緩存)中的數(shù)據(jù)更新足夠快,否則重復(fù)使用歷史數(shù)據(jù)的Off-Policy算法反而可能引入偏差。
由于利用貝爾曼公式Bootstrap特性的值迭代方法是有偏的(Biased),On-Policy算法在訓(xùn)練穩(wěn)定性方面一般好于Off-Policy算法。
然而,為了盡可能獲取關(guān)于值函數(shù)的無(wú)偏估計(jì),On-Policy算法往往需要利用多個(gè)環(huán)境并行采集足夠多的樣本,這就要求訓(xùn)練平臺(tái)具有較多的CPU核,而Off-Policy算法則沒有這種要求,盡管后者也能夠從并行采樣中受益。
在完成“粗篩”之后,對(duì)于符合條件的不同DRL算法之間的取舍變得微妙起來(lái)。
一般而言,學(xué)術(shù)界提出的新算法,尤其是所謂SOTA(State of the Art,當(dāng)前最佳)算法,性能通常優(yōu)于舊算法。
但這種優(yōu)劣關(guān)系在具體任務(wù)上并不絕對(duì),目前尚不存在“贏者通吃”的DRL算法,因此需要根據(jù)實(shí)際表現(xiàn)從若干備選算法中找出性能最好的那個(gè)。
此外,只有部分經(jīng)過精細(xì)定義的實(shí)際任務(wù)可以通過直接應(yīng)用標(biāo)準(zhǔn)算法得到較好解決,而許多任務(wù)由于自身的復(fù)雜性和特殊性,需要針對(duì)標(biāo)準(zhǔn)算法的核心組件進(jìn)行不同程度的優(yōu)化后才能得到較為理想的結(jié)果,這一點(diǎn)可以在許多有代表性的DRL算法落地工作中找到蹤跡。
注意這里所說的優(yōu)化未必是學(xué)術(shù)級(jí)創(chuàng)新,更多時(shí)候是基于對(duì)當(dāng)前性能瓶頸成因的深入分析,在學(xué)術(shù)界現(xiàn)有的組件改良措施和思想中“對(duì)癥”選擇,是完全有跡可循的。
例如,為了改善DQN的探索,可以用噪聲網(wǎng)絡(luò)(Noisy Net)代替默認(rèn)的-greedy;為了提升其樣本效率,可以將常規(guī)經(jīng)驗(yàn)回放改為優(yōu)先級(jí)經(jīng)驗(yàn)回放(Prioritized Experience Replay,PER);為了提高其訓(xùn)練穩(wěn)定性,可以在計(jì)算目標(biāo)值時(shí)由單步Bootstrap改為多步Bootstrap等。
在《深度強(qiáng)化學(xué)習(xí)落地指南》一書的5.2節(jié)和5.3節(jié)中介紹具體的DRL算法時(shí),會(huì)專門列出針對(duì)相關(guān)算法的可用組件優(yōu)化措施供讀者參考。
3
從獨(dú)當(dāng)一面到眾星捧月
需要強(qiáng)調(diào)的是,算法在學(xué)術(shù)研究和落地應(yīng)用中與諸如動(dòng)作空間、狀態(tài)空間、回報(bào)函數(shù)等強(qiáng)化學(xué)習(xí)核心要素的關(guān)系是不同的。
具體可以概括為:學(xué)術(shù)研究為了突出算法的優(yōu)勢(shì),其他要素只需要保持一致甚至被刻意弱化;落地應(yīng)用為了充分發(fā)揮算法的性能,其他要素應(yīng)該主動(dòng)迎合算法需求以降低其學(xué)習(xí)難度。
可以說一邊是獨(dú)當(dāng)一面,另一邊是眾星捧月,這種角色上的差異是由學(xué)術(shù)研究和落地應(yīng)用各自不同的出發(fā)點(diǎn)決定的。
學(xué)術(shù)研究的目標(biāo)是在普遍意義上解決或改善DRL算法存在的固有缺陷,如低樣本效率、對(duì)超參數(shù)敏感等問題,因此算法自身特質(zhì)的優(yōu)劣處于核心地位。
為了保證不同算法之間進(jìn)行公平的比較,OpenAI Gym、Rllab等開放平臺(tái)為各種任務(wù)預(yù)設(shè)了固定的狀態(tài)空間、動(dòng)作空間和回報(bào)函數(shù),研究者通常只需要專心改進(jìn)算法,而很少需要主動(dòng)修改這些要素,即使修改也往往是為了刻意提升任務(wù)難度,從而突出算法在某些方面的優(yōu)點(diǎn),比如將回報(bào)函數(shù)變得更稀疏,簡(jiǎn)化狀態(tài)空間設(shè)計(jì)使其只包含低效的原始信息等。
與學(xué)術(shù)研究不同,落地應(yīng)用的目標(biāo)是在特定任務(wù)上獲得最佳策略性能,而算法僅僅是實(shí)現(xiàn)該目標(biāo)的眾多環(huán)節(jié)之一。
一方面,在學(xué)術(shù)研究中依靠算法改進(jìn)做到的事情,在實(shí)際應(yīng)用中可以通過狀態(tài)空間、動(dòng)作空間和回報(bào)函數(shù)的協(xié)同優(yōu)化達(dá)到相同甚至更好的效果。
另一方面,在學(xué)術(shù)研究中被認(rèn)為應(yīng)當(dāng)盡量避免的超參數(shù)精細(xì)調(diào)節(jié)和各種難以標(biāo)準(zhǔn)化、透明化的訓(xùn)練技巧,在落地應(yīng)用中成為必要工作。
總之,落地應(yīng)用中的策略性能優(yōu)化是一項(xiàng)系統(tǒng)工程,需要“不擇手段”地充分調(diào)動(dòng)包括算法在內(nèi)的各種有利因素。
責(zé)任編輯:haq
-
AI
+關(guān)注
關(guān)注
87文章
29853瀏覽量
268151 -
DRL
+關(guān)注
關(guān)注
0文章
6瀏覽量
12949
原文標(biāo)題:技術(shù)分享 | 如何在AI工程實(shí)踐中選擇合適的算法?
文章出處:【微信號(hào):Ithingedu,微信公眾號(hào):安芯教育科技】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論