1. 程式人生 > >陳俊龍:從深度強化學習到寬度強化學習—結構,演算法,機遇及挑戰

陳俊龍:從深度強化學習到寬度強化學習—結構,演算法,機遇及挑戰

640?wx_fmt=jpeg

來源:AI科技評論

摘要:如何賦予機器自主學習的能力,一直是人工智慧領域的研究熱點。

強化學習與寬度學習

如何賦予機器自主學習的能力,一直是人工智慧領域的研究熱點。在越來越多的複雜現實場景任務中,需要利用深度學習、寬度學習來自動學習大規模輸入資料的抽象表徵,並以此表徵為依據進行自我激勵的強化學習,優化解決問題的策略。深度與寬度強化學習技術在遊戲、機器人控制、引數優化、機器視覺等領域中的成功應用,使其被認為是邁向通用人工智慧的重要途徑。

澳門大學講座教授,中國自動化學會副理事長陳俊龍在中國自動化學會第5期智慧自動化學科前沿講習班作了題目為「從深度強化學習到寬度強化學習:結構,演算法,機遇及挑戰」的報告。

陳俊龍教授的報告大致可以分為三個部分。首先討論了強化學習的結構及理論,包括馬爾科夫決策過程、強化學習的數學表示式、策略的構建、估計及預測未來的回報。然後討論瞭如何用深度神經網路學習來穩定學習過程及特徵提取、如何利用寬度學習結構跟強化學習結合。最後討論了深度、寬度強化學習帶來的機遇與挑戰。

強化學習結構與理論

陳教授用下圖簡單描述強化學習過程。他介紹道所謂強化學習就是智慧體在完成某項任務時,通過動作A與環境(environment)進行互動,在動作A和環境的作用下,智慧體會產生新的狀態,同時環境會給出一個立即回報。如此迴圈下去,經過數次迭代學習後,智慧體能最終地學到完成相應任務的最優動作。

640?wx_fmt=jpeg

提到強化學習就不得不提一下Q-Learning。接著他又用了一個例子來介紹了強化學習Q-Learning的原理。

Q-learning

原文地址:

https://blog.csdn.net/Maggie_zhangxin/article/details/73481417

假設一個樓層共有5個房間,房間之間通過一道門連線,如下圖所示。房間編號為0~4,樓層外的可以看作是一個大房間,編號5。

640?wx_fmt=png

可以用圖來表示上述的房間,將每一個房間看作是一個節點,每道門看作是一條邊。

640?wx_fmt=jpeg

在任意一個房間裡面放置一個智慧體,並希望它能走出這棟樓,也可以理解為進入房間5。可以把進入房間5作為最後的目標,併為可以直接到達目標房間的門賦予100的獎勵值,那些未與目標房間相連的門則賦予獎勵值0。於是可以得到如下的圖。

640?wx_fmt=png

根據上圖可以得到獎勵表如下,其中-1代表著空值,表示節點之間無邊相連。

640?wx_fmt=jpeg

再新增一個類似的Q矩陣,代表智慧體從經驗中所學到的知識。矩陣的行代表智慧體當前的狀態,列代表到達下一狀態的可能動作。

640?wx_fmt=jpeg

然後陳教授又介紹了Q-Learning的轉換規則,即Q(state, action)=R(state, action) + Gamma * Max(Q[next state, all actions])。

依據這個公式,矩陣Q中的一個元素值就等於矩陣R中相應元素的值與學習變數Gamma乘以到達下一個狀態的所有可能動作的最大獎勵值的總和。

為了具體理解Q-Learning是怎樣工作的,陳教授還舉了少量的例子。

首先設定Gamma為0.8,初始狀態是房間1。

對狀態1來說,存在兩個可能的動作:到達狀態3,或者到達狀態5。通過隨機選擇,選擇到達狀態5。智慧體到達了狀態5,將會發生什麼?觀察R矩陣的第六行,有3個可能的動作,到達狀態1,4或者5。根據公式Q(1, 5) = R(1, 5) + 0.8 * Max[Q(5, 1), Q(5, 4), Q(5, 5)] = 100 + 0.8 * 0 = 100,由於矩陣Q此時依然被初始化為0,Q(5, 1), Q(5, 4), Q(5, 5) 全部是0,因此,Q(1, 5) 的結果是100,因為即時獎勵R(1,5) 等於100。下一個狀態5現在變成了當前狀態,因為狀態5是目標狀態,故算作完成了一次嘗試。智慧體的大腦中現在包含了一個更新後的Q矩陣。

640?wx_fmt=jpeg

對於下一次訓練,隨機選擇狀態3作為初始狀態。觀察R矩陣的第4行,有3個可能的動作,到達狀態1,2和4。隨機選擇到達狀態1作為當前狀態的動作。現在,觀察矩陣R的第2行,具有2個可能的動作:到達狀態3或者狀態5。現在計算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。因此,計算的結果是Q(3,1)=80。現在,矩陣Q如下。

640?wx_fmt=jpeg

智慧體通過多次經歷學到更多的知識之後,Q矩陣中的值會達到收斂狀態。如下。

640?wx_fmt=jpeg

通過對Q中的所有的非零值縮小一定的百分比,可以對其進行標準化,結果如下。

640?wx_fmt=jpeg

一旦矩陣Q接近收斂狀態,我們就知道智慧體已經學習到了到達目標狀態的最佳路徑。

至此陳教授已經把Q-learning簡單介紹完了。通過上文的介紹大致可以總結出強化學習的六個特點:

無監督,只有獎勵訊號

不需要指導學習者

不停的試錯

獎勵可能延遲(犧牲短期收益換取更大的長期收益)

需要探索和開拓

目標導向的智慧體與不確定的環境間的互動是個全域性性的問題

四個要素:

一、策略:做什麼?

1)確定策略:a=π(s)

2)隨機策略:π(a|s)=p[at=a|st=s],st∈S,at∈A(St),∑π(a|s)=1

二、獎勵函式:r(在狀態轉移的同時,環境會反饋給智慧體一個獎勵)

三、累積獎勵函式:V(一個策略的優劣取決於長期執行這一策略後的累積獎勵),常見的長期累積獎勵如下:

640?wx_fmt=png

四、模型:用於表示智慧體所處環境,是一個抽象概念,對於行動決策十分有用。

所有的強化學習任務都是馬爾科夫決策過程,陳教授對MDP的介紹如下。

640?wx_fmt=png

一個馬爾可夫決策過程由一個五元組構成M =(S,A,p,γ,r)。其中S是狀態集,A是動作集,p是狀態轉移概率,γ是折扣因子,r是獎勵函式。

陳教授在介紹強化學習這部分的最後提到了目前強化學習面臨的兩大挑戰。

信度分配:之前的動作會影響當前的獎勵以及全域性獎勵

探索開拓:使用已有策略還是開發新策略

Q-Learning可以解決信度分配的問題。第二個問題則可以使用ε-greedy演算法,SoftMax演算法,Bayes bandit演算法,UCB演算法來處理等。

值函式(對未來獎勵的一個預測)可分為狀態值函式和行為值函式。

1. 狀態值函式 Vπ(s):從狀態s出發,按照策略π採取行為得到的期望回報,

640?wx_fmt=png

也被稱為Bellman方程。

2. 行為價值函式Qπ(s,a):從狀態s出發採取行為a後,然後按照策略π採取行動得到的期望回報,

640?wx_fmt=jpeg

同樣被稱為動作‐值函式的Bellman方程。 

類似的給出了相應的最優值函式為:

1. 最優值函式V*(s)是所有策略上的最大值函式:

640?wx_fmt=png

2. 最優行為值函式Q*(s,a)是在所有策略上的最大行為值函式:

640?wx_fmt=png

從而的到Bellman最優方程:

640?wx_fmt=png

及對應的最優策略:

640?wx_fmt=png

陳教授介紹了求解強化學習的方法,可分為如下兩種情況:

模型已知的方法:動態規劃
模型未知的方法:蒙特卡洛方法,時間差分演算法

陳教授進一步主要介紹了時間差分演算法中兩種不同的方法: 異策略時間差分演算法Q‐learning和同策略時間差分演算法Sarsa, 兩者的主要區別在於at+1的選擇上的不同,

640?wx_fmt=png

普通的Q‐learning是一種表格方法,適用於狀態空間和動作空間是離散且維數比較低的情況;當狀態空間和動作空間是高維連續的或者出現一個從未出現過的狀態,普通的Q‐learning是無法處理的。為了解決這個問題,陳教授進一步介紹了深度強化學習方法。 

深度強化學習

深度強化學習是深度神經網路與強化學習的結合方法, 利用深度神經網路逼近值函式,利用強化學習的方法進行更新,根據解決問題思路的不同可分為:


1.基於價值網路:狀態作為神經網路的輸入,經過神經網路分析後,輸出時當前狀態可能執行的所有動作的值函式,即利用神經網路生成Q值。


2.基於策略網路:狀態作為神經網路的輸入,經過神經網路分析後,輸出的是當前狀態可能採取的動作(確定性策略),或者是可能採取的每個動作的概率(隨機性策略)。

640?wx_fmt=png

陳教授也提到了Deepmind公司在2013年的Playing Atari with Deep Reinforcement Learning (DRL) 提出的DQN演算法,Deep Q‐learning是利用深度神經網路端到端的擬合Q值,採用Q‐learning演算法對值函式更新。DQN利用經驗回放對強化學習過程進行訓練,通過設定目標網路來單獨處理時間差分演算法中的TD偏差。

基於上面內容,陳教授進一步介紹了另外一種經典的時間差分演算法,即Actor-Critic的方法,該方法結合了值函式(比如Q learning)和策略搜尋演算法(Policy Gradients)的優點,其中Actor指策略搜尋演算法,Critic指Qlearning或者其他的以值為基礎的學習方法,因為Critic是一個以值為基礎的學習法,所以可以進行單步更新,計算每一步的獎懲值,與傳統的PolicyGradients相比提高了學習效率,策略結構Actor,主要用於選擇動作;而值函式結構Critic主要是用於評價Actor的動作,agent根據Actor的策略來選擇動作,並將該動作作用於環境,Critic則根據環境給予的立即獎賞,根據該立即獎賞來更新值函式,並同時計算值函式的時間差分誤差TD-error,通過將TDerror反饋給行動者actor,指導actor對策略進行更好的更新,從而使得較優動作的選擇概率增加,而較差動作的選擇概率減小。

寬度學習

雖然深度結構網路非常強大,但大多數網路都被極度耗時的訓練過程所困擾。首先深度網路的結構複雜並且涉及到大量的超引數。另外,這種複雜性使得在理論上分析深層結構變得極其困難。另一方面,為了在應用中獲得更高的精度,深度模型不得不持續地增加網路層數或者調整引數個數。因此,為了提高訓練速度,寬度學習系統提供了一種深度學習網路的替代方法,同時,如果網路需要擴充套件,模型可以通過增量學習高效重建。陳教授還強調,在提高準確率方面,寬度學習是增加節點而不是增加層數。基於強化學習的高效性,陳教授指出可以將寬度學習與強化學習結合產生寬度強化學習方法,同樣也可以嘗試應用於文字生成、機械臂抓取、軌跡跟蹤控制等領域。 

報告的最後陳教授在強化學習未來會面臨的挑戰中提到了如下幾點:

安全有效的探索

過擬合問題

多工學習問題

獎勵函式的選擇問題

不穩定性問題

未來智慧實驗室是人工智慧學家與科學院相關機構聯合成立的人工智慧,網際網路和腦科學交叉研究機構。

未來智慧實驗室的主要工作包括:建立AI智慧系統智商評測體系,開展世界人工智慧智商評測;開展網際網路(城市)雲腦研究計劃,構建網際網路(城市)雲腦技術和企業圖譜,為提升企業,行業與城市的智慧水平服務。

  如果您對實驗室的研究感興趣,歡迎加入未來智慧實驗室線上平臺。掃描以下二維碼或點選本文左下角“閱讀原文”

640?wx_fmt=jpeg