南京大學俞揚博士:強化學習前沿(下)

2020-12-06 雷鋒網

雷鋒網[AI科技評論]按:本文根據俞揚博士在中國人工智慧學會AIDL第二期人工智慧前沿講習班"機器學習前沿"所作報告《強化學習前沿》編輯整理而來,雷鋒網在未改變原意的基礎上略作了刪減,並經俞揚博士指正確認,特此感謝。全文分為上下兩篇,本文為下篇。

上篇傳送門:《南京大學俞揚博士:強化學習前沿(上)》

俞揚博士、副教授,主要研究領域為人工智慧、機器學習、演化計算。分別於2004年和2011年獲得南京大學計算機科學與技術系學士學位和博士學位。

2011年8月加入南京大學計算機科學與技術系、機器學習與數據挖掘研究所(LAMDA)從事教學與科研工作。曾獲2013年全國優秀博士學位論文獎、2011年中國計算機學會優秀博士學位論文獎。發表論文40餘篇,包括多篇Artificial Intelligence、IJCAI、AAAI、NIPS、KDD等國際一流期刊和會議上,研究成果獲得IDEAL'16、GECCO'11、PAKDD'08最佳論文獎,以及PAKDD』06數據挖掘競賽冠軍等。

任《Frontiers of Computer Science》青年副編輯,任人工智慧領域國際頂級會議IJCAI』15/17高級程序委員、IJCAI'16/17 Publicity Chair、ICDM'16 Publicity Chair、ACML'16 Workshop Chair。指導的學生獲天貓「雙十一」推薦大賽百萬大獎、Google獎學金等。

在此列出俞揚老師講課目錄,以供讀者參考:

  • 一、介紹(Introduction)

  • 二、馬爾可夫決策過程(Markov Decision Process)

  • 三、從馬爾可夫決策過程到強化學習(from Markov Decision Process to Reinforce Learning)

  • 四、值函數估計(Value function approximation)

  • 五、策略搜索(Policy Search)

  • 六、遊戲中的強化學習(Reinforcement Learning in Games)

  • 七、強化學習總結

  • 八、強化學習資源推薦

上篇介紹了前兩個小節的內容,以下為下篇內容:

三、從馬爾可夫決策過程到強化學習

在強化學習任務中,獎賞和轉移都是未知的,需要通過學習得出。具體解決辦法有兩個:

一種是還原出獎賞函數和轉移函數。首先把MDP還原出來,然後再在MDP上解這個策略,這類方法稱為有模型(Model-Based)方法,這裡的模型指的是MDP。

還有一類和它相對應的方法,免模型(Model-Free)法,即不還原獎賞和轉移。

基於模型的方法

在這類方法中,智能體會維護Model(即MDP),然後從Model中求解策略。

從隨機策略開始,把策略放到環境中運行,從運行的序列數據中把MDP恢復出來。因為序列數據可以提供環境轉移和獎賞的監督信息,簡單的做一個回歸,就能知道一個狀態做了一個動作下面會轉移到哪兒,以及能得到的獎賞是多少。

這裡有一個非常簡單的環境探索方法——RMax,它用了計數這個非常簡單的回歸模型。


雖然看起來很簡單,但是還原MDP的樣本複雜度是狀態數的平方,遠高於前面說到的求解策略的複雜度。從這裡可以看出學習MDP的複雜度極高,所以大量的研究工作都集中在免模型學習上。

免模型學習

免模型學習簡單介紹兩種方法。一種叫做蒙特卡羅採樣方法(Monte-Carlo method),一種是時序差分法(Temporal difference method)

免模型學習和之前講到的策略迭代的思路很像,首先,評估當前策略怎麼樣;第二,提高當前策略。

第一步 評估策略

在MDP裡評估策略的時候,由於獎賞和轉移都是知道的,所以可以直接用這兩個函數算評估值。現在這兩個函數都不知道,那怎麼辦呢?

這個Q值函數實際上是個期望,所以直接用採樣來替代期望就可以了。換句話說,就是拿該策略在環境裡面去跑,看跑出來什麼結果。

比如跑了之後我得到一條軌跡:先是出太陽,接著是多雲,最後是出太陽;再跑第二次得到一條軌跡,再跑第三次又得到一個軌跡。最後得到很多軌跡。我知道每條軌跡的獎賞是多少,然後把這些軌跡的獎賞平均起來,作為這個策略的值函數的估計,用頻率來逼近期望。

第二步 更新/提高策略

如此一來,我們就可以去評價一個策略的好壞。評價完一個策略以後,就可以和剛才一樣,取Q值函數指示最好的動作作為新的策略,更新過程是一樣的。

整個算法寫出來比較簡單。我們要做m次採樣,每一次都把當前的策略拿到環境裡面運行,然後會得到一個序列,根據序列讓獎賞求和,然後更新Q值,這個Q值就是歷史上採樣的均值,c是計數。

在一條軌跡下來以後,更新Q值後,做第二條軌跡,這樣就做到了不依賴MDP模型的強化學習方法。

然而該方法缺乏環境探索,難以更新策略

但是,這個有一個問題——如果得到了確定性策略,那麼有可能採100個樣本出來的軌跡都是一樣的,導致無法評估策略在所有狀態上的表現,所以無法提高策略。這裡的關鍵在於它缺乏對環境的探索。

如何探索環境,以獲得最大回報?

怎麼探索?我們可以考慮一個最簡單的強化學習問題:一個狀態,兩個動作,一個動作的回報高一點,一個動作回報低一點,但是這兩個回報來自於兩個分布。這個時候你選哪個動作,或者你怎麼做能收到最大的回報?這其實就是bandit模型。

第一種情況是要有足夠多的探索(即exploration),第二種情況是不需要過多的探索而有更好的投資(即exploitation),我們要在這兩點之間找到平衡。

解決這個問題有多種方法。第簡單的方法是,以1-ε的概率,現在看好哪個,就去投資它,剩下的ε概率就完全隨機,每個動作都去嘗試。這個方法稱為ε-greedy。

該方法可以保證所有狀態都有一定的概率,哪怕是很小的概率,被訪問到。所以當運行一段時間以後,它能夠找到最優的策略。

但這個方法也有缺點,就是必須要指定一個ε值。通常這個值應當不斷衰減,直到收斂到一個比較好的結果。還有一個效率問題,比如A動作嘗試了10次以後,平均回報是1萬,B動作嘗試了10次以後是0.1,這個時候就已經沒有必要嘗試下去了,因為距離非常遠。但是ε-greedy的探索不會停下來,所以有了其他的方法,比如softmax——它會考慮到Q值本身,如果兩個動作的值差別很大,探索的概率就很小。另一個在理論上比較漂亮的方法是UCB(Upper Confidence Bound):

所以,按照Q值加上置信度的上界來選擇動作,它就會自動平衡。

不過,最常用的還是第一種ε-greedy方法。給出一個策略π以後,把它變成探索的策略,即隨機挑選一個動作,把這個帶探索的策略放到蒙特卡羅的算法裡面。並且,這個軌跡並不是從π中產生的,而是從帶探索的πε中產生的,這就能保證策略可以不斷更新了。

下面介紹On/Off Policy:學習帶探索/不帶探索的策略。

大家可能常聽On/Off Policy策略這個詞。

在蒙特卡洛採樣中使用了πε策略來採樣,學的並不是π,是帶探索的πε。因為用來評估的數據,是從帶探索的策略產出來的,而不是從我們想要學的策略上產生出來的。這個區別會導致把探索也作為策略的一部。這種採樣與更新的策略是一樣的算法叫做On Policy。

但很多時候,我們想學的實際是不帶探索的策略,也就是說要從帶探索的策略中採樣,但更新的只是策略本身,即Off Policy。這裡面臨一個問題就是,採樣並不來自於當前的策略,常用的重要性採樣(Importance Sampling)技術通過修改採樣的分布,改成想要的樣子。可以通過加權重這個簡單的方法,修改策略的分布,然把這個分布加到具體算法裡面去。也就是把獎賞加了一個權重,這樣的算法就變成一個Off Policy的算法,這樣它學習的就是π自己了。

蒙特卡洛算法總結

總體來說,蒙特卡洛的算法不是一個效率很高的算法,但是能夠展現免模型類算法的特性。

我們要做這個策略的評估,然後做完評估以後找到一個改進的方向,就可以改進這個算法了;這裡,為了使策略能夠有效更新,需要引入對環境的探索;而對環境的探索裡面,要注意On/Off Policy這麼兩個概念。

另外,蒙特卡洛的算法有一個很顯然的缺陷:一定要拿到整個軌跡以後,才能更新模型。

那能不能每走一步都更新模型呢?蒙特卡洛算法裡面有一個性質——即更新Q值的時候,實際上是在更新均值。

更新均值還可以寫成:μt = μt-1 + α(xt _ μt-1),意思是剛才我們更新的是Q值(算式如下圖顯示),其中R − Q(st, at)叫做蒙特卡羅誤差。我們知道,Q是對獎賞的一個估計,R是是採完這個軌跡以後得到的真實的獎賞。換句話說,Q值d餓更新就是加上就是真實值和估計值的差別,即蒙特卡羅誤差。

在TD算法裡,我們走了一步得到了一步真實的獎賞,再往後走還沒走,所以不知道後面真實的獎賞是多少,但可以通過之前的Q值來估計之後的獎賞,這兩個加起來就是當前知道的信息,用它來替代這個R,來減去老的預估值,我們稱這個過程為時序差分。

如果用蒙特卡羅的話,需要先走到底,知道總體的結果之後,每一步的差別就能算出來;而對於TDL來說,只需要記錄一步的信息,所以可以在線更新自己。

動態規劃記錄的是所有狀態上面的信息。而把剛才的蒙特卡羅的error換成了TD errpr,就可以得到新的TD方法的強化學習方法。這個方法就不是採集整個軌跡了,而是根據探索的策略,用TDL來更新Q值,每走一步就更新一下對當前策略的評判,然後再更新策略。這個算法叫做SARSA,屬於On Policy,而變成Off Policy的策略,只修改一處,用非探索策略來計算TD error,就得到Q-Learning算法。

這是一個爬格子的問題,是典型的經典強化學習問題。

動作是上下左右的走,每走一步就會有一個-1的獎賞。從初始狀態走到最終的狀態,要走最短的路才能使獎賞最大。圖中有一個懸崖,一旦走到懸崖獎賞會極小,而且還要再退回這個初始狀態。

在這裡用On Policy SARSA會有一定的概率去探索,也就有可能會掉到這個懸崖下面去,所以獎賞就會比較小;而用Q Learning,因為最後的策略是不帶任何探索的,沒有任何的隨機性,所以路徑最短。

這就是兩類強化學習算法的區別。你在學習過程中可以看到,Q Learning的值較低,這是因為學習的時候一定要帶探索的學習,所以你訓練的過程中一定是不斷的去訓練。

另外,前面講的TD誤差更新是走一步後的更新,實際上還可以做兩步的更新、走N步的更新,都是可以的。所以有一種方法就是做很多步的,按照一個概率加權把它綜合起來,綜合起來以後到一個叫做λ—return,就是走一步、走兩步和走多步的TD。

 四、值函數估計(Value function approximation)

剛才講的所有問題,前提是都能用表格表示。但是很多真實環境是無法用表格表示的。所以在強化學習發展的早期,一直沒辦法用在大規模的真實問題上去。後來大家就想,怎麼把這個強化學習放在一個連續狀態空間去,甚至說放在動作也是連續的情景中,比如控制一架直升機的。

大家可能覺得強化學習的學習過程和監督學習之間的差別比較大,算法、模型好像都完全不一樣。但進入連續狀態空間以後,兩者就會出現很多相似的地方。

離散狀態下可以用表格來表示值函數或策略;但進入連續狀態空間就要用一個函數的近似來表示,這個方法叫做值函數近似。

比如,我們可以用一個線性函數來表示,V值是表示狀態s下面的一個值,狀態s先有一個特徵的向量φ(s),這個V值表達出來就是一個線性的參數乘以特徵的內積。Q值裡面有一個動作,假設這個動作是離散的,一種方式是把這個動作和狀態放在一起變成一個特徵,另一種方法是給每一個動作單獨做一個模型。

當遇到連續空間的問題時,用近似來表示值函數V和Q,這個做法看起來很自然,但是近似以後會發現,以往很多的理論結果就不成立了。

但我們現在先不管那些問題,先看做了近似以後怎麼來學?我們想知道的是,這裡的Q值,是希望Q值近似以後,夠儘量逼近真實的Q值。如果已經知道真實的Q值,怎麼逼近呢?最簡單的方法就是做一個最小二乘回歸。其中一種解法是求導。求導以後,導數表示為,真實的Q和估計的Q的差值,然後再乘對Q值模型的導。可以看到,導數表達的含義與之前的模特卡羅誤差、TD誤差是一致的,只不過更新的是參數w。把這種更新方式套進Q learning裡,其他地方都沒有變,只得到了用值函數逼近的Q-Learning方法。

這個模型用什麼函數呢?最簡單就是用線性函數。但是線性函數有很多局限的,需要在特徵的設計上下功夫,這需要很好的人工設計。

把它變成非線性函數,一個常用方法是用神經網絡,直接用神經網絡表示Q值。在更新的時候也很簡單,只需要把梯度傳到神經網絡中去就可以了,因為神經網絡的BP算法本身也是求梯度。

用批量學習改進

還有一些改進的方式。比如說我們在訓練近似模型的時候,在一個樣本上訓練可能會不穩定,所以可以用Batch Models的方式,積累一批數據來訓練這個模型。

剛才講的所有訓練方法,都是先把V值或者Q值估計出來,然後再從中把這個策略導出來。我們稱這種方法為基於值函數的強化學習方法。

五、策略搜索(Policy Search)

值函數估計法存在的問題:策略退化

但是用值函數估計會有一個問題——這種方法可以收斂到最優策略,但前提必須是用表格的表達方式;如果用的是函數近似,則會出現策略退化,即對Q值估計越大,策略越差。

舉一個簡單的例子,現在有兩個狀態,一個是狀態1,一個是狀態2,狀態1的特徵為2,狀態2的特徵為1。我們設定獎賞,使得狀態2的最優V值比狀態1的要大。這時如果用一個線性函數來表示這個V,也就是用W乘以特徵,這個特徵只有一維,最優的這個V值2是比1大的,1的特徵值要高一點,2的特徵值要小一點,所以最優的W就應該是個負數,這樣會使得V(2)比V(1)大,因而能導出最優策略。

但是基於值函數的做法是要使得V值儘量靠近最優的V值,最優的V值又是正值,這樣會導致這個W一定是正的,無法得到最優的策略。這樣值函數估計得越準,策略越差的現象被稱為策略退化。

用策略搜索解決策略退化問題

為了避免策略退化,我們的方法是直接去找策略,這就是策略搜索。

先把策略參數化,對於離散動作來說,參數可以做成像Gibbs Policy一樣,即每個動作有一個參數,然後把它歸一,變成每一個動作有一個概率。如果是一個連續動作的話,可以用高斯分布來描述。裡面這個參數,我在這裡寫的是一個線性的過程,但也可以用神經網絡來替代。

直接優化策略的參數,使得收到的總回報達到最大的方法,就是策略搜索(Policy Search)。

策略搜索的優勢

策略搜索和基於值函數的方法相比,優缺點各是什麼?

第三點用處很大,比如說玩「剪刀石頭布」,如果選擇確定性策略,那一定會輸;一定要做一個帶概率的輸出才會贏。     

還有另外一個例子,跟大家講解一下為什麼需要隨機性策略。

骷髏代表走到這就死掉了;最優策略肯定是往中間走,但是這裡有兩個灰色格子,它們代表的是不完全觀測的狀態,即走到灰格子之後不知道該往左邊還是右邊;

這也體現了策略搜索的優勢。

第四,策略搜索和監督學習的兼容性比較好。

這個策略是用參數表達的,它的目標是最大化的獎賞。最大化獎賞的意思就是說,把空間裡所有的軌跡枚舉出來。因為策略產生這些軌跡是有一定概率的,在某個狀態上,策略做出相應動作的概率是由策略決定的,把所有一條軌跡上所有動作的概率相乘,就得出產生這條軌跡的概率。所以它總體的期望回報,就是所有軌跡的期望,也就是每條軌跡的概率乘以每條概率能獲得的獎賞,這也是總回報的另外一種寫法。這種寫法有的好處就在於,它和策略參數目標有關,所以我可以對獎賞直接求導,來求解策略。另外一種寫法用的是穩態分布(Stationary Distribution),用和上面寫法完全等價,意思是完全一樣的,在這裡就跳過不講了。

策略搜索也有一個缺點,其中一個缺點就是有很多局部最優解,失去了全局最優的收斂性保障,其次是訓練過程方差非常高。

相信大家都會求導,不過有一種方式大家可能沒有見過——有限差分(Finite Difference),這是早期用來做策略求導的方法。

那什麼時候會用到有限差分呢?可能是這個系統可能太複雜了,不容易求導,那就可以用一個簡單的方式來逼近這個導數。拿到一個參數θ,θ的導數就是看一下周圍哪個方向走的比較快,這樣給θ加一個很小的擾動的值,對θ周圍的局部進行採樣,對那個採樣增長得最快,這個方向就當成是一個導數方向。這是最簡單的方法,當然這個方法有很多缺陷,特別是在高維度的情況下,會需要很多採樣,所以更直接的方法還是直接求導。

最後得到的一個導數,導數形式如下所示:

                                   

E是期望,1到T代表考慮的是T步的軌跡,每一步軌跡對策略輸出值的對數取導數,然後乘以真實的獎賞(獎賞不取對數)。獎賞是個常數,即軌跡得到的獎賞值。

可以通過採樣可以來逼近期望,對一個策略以後,去跑一些軌跡,然後計算平均梯度,作為梯度期望的逼近。

我們剛剛說到,這種方式有一個很大的缺陷,就是它的方差很大,直接用計算的梯度來更新策略(vallina policy gradient),基本上得不到好的策略,因為它的方差太大,不穩定。

控制方差的方法 1、Actor-Critic

控制方差有多種方式,其中一種叫做Actor-Critic。用比如直接求導的方式把策略求出來,叫做Actor;對值函數進行估計,並用於評估策略,是Critic,意為它是一個評價者。

我們要維護一個值函數Q的模型。另外,用導數的方法來求策略的梯度的時候,不做直接使用獎賞,而是使用Criitic提供的Q值。所以Actor-Critic會維護兩個模型,第一個是策略的模型,第二個是Q函數的模型。

對Q函數求近似的時候,式子和上面的那個導數形式一樣,裡面的經驗獎賞換成了Q值。在求策略梯度時,Q值是一個常數,是不更新的,它有自己的更新方式,且通常是真實的Q值。

控制方差的方法2、引入偏差項(bias term)

另一種控制方差的形式,是引入偏差項,只要這個函數是一個只跟狀態有關、跟動作無關的函數,它的積分就是0,不影響梯度方向,而會影響梯度的方差。

對於簡單的形式,我們可以直接求出來最優的偏差是什麼。更一般的形式,我們可以用V值來替代bias。因為V值就是關於狀態的估計值,和動作沒有關係,所以它帶到積分裡面去的時候會是0。

把V值帶進去,後面的Q就變成了Q-V,叫做Advantage Function,意思指:在這個狀態上,V值相當於是一個平均值,Q值指某個動作比平均值高出來多少。用Advantage Function會使得做策略梯度以後,方差控制得比較好,只有當方差控制好了,這類算法才能真正起作用。

其他改進方法

梯度的改進方法還有Nature Policy Gradient。在監督學習裡面,隨機梯度是很容易並行的。最近有一些理論的工作,也探討了它的並行不會影響到它的理論性質。在策略梯度裡面,我們同樣可以把這個梯度並行來做,這樣可以使得它的速度下的很快。

還有對策略直接求導的方法,比如無梯度的優化(Derivative-Free Optimization)。這類方法不管強化學習是在做什麼,而是直接優化策略裡面的參數。優化完參數以後,試一下策略,得出這個值具體是多少。

這樣,優化過的算法可以通過總體獎賞值來調整模型裡面的參數。通常來說它比用Gradient Policy效率差,由於中間過程是忽略不計的,所以它對特別複雜的問題,反而有比較好的效果,比如俄羅斯方塊遊戲。

六、遊戲中的強化學習(Reinforcement Learning in Games)

最後一部分,講一下強化學習和遊戲。

為什麼講遊戲?一方面,是因為在遊戲裡面需要克服的一些問題,在真實應用中也常遇到;另外一方面,用遊戲來做強化學習任務的成本比較低。

2015年,DeepMind在Atari遊戲上使用深度網絡直接從屏幕圖像訓練強化學習,直接推動了「深度強化學習」的發展。

用深度神經網絡,放在Policy Gradient裡面,作為一個策略的模型;或者放在基於值函數的方法裡面,作為值函數Q值的一個估計。這樣的方法就稱為深度強化學習。

深度強化學習

其實,深度強化學習裡很多工作是在研究怎麼讓網絡更穩定。特別是當輸入數據比較少的時候,網絡方差的浮動會比較大。這就可以用「延後更新」來解決——如果用深度神經網絡,那麼每走一步都更新模型會導致模型抖動非常大。而用「延後更新」,例如可以在100步裡不更新策略,只是把神經網絡更新一下,這個神經網絡沒有放到新的策略裡面來,等神經網絡有一個比較穩定的上升以後,再更新策略。還有,積累的數據不要丟掉,也拿出來,讓這個神經網絡更穩定一點。這兩個技巧合起來放在Q-Learning裡面,就是DQN。

DQN可以說是第一個聲稱深度強化學習算法,可能也是最廣為人知的一個。基本上,它的整體結構就是一個函數近似的Q Learning,只不過用CNN做了近似函數。

在玩這個遊戲的時候,它已經有了100萬個記錄歷史。每次訓練神經網絡的時候,要抓32個出來訓練一次,並且訓練完以後不去更新策略,而是在走一定的步數以後,再更新這個策略。除此之外,並不是直接從屏幕上把一幀圖像拿進來,而是把歷史上好幾幀的屏幕拼起來,得到一個當前幀和前面好幾幀合起來的一個總體的圖作為CNN的輸入。不過在最新的一些工作中,這個過程已經被被遞歸神經網絡替代了,不再是把好幾層拼起來,而是讓好幾幀分別輸入例如LSTM的網絡。

很多運用強化學習尋找策略的遊戲已經比人玩得都好了,它玩的好的優勢主要體現在反應速度上。但是在需要深入思考邏輯關係的遊戲中,強化學習沒有人做得好。

我們來看看它的遊戲報告結果。

這裡面,「with replay」和「without replay」的意思是有沒有用到歷史數據,「with target Q」和「without target Q」就用了CNN還是線性網絡。我們可以看到,神經網絡在這裡貢獻並不是最大的。如果我們只用神經網絡而不用replay的話,效果還不如用了replay,但只用線性模型而不用CNN。當然,同時使用深度模型和強化學習是最好的,這可以完成一些過去完成不了的事情。

在AlphaGo中的應用

AlphaGo系統的基礎框架是蒙特卡洛樹搜索,這是經典的樹搜索的方法。但是單憑蒙特卡洛樹搜索本身並不能取得很好的效果,只用樹搜索大概只能達到業餘的五六段。AlphaGo裡面的一個創新的點就是引入強化學習來改進搜索樹的深度和寬度。

這裡面用了三個神經網絡。

  • 第一個policy network,在展開蒙特卡羅樹搜索節點的時候起作用。這個網絡是用策略梯度方法訓練出來的。

  • 第二個是一個很小的神經網絡,蒙特卡羅樹搜索裡再往下做很深的搜索時會用到,這樣它可以算得很快。這個小的網絡是通過監督學習學出來的。

  • 第三個網絡是用來修正值的。它是通過強化學習中間產生的數據來學習。

由於大家對DQN比較熟悉,所以在嘗試深度學習的時候,首先想到的算法大多是DQN。但因為它是一個基於值函數估計的強化學習方法,所以這種方法在稍微複雜一點的應用環境中可能運行不了,大家會感覺用DQN做強化學習效果沒那麼好。但同樣是DeepMin做的圍棋遊戲,它的強化學習方法已經改成了Policy Gradient,而且以後的很多算法也都是以Policy Gradient為主的,用這種方法處理複雜問題效果更好。

在其他遊戲上的應用

正是由於在計算機中模擬遊戲的代價很低,所以不斷有研究者藉助遊戲來發展強化學習。比如,有用在3D第一人稱射擊遊戲中,可以在這個世界裡面行走,並且尋找東西。去年有一個「DOOM」遊戲比賽,參賽者要用計算機控制遊戲角色,以第一視角進行3D射擊。有了強化學習,參賽者就能控制遊戲角色,讓它做一些動作。由於這個遊戲額環境比較複雜,所以在玩遊戲的過程中,也發展出了一些創新方法。

例如,在遊戲裡面,如果讓一個強化學習直接到遊戲環境裡面學習,那它又要撿醫療箱,又要去撿武器等等,太複雜了。而其中一個團隊,就採取了這樣的做法:他們讓強化學習從簡單到複雜,一步一步的去學習——首先學一個策略,比如撿起醫療箱,然後在這個策略的基礎上再來學怎麼樣來開槍、怎麼樣來射擊敵人等等。

實際上遊戲裡面有很多很高難度的挑戰,其中一個非常複雜遊戲叫做StarCraft。這個遊戲已經有很多年的歷史了,現在有不少人,包括DeepMind,都希望在這麼複雜的遊戲上面能表現出一個比較好的性能,因為這個遊戲的複雜度已經大到和很多真實應用的複雜度相當,即使人去學這個遊戲,也要花很長時間才能學會。以前用強化學習,只是先取其中一個小問題來解決。比如說我和對方各派三個兵,想辦法看這六個兵怎麼打。這是一個很局部的戰役,但能學到這樣的東西也已經比較不錯了。如果要學到整盤的打法,它裡面涉及到很多問題,第一,它的規模遠大於圍棋的規模;第二,有很多對手的信息是觀測不到的,比如敵方的行動。雖然在今年年初,德州撲克遊戲上機器已經打贏了人類玩家,但德州撲克其實是一類很簡單的牌類遊戲,想讓強化學習在大規模遊戲任務中,在無法觀測到對手信息的情況下,指揮200多個單位做連續的運動,還要持續半個多小時走幾十萬步,目前還做不好。

七、強化學習總結

之前介紹的只是強化學習的其中一小部分,強化學習還包括很多內容:

比如在MDP中如果出現了不可觀測的情況,它就不屬於Markov了,有一個專門的方向如POMDP來解決這個問題。

還有Learning from Demonstrations,意為人先做出示範,然後從示範數據中教智能體。例如AlphaGo,一開始訓練的時候並不是直接上強化學習,而是首先搜集了很多人類對打的數據。

而怎麼去設計獎賞函數也會有很多不同的方法。

下面總結一下兩個大家比較關心的問題。

如果碰到比較簡單的強化學習問題,可以用基於值函數的方法,比如DQN,更複雜的問題可以用Policy Gradient的方法做策略梯度。

但是從目前的發展現狀兩看,強化學習的成熟度遠遠不夠,也就是說在強化學習領域,還有很大的提升的空間,有可能能做出一個性能更好的全新的算法。但大規模的問題現在還是很難解決。這個大規模指是它的狀態空間大,並且步數特別多。

1、 強化學習需要探索,在很多場景帶來風險。

以推薦股票為例。我本來已經有一個還可以的推薦策略,每天能給我帶來100萬的收入。但是現在為了訓練強化學習,要做探索,嘗試一些隨機的股票。假如告訴你這個探索會導致今天一下子要損失好幾百萬,而一個月以後可以賺回1個億,那你就要衡量一下這裡看面的風險有多高,敢不敢用了。

2、 為什麼強化學習在很多遊戲上面用的比較多?

遊戲在計算機中運行,速度高、代價低。如果放到現實世界中來運行,比如放在推薦系統線上運行,那它就必須和真實的環境打交道。它的學習過程需要不斷探索,而部署在真實環境裡可能會遇到很多麻煩,如果能有一個比較好的模擬器,就可以減少這些麻煩;另外,如果有比較好的監督學習數據的話,也可以做一個初始的策略,不過這個策略可能一開始起點要稍微高一點。做機器人一般也有一個機器人模擬器,所以一般先在模擬器裡面做,做好策略再放到機器人身上來學。但是其他現實世界問題,在模擬器裡可能就沒有那麼好做了。

八、強化學習資源推薦書籍

強化學習的書不多,最經典的書是Richard S. Sutton的教科書;Masashi Sugiyama的書屬於專著;Reinforcement Learning: State-of-the-Art屬於文集,覆蓋面比較廣,但需要讀者有一定基礎;還有一些講述MDP的書;另外,在機器學習的書裡面也會提到強化學習。

線上資源

OpenAI Gym:一個基礎的強化學習平臺,裡面很多環境,研究人員可以在上面做實驗,它對這個領域有很大的促進。還有AlphaGo技術負責人David Silver的線上教學視頻,講的非常好。

論文發表地

強化學習論文主要發表在AI期刊和會議上,期刊有Artificial Intelligence, JAIR, JMLR, Machine Learning, JAAMAS等,會議有IJCAI, AAAI, NIPS, ICML, ICLR, AAMAS, IROS等等。

以上就是俞揚博士的演講,更多內容請繼續關注雷鋒網(公眾號:雷鋒網)

雷鋒網原創文章,未經授權禁止轉載。詳情見轉載須知。

相關焦點

  • 南京大學周志華教授獲2020「CCF-ACM人工智慧獎」
    詳情請戳:南京大學人工智慧學院2018年,南京大學成立人工智慧學院,成為首家成立人工智慧學院的C9高校,建立並出版發布了國內首個專業教育培養體系——《南京大學人工智慧本科專業教育培養體系》,入選國家級一流本科專業建設點,並獲得2019年教育部高等學校優秀成果獎一等獎。
  • 南京大學關鍵地球物質循環前沿科學中心獲批啟動運行!
    TOP前言  「TOP大學來了」小編從南京大學了解到,依託於該校成立的「關鍵地球物質循環前沿科學中心」已經獲批啟動運行,前段時間剛成立的「南赫學院Cycling, FSC-CEMaC;以下簡稱中心)是依託南京大學學科優勢建設的地球系統科學前沿創新研究平臺和高層次人才培養基地。
  • 多巴胺引領下的分布式強化學習
    我們從多巴胺和強化學習的研究歷史中娓娓道來一窺究竟。1 強化學習基本概念讓機器來決策,首先體現在如何模仿人類的決策。對於決策這個問題, 對於人類是困難的, 對於機器就更難。而強化學習, 就是一套如何學習決策的方法論。
  • 「中國圖學學會大數據專委會走進山東科技大學」學術報告會
    ,南京大學教授,中組部萬人計劃青年拔尖人才計劃。主要研究領域為機器學習、強化學習。獲2013年全國優秀博士學位論文獎、2011年CCF優秀博士學位論文獎。發表論文40餘篇,獲得4項國際論文獎勵和2項國際算法競賽冠軍,入選2018年IEEE Intelligent Systems雜誌評選的「國際人工智慧10大新星」,獲2018亞太數據挖掘"青年成就獎」,受邀在IJCAI』18作關於強化學習的"青年亮點"報告。
  • 東南大學和南京工業大學科技成果精彩亮相馬鞍山!
    為深入推進南京都市圈科創一體化建設,打造南京都市圈城市技術轉移共同體,積極營造良好的技術轉移服務生態,促進區域科技成果轉移轉化,9月29日,省技術產權交易市場聯合南京市科技局以及南京都市圈相關城市科技主管部門成功舉辦2020年南京都市圈首屆科技成果拍賣季馬鞍山專場路演活動。
  • 南哲學科|南京大學邏輯教學的回顧與展望
    在當時中國整體的大學教育發展狀況大背景下,南高師—東南大學—中央大學哲學系的邏輯學教學體系,是內容相對豐富且比較完備的。根據南京大學檔案館的相關資料,在南高師和東南大學早期,邏輯學教學由劉伯明主持。劉伯明是中國現代哲學和現代教育的先驅。1911年,劉伯明赴美國西北大學攻讀哲學和教育學,191年獲哲學博士學位,成為中國歷史上第一位哲學博士。
  • 南京大學碩士被六所世界頂尖大學錄取
    做實驗中的禪鐸 禪鐸是南京大學大氣科學學院2013級碩士研究生,今年同時被哈佛大學、普林斯頓大學、耶魯大學等六所世界知名大學錄取。他最終選擇赴哈佛大學氣候、大氣與海洋專業攻讀博士學位。2009年入學、2013年保送本校讀研、2015年提前畢業並獲得碩士學位……作為南京大學「三三制」本科教學改革首批受益者的一員,禪鐸同學對母校的培養滿懷感恩。 拔尖培養助夢科研 禪鐸在大三時參與了學院的「拔尖計劃項目」,近100名學生中僅有6人首批入選。
  • 如何解決稀疏獎勵下的強化學習?
    本文重點探討的就是在存在稀疏獎勵的情況下引導 agent 繼續學習或探索的強化學習問題。目前解決稀疏獎勵下的強化學習主要有兩類方法:一是,利用數據改進 agent 的學習 ,包括已有數據、外部數據等;二是,改進模型,提升模型在大狀態、大動作空間下處理複雜問題的能力。
  • 南京航空航天大學空乘專業的管理學習要求
    南京航空航天大學空乘專業開始的開始,我們都是孩子。 最後的最後,渴望變成天使。 歌謠的歌謠, 孩子的孩子,終要飛上藍天。又是一個人間四月天,又是一批「準空乘」離校的日子。兒時,每當孩子們看到飛機划過藍天,無論多麼鬧騰都會立刻安靜下來,仰頭凝望著天空,直至飛機消失在天際,仍久久不願離去。小男孩說: 「我長大以後要當飛行員,開飛機在天上飛!」
  • 南京大學校友鮑哲南升任史丹福大學化學工程學院院長
    而南是南京的南,因為我出生在南京。」數十年後,鮑哲南的同學都仍記得當年班上這個美麗而聰明的女孩的自我介紹。&nbsp&nbsp&nbsp&nbsp一個學習小組的同學馬勁松說,「鮑哲南人如其名,就是當年我們男生心目中的智慧女神。」
  • 走進南京大學_光明日報_光明網
    看到我們的學生帶著收穫和喜悅離開母校,不禁又想到了那個對於大學來說歷久彌新的話題:人才培養。人才培養是大學最重要和最根本的工作,而基礎學科人才培養是南京大學的強項。上世紀80年代末90年代初,南京大學開始「創建大理科模式」的實踐活動,成立了南京大學基礎學科強化部,1998年又在此基礎上成立基礎學科教育學院,後來命名為「匡亞明學院」。
  • DeepMind-深度學習:AI革命及其前沿進展(54頁ppt報告)
    會上,牛津大學教授Nando de Freitas和其他15位專家做了《深度學習:AI革命及其前沿進展》的報告。神經編程編譯器人工智慧前沿7大熱點:強化學習>強化學習框架AlphaZero>模仿:幫助我們在強化學習中解決探索模仿人學習非常重要:翻譯、語音模型,通用協同觀看Youtube視頻學習,人可以從視頻中學習各種技能,機器是否同樣來學習?
  • 南京工業大學創新思路 精準引才
    >begin--> 南京工業大學高度重視人才引進與服務工作,圍繞「引得進」和「用得好」兩個中心點,結合自身發展需要,創新思路、積極行動,通過「四個一」多舉措、多途徑開展高端人才引進工作。搭建一個國際青年學者交流平臺。
  • 強化學習的10個現實應用
    該系統的工作方式如下:當然,具體的措施還是由本地控制系統操作完成。強化學習在金融貿易中的應用有監督的時間序列模型可用來預測未來的銷售額,還可以預測股票價格。然而,這些模型並不能決定在特定股價下應採取何種行動,強化學習(RL)正是為此問題而生。通過市場基準標準對RL模型進行評估,確保RL智能體正確做出持有、購買或是出售的決定,以保證最佳收益。
  • 深圳中學攜手南京大學共建先進光聲功能材料實驗室
    6月18日上午,深圳中學與南京大學共建的「深圳中學-南京大學先進光聲功能材料實驗室」籤約揭牌儀式在深圳中學立人樓508會議室舉行。由於疫情影響,儀式採用「雲籤約揭牌」形式。然後,南京盧明輝教授就實驗室的工作內容進行了簡要介紹:「兩校將基於實驗室共同開發並組織特色科創活動,例如開設特色科創選修課程,開展前沿科技科普講座、名師講壇,為相關競賽、課題提供指導和開放實驗室,以科技為主題組織深中師生到校外參觀和交流,圍繞實驗室相關課題對教師進行定期培訓,以微信公眾號、微博等形式建立融媒體平臺等。」
  • 深度學習與強化學習
    隨著 DeepMind 公司的崛起,深度學習和強化學習已經成為了人工智慧領域的熱門研究方向。
  • 南京大學物理學院萬賢綱教授應邀做題為「計算物理簡介」的自然...
    【MBA中國網訊】6月22日上午,南京大學MPAcc教育中心有幸邀請我校物理學院萬賢綱教授前來為MPAcc學生做了題為「計算物理簡介」的自然科學前沿專題講座。萬教授,博士生導師。1990年至2000年在南京大學學習,獲得學士、碩士、博士學位。
  • 河南大學舉辦「氮高效與豆科生物學前沿論壇」-河南大學新聞網
    會議現場 南京農業大學蓋鈞鎰院士做報告國家傑青、中科院遺傳發育所傅向東研究員做報告 南京農業大學鐘山首席教授徐國華教授做報告 在國家「十四五」即將開局、河南大學生物學一流學科建設紮實推進的關鍵時期,11月12日,「氮高效與豆科生物學前沿論壇」在我校金明校區中州頤和酒店一樓學術報告廳舉行。