如何賦予機(jī)器自主學(xué)習(xí)的能力,一直是人工智能領(lǐng)域的研究熱點(diǎn)。
強(qiáng)化學(xué)習(xí)與寬度學(xué)習(xí)
如何賦予機(jī)器自主學(xué)習(xí)的能力,一直是人工智能領(lǐng)域的研究熱點(diǎn)。在越來(lái)越多的復(fù)雜現(xiàn)實(shí)場(chǎng)景任務(wù)中,需要利用深度學(xué)習(xí)、寬度學(xué)習(xí)來(lái)自動(dòng)學(xué)習(xí)大規(guī)模輸入數(shù)據(jù)的抽象表征,并以此表征為依據(jù)進(jìn)行自我激勵(lì)的強(qiáng)化學(xué)習(xí),優(yōu)化解決問(wèn)題的策略。深度與寬度強(qiáng)化學(xué)習(xí)技術(shù)在游戲、機(jī)器人控制、參數(shù)優(yōu)化、機(jī)器視覺(jué)等領(lǐng)域中的成功應(yīng)用,使其被認(rèn)為是邁向通用人工智能的重要途徑。
澳門(mén)大學(xué)講座教授,中國(guó)自動(dòng)化學(xué)會(huì)副理事長(zhǎng)陳俊龍?jiān)谥袊?guó)自動(dòng)化學(xué)會(huì)第5期智能自動(dòng)化學(xué)科前沿講習(xí)班作了題目為「從深度強(qiáng)化學(xué)習(xí)到寬度強(qiáng)化學(xué)習(xí):結(jié)構(gòu),算法,機(jī)遇及挑戰(zhàn)」的報(bào)告。
陳俊龍教授的報(bào)告大致可以分為三個(gè)部分。首先討論了強(qiáng)化學(xué)習(xí)的結(jié)構(gòu)及理論,包括馬爾科夫決策過(guò)程、強(qiáng)化學(xué)習(xí)的數(shù)學(xué)表達(dá)式、策略的構(gòu)建、估計(jì)及預(yù)測(cè)未來(lái)的回報(bào)。然后討論了如何用深度神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)來(lái)穩(wěn)定學(xué)習(xí)過(guò)程及特征提取、如何利用寬度學(xué)習(xí)結(jié)構(gòu)跟強(qiáng)化學(xué)習(xí)結(jié)合。最后討論了深度、寬度強(qiáng)化學(xué)習(xí)帶來(lái)的機(jī)遇與挑戰(zhàn)。
強(qiáng)化學(xué)習(xí)結(jié)構(gòu)與理論
陳教授用下圖簡(jiǎn)單描述強(qiáng)化學(xué)習(xí)過(guò)程。他介紹道所謂強(qiáng)化學(xué)習(xí)就是智能體在完成某項(xiàng)任務(wù)時(shí),通過(guò)動(dòng)作A與環(huán)境(environment)進(jìn)行交互,在動(dòng)作A和環(huán)境的作用下,智能體會(huì)產(chǎn)生新的狀態(tài),同時(shí)環(huán)境會(huì)給出一個(gè)立即回報(bào)。如此循環(huán)下去,經(jīng)過(guò)數(shù)次迭代學(xué)習(xí)后,智能體能最終地學(xué)到完成相應(yīng)任務(wù)的最優(yōu)動(dòng)作。
提到強(qiáng)化學(xué)習(xí)就不得不提一下Q-Learning。接著他又用了一個(gè)例子來(lái)介紹了強(qiáng)化學(xué)習(xí)Q-Learning的原理。
Q-learning
假設(shè)一個(gè)樓層共有5個(gè)房間,房間之間通過(guò)一道門(mén)連接,如下圖所示。房間編號(hào)為0~4,樓層外的可以看作是一個(gè)大房間,編號(hào)5。
可以用圖來(lái)表示上述的房間,將每一個(gè)房間看作是一個(gè)節(jié)點(diǎn),每道門(mén)看作是一條邊。
在任意一個(gè)房間里面放置一個(gè)智能體,并希望它能走出這棟樓,也可以理解為進(jìn)入房間5。可以把進(jìn)入房間5作為最后的目標(biāo),并為可以直接到達(dá)目標(biāo)房間的門(mén)賦予100的獎(jiǎng)勵(lì)值,那些未與目標(biāo)房間相連的門(mén)則賦予獎(jiǎng)勵(lì)值0。于是可以得到如下的圖。
根據(jù)上圖可以得到獎(jiǎng)勵(lì)表如下,其中-1代表著空值,表示節(jié)點(diǎn)之間無(wú)邊相連。
再添加一個(gè)類似的Q矩陣,代表智能體從經(jīng)驗(yàn)中所學(xué)到的知識(shí)。矩陣的行代表智能體當(dāng)前的狀態(tài),列代表到達(dá)下一狀態(tài)的可能動(dòng)作。
然后陳教授又介紹了Q-Learning的轉(zhuǎn)換規(guī)則,即Q(state, action)=R(state, action) + Gamma * Max(Q[next state, all actions])。
依據(jù)這個(gè)公式,矩陣Q中的一個(gè)元素值就等于矩陣R中相應(yīng)元素的值與學(xué)習(xí)變量Gamma乘以到達(dá)下一個(gè)狀態(tài)的所有可能動(dòng)作的最大獎(jiǎng)勵(lì)值的總和。
為了具體理解Q-Learning是怎樣工作的,陳教授還舉了少量的例子。
首先設(shè)置Gamma為0.8,初始狀態(tài)是房間1。
對(duì)狀態(tài)1來(lái)說(shuō),存在兩個(gè)可能的動(dòng)作:到達(dá)狀態(tài)3,或者到達(dá)狀態(tài)5。通過(guò)隨機(jī)選擇,選擇到達(dá)狀態(tài)5。智能體到達(dá)了狀態(tài)5,將會(huì)發(fā)生什么?觀察R矩陣的第六行,有3個(gè)可能的動(dòng)作,到達(dá)狀態(tài)1,4或者5。根據(jù)公式Q(1, 5) = R(1, 5) + 0.8 * Max[Q(5, 1), Q(5, 4), Q(5, 5)] = 100 + 0.8 * 0 = 100,由于矩陣Q此時(shí)依然被初始化為0,Q(5, 1), Q(5, 4), Q(5, 5) 全部是0,因此,Q(1, 5) 的結(jié)果是100,因?yàn)榧磿r(shí)獎(jiǎng)勵(lì)R(1,5) 等于100。下一個(gè)狀態(tài)5現(xiàn)在變成了當(dāng)前狀態(tài),因?yàn)闋顟B(tài)5是目標(biāo)狀態(tài),故算作完成了一次嘗試。智能體的大腦中現(xiàn)在包含了一個(gè)更新后的Q矩陣。
對(duì)于下一次訓(xùn)練,隨機(jī)選擇狀態(tài)3作為初始狀態(tài)。觀察R矩陣的第4行,有3個(gè)可能的動(dòng)作,到達(dá)狀態(tài)1,2和4。隨機(jī)選擇到達(dá)狀態(tài)1作為當(dāng)前狀態(tài)的動(dòng)作。現(xiàn)在,觀察矩陣R的第2行,具有2個(gè)可能的動(dòng)作:到達(dá)狀態(tài)3或者狀態(tài)5?,F(xiàn)在計(jì)算Q 值:Q(3, 1) = R(3, 1) + 0.8 * Max[Q(1, 2), Q(1, 5)] = 0 + 0.8 *Max(0, 100) = 80,使用上一次嘗試中更新的矩陣Q得到:Q(1, 3) = 0 以及 Q(1, 5) = 100。因此,計(jì)算的結(jié)果是Q(3,1)=80。現(xiàn)在,矩陣Q如下。
智能體通過(guò)多次經(jīng)歷學(xué)到更多的知識(shí)之后,Q矩陣中的值會(huì)達(dá)到收斂狀態(tài)。如下。
通過(guò)對(duì)Q中的所有的非零值縮小一定的百分比,可以對(duì)其進(jìn)行標(biāo)準(zhǔn)化,結(jié)果如下。
一旦矩陣Q接近收斂狀態(tài),我們就知道智能體已經(jīng)學(xué)習(xí)到了到達(dá)目標(biāo)狀態(tài)的最佳路徑。
至此陳教授已經(jīng)把Q-learning簡(jiǎn)單介紹完了。通過(guò)上文的介紹大致可以總結(jié)出強(qiáng)化學(xué)習(xí)的六個(gè)特點(diǎn):
無(wú)監(jiān)督,只有獎(jiǎng)勵(lì)信號(hào)
不需要指導(dǎo)學(xué)習(xí)者
不停的試錯(cuò)
獎(jiǎng)勵(lì)可能延遲(犧牲短期收益換取更大的長(zhǎng)期收益)
需要探索和開(kāi)拓
目標(biāo)導(dǎo)向的智能體與不確定的環(huán)境間的交互是個(gè)全局性的問(wèn)題
四個(gè)要素:
一、策略:做什么?
1)確定策略:a=π(s)
2)隨機(jī)策略:π(a|s)=p[at=a|st=s],st∈S,at∈A(St),∑π(a|s)=1
二、獎(jiǎng)勵(lì)函數(shù):r(在狀態(tài)轉(zhuǎn)移的同時(shí),環(huán)境會(huì)反饋給智能體一個(gè)獎(jiǎng)勵(lì))
三、累積獎(jiǎng)勵(lì)函數(shù):V(一個(gè)策略的優(yōu)劣取決于長(zhǎng)期執(zhí)行這一策略后的累積獎(jiǎng)勵(lì)),常見(jiàn)的長(zhǎng)期累積獎(jiǎng)勵(lì)如下:
四、模型:用于表示智能體所處環(huán)境,是一個(gè)抽象概念,對(duì)于行動(dòng)決策十分有用。
所有的強(qiáng)化學(xué)習(xí)任務(wù)都是馬爾科夫決策過(guò)程,陳教授對(duì)MDP的介紹如下。
一個(gè)馬爾可夫決策過(guò)程由一個(gè)五元組構(gòu)成M =(S,A,p,γ,r)。其中S是狀態(tài)集,A是動(dòng)作集,p是狀態(tài)轉(zhuǎn)移概率,γ是折扣因子,r是獎(jiǎng)勵(lì)函數(shù)。
陳教授在介紹強(qiáng)化學(xué)習(xí)這部分的最后提到了目前強(qiáng)化學(xué)習(xí)面臨的兩大挑戰(zhàn)。
信度分配:之前的動(dòng)作會(huì)影響當(dāng)前的獎(jiǎng)勵(lì)以及全局獎(jiǎng)勵(lì)
探索開(kāi)拓:使用已有策略還是開(kāi)發(fā)新策略
Q-Learning可以解決信度分配的問(wèn)題。第二個(gè)問(wèn)題則可以使用ε-greedy算法,SoftMax算法,Bayes bandit算法,UCB算法來(lái)處理等。
值函數(shù)(對(duì)未來(lái)獎(jiǎng)勵(lì)的一個(gè)預(yù)測(cè))可分為狀態(tài)值函數(shù)和行為值函數(shù)。
1. 狀態(tài)值函數(shù)Vπ(s):從狀態(tài)s出發(fā),按照策略π采取行為得到的期望回報(bào),
也被稱為Bellman方程。
2. 行為價(jià)值函數(shù)Qπ(s,a):從狀態(tài)s出發(fā)采取行為a后,然后按照策略π采取行動(dòng)得到的期望回報(bào),
同樣被稱為動(dòng)作‐值函數(shù)的Bellman方程。
類似的給出了相應(yīng)的最優(yōu)值函數(shù)為:
1. 最優(yōu)值函數(shù)V*(s)是所有策略上的最大值函數(shù):
2. 最優(yōu)行為值函數(shù)Q*(s,a)是在所有策略上的最大行為值函數(shù):
從而的到Bellman最優(yōu)方程:
及對(duì)應(yīng)的最優(yōu)策略:
陳教授介紹了求解強(qiáng)化學(xué)習(xí)的方法,可分為如下兩種情況:
模型已知的方法:動(dòng)態(tài)規(guī)劃模型未知的方法:蒙特卡洛方法,時(shí)間差分算法
陳教授進(jìn)一步主要介紹了時(shí)間差分算法中兩種不同的方法: 異策略時(shí)間差分算法Q‐learning和同策略時(shí)間差分算法Sarsa, 兩者的主要區(qū)別在于at+1的選擇上的不同,
普通的Q‐learning是一種表格方法,適用于狀態(tài)空間和動(dòng)作空間是離散且維數(shù)比較低的情況;當(dāng)狀態(tài)空間和動(dòng)作空間是高維連續(xù)的或者出現(xiàn)一個(gè)從未出現(xiàn)過(guò)的狀態(tài),普通的Q‐learning是無(wú)法處理的。為了解決這個(gè)問(wèn)題,陳教授進(jìn)一步介紹了深度強(qiáng)化學(xué)習(xí)方法。
深度強(qiáng)化學(xué)習(xí)
深度強(qiáng)化學(xué)習(xí)是深度神經(jīng)網(wǎng)絡(luò)與強(qiáng)化學(xué)習(xí)的結(jié)合方法, 利用深度神經(jīng)網(wǎng)絡(luò)逼近值函數(shù),利用強(qiáng)化學(xué)習(xí)的方法進(jìn)行更新,根據(jù)解決問(wèn)題思路的不同可分為:
1.基于價(jià)值網(wǎng)絡(luò):狀態(tài)作為神經(jīng)網(wǎng)絡(luò)的輸入,經(jīng)過(guò)神經(jīng)網(wǎng)絡(luò)分析后,輸出時(shí)當(dāng)前狀態(tài)可能執(zhí)行的所有動(dòng)作的值函數(shù),即利用神經(jīng)網(wǎng)絡(luò)生成Q值。
2.基于策略網(wǎng)絡(luò):狀態(tài)作為神經(jīng)網(wǎng)絡(luò)的輸入,經(jīng)過(guò)神經(jīng)網(wǎng)絡(luò)分析后,輸出的是當(dāng)前狀態(tài)可能采取的動(dòng)作(確定性策略),或者是可能采取的每個(gè)動(dòng)作的概率(隨機(jī)性策略)。
陳教授也提到了Deepmind公司在2013年的Playing Atari with Deep Reinforcement Learning (DRL) 提出的DQN算法,Deep Q‐learning是利用深度神經(jīng)網(wǎng)絡(luò)端到端的擬合Q值,采用Q‐learning算法對(duì)值函數(shù)更新。DQN利用經(jīng)驗(yàn)回放對(duì)強(qiáng)化學(xué)習(xí)過(guò)程進(jìn)行訓(xùn)練,通過(guò)設(shè)置目標(biāo)網(wǎng)絡(luò)來(lái)單獨(dú)處理時(shí)間差分算法中的TD偏差。
基于上面內(nèi)容,陳教授進(jìn)一步介紹了另外一種經(jīng)典的時(shí)間差分算法,即Actor-Critic的方法,該方法結(jié)合了值函數(shù)(比如Q learning)和策略搜索算法(Policy Gradients)的優(yōu)點(diǎn),其中Actor指策略搜索算法,Critic指Qlearning或者其他的以值為基礎(chǔ)的學(xué)習(xí)方法,因?yàn)镃ritic是一個(gè)以值為基礎(chǔ)的學(xué)習(xí)法,所以可以進(jìn)行單步更新,計(jì)算每一步的獎(jiǎng)懲值,與傳統(tǒng)的PolicyGradients相比提高了學(xué)習(xí)效率,策略結(jié)構(gòu)Actor,主要用于選擇動(dòng)作;而值函數(shù)結(jié)構(gòu)Critic主要是用于評(píng)價(jià)Actor的動(dòng)作,agent根據(jù)Actor的策略來(lái)選擇動(dòng)作,并將該動(dòng)作作用于環(huán)境,Critic則根據(jù)環(huán)境給予的立即獎(jiǎng)賞,根據(jù)該立即獎(jiǎng)賞來(lái)更新值函數(shù),并同時(shí)計(jì)算值函數(shù)的時(shí)間差分誤差TD-error,通過(guò)將TDerror反饋給行動(dòng)者actor,指導(dǎo)actor對(duì)策略進(jìn)行更好的更新,從而使得較優(yōu)動(dòng)作的選擇概率增加,而較差動(dòng)作的選擇概率減小。
寬度學(xué)習(xí)
雖然深度結(jié)構(gòu)網(wǎng)絡(luò)非常強(qiáng)大,但大多數(shù)網(wǎng)絡(luò)都被極度耗時(shí)的訓(xùn)練過(guò)程所困擾。首先深度網(wǎng)絡(luò)的結(jié)構(gòu)復(fù)雜并且涉及到大量的超參數(shù)。另外,這種復(fù)雜性使得在理論上分析深層結(jié)構(gòu)變得極其困難。另一方面,為了在應(yīng)用中獲得更高的精度,深度模型不得不持續(xù)地增加網(wǎng)絡(luò)層數(shù)或者調(diào)整參數(shù)個(gè)數(shù)。因此,為了提高訓(xùn)練速度,寬度學(xué)習(xí)系統(tǒng)提供了一種深度學(xué)習(xí)網(wǎng)絡(luò)的替代方法,同時(shí),如果網(wǎng)絡(luò)需要擴(kuò)展,模型可以通過(guò)增量學(xué)習(xí)高效重建。陳教授還強(qiáng)調(diào),在提高準(zhǔn)確率方面,寬度學(xué)習(xí)是增加節(jié)點(diǎn)而不是增加層數(shù)?;趶?qiáng)化學(xué)習(xí)的高效性,陳教授指出可以將寬度學(xué)習(xí)與強(qiáng)化學(xué)習(xí)結(jié)合產(chǎn)生寬度強(qiáng)化學(xué)習(xí)方法,同樣也可以嘗試應(yīng)用于文本生成、機(jī)械臂抓取、軌跡跟蹤控制等領(lǐng)域。
報(bào)告的最后陳教授在強(qiáng)化學(xué)習(xí)未來(lái)會(huì)面臨的挑戰(zhàn)中提到了如下幾點(diǎn):
安全有效的探索
過(guò)擬合問(wèn)題
多任務(wù)學(xué)習(xí)問(wèn)題
獎(jiǎng)勵(lì)函數(shù)的選擇問(wèn)題
不穩(wěn)定性問(wèn)題
-
深度學(xué)習(xí)
+關(guān)注
關(guān)注
73文章
5463瀏覽量
120891 -
強(qiáng)化學(xué)習(xí)
+關(guān)注
關(guān)注
4文章
265瀏覽量
11197
原文標(biāo)題:陳俊龍:從深度強(qiáng)化學(xué)習(xí)到寬度強(qiáng)化學(xué)習(xí)—結(jié)構(gòu),算法,機(jī)遇及挑戰(zhàn)
文章出處:【微信號(hào):AItists,微信公眾號(hào):人工智能學(xué)家】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論