作者 | 肖智清
責編 | 劉靜
強化學習作為通用人工智能的希望,吸引了很多人工智能愛好者學習和研究。Markov決策過程是最知名的強化學習模型,強化學習教程也常以Markov決策過程作為起點。但是,強化學習并不只有Markov決策過程這一種模型。本文全景式地分析強化學習的研究內容,展示Markov決策過程以外的廣闊天地。
正強化與負強化
強化學習是一類能夠最大化獎勵、最小化懲罰的機器學習算法。強化學習這一概念在歷史上來源于行為心理學,來描述生物為了趨利避害而改變自己行為的學習過程。這一概念后來被引入到人工智能領域中。
強化可以分為正強化和負強化。例如,我在寫論文的過程中會有很多行為。如果某些行為能夠讓我的論文更容易被錄用,甚至還能得最佳論文,獲得很多引用,那么我會在以后更傾向采用這樣的行為。這里的論文錄用、論文獲獎、論文被引就是正強化。如果某些行為會導致論文被拒,或是被查出學術不端行為,畢不了業了,那么我會在以后避免采用這樣的行為。這里的論文悲劇、查重事故、畢不了業就是負強化。
在強化學習問題的建模過程中,正強化可以用獎勵來量化,而負強化可以用代價來量化。
Jack Michael的論文《Positive and negative reinforcement, a distinction that is no longer necessary》(1975)論證了正強化和負強化的等價性。這意味著,獎勵和代價可任取其一,最大化獎勵和最小化代價沒有區別。
智能體/環境接口
智能體/環境接口是強化學習最常見的建模方法,它把任務中的所有元素劃分為智能體和環境兩個部分:決策和學習的部分歸為智能體,把其他部分歸為環境。
考慮寫論文的例子:我學習如何寫論文,也決定要怎么寫。我的學習和決策部分就是智能體。但是我自己整個人卻不全是智能體。比如如果我生病了,那我就不寫論文了。我的健康狀況就屬于環境的部分。
用智能體環境接口將智能體和環境分開后,智能體和環境之間只需要通過三個要素來交互。這三個要素是:動作、觀測、獎勵。
前面已經論證,獎勵可以等價于負的代價,獎勵一定是數值的,比如說是一個實數。與之相對,動作和觀測不一定是數值。
例如,觀測可以是“看到了帥氣的小哥哥”或是“看到了漂亮的小姐姐”這樣的事件,動作可以是“上前向小哥哥要微信”這樣的動作。
圖 智能體/環境接口
快問快答
問:強化學習問題一定要使用智能體/環境接口來研究嗎?
答:不一定。我們也可以在不劃分智能體和環境的情況下對任務進行整體優化。比如我們知道某些參數能夠驅動整個系統,那么我可以用Monte Carlo方法評估不同參數下的系統性能,再用進化算法求解最優參數。這樣就在沒有使用智能體/環境接口的情況下完成了強化學習。
問:既然強化學習可以采用智能體/環境接口也可以不采用智能體/環境接口,那為什么絕大多數求解使用智能體/環境接口呢?
答:智能體/環境接口把主觀可以控制的部分和客觀不能改變的部分分開,便于進一步分析和求解問題。
序貫決策與時間指標
智能體和環境可以交互多次,引入序貫決策問題。
對于序貫決策問題,我們可以引入時間指標來標記決策的順序。
如果決策機會是可數的(有限次數或是無限可數次數),那么我們可以把決策時機和自然數一一對應。比如說第一次決策時機記為t=0,第二次決策時機記為t=1,依此類推。這時的智能體/環境接口就成為離散時間智能體/環境接口。
如果決策機會是不可數的,那么我們可以把決策時機和其等勢的集合(如非負實數集)一一對應。時間指標規范化到實數集或其連續子集的時候智能體/環境接口就成為連續時間智能體/環境接口。
快問快答
問:強化學習問題一定是序貫決策問題么?
答:不一定。比如單次賭博機問題就不是序貫決策問題。非序貫決策問題不需要引入時間指標。
問:決策時機一定可以規范化為自然數集或是非負實數集么?
答:不一定。例如,對于半Markov過程,決策間隔是隨機的。并且決策間隔的值會影響后續結果,所以模型不能忽略決策間隔。例如,我投了會議論文,下次決策的機會就是可以回復審稿人意見的時候。審稿人什么時候發回意見是不確定的,并且審稿人發回什么意見是和審稿人什么時候把審稿意見傳上網是有關系的。
強化學習任務還可以根據智能體的數量劃分為單智能體任務和多智能體任務。當任務中有多個智能體的時候,多個智能體并不一定同時有決策機會。在某個時刻,可能只有某些智能體有資格決策,其他智能體可能只能觀察,或是連觀察的資格都沒有。
例如,幾個人一起玩吃雞游戲。某些玩家可能剛開局就落地成盒,后面就不用決策了。某些玩家能堅持到最后,有更多的決策機會。
環境的可觀測性與環境模型
智能體獲得觀測后,有可能會知道環境信息。如果智能體能夠通過觀測完全了解環境,那么稱該任務是完全可觀測的;如果智能體通過觀測完全不能了解環境,那么該任務是完全不可觀測的;如果智能體通過觀測能夠部分了解環境,則該任務是部分可觀測的。
強化學習算法可以分為有模型算法和無模型算法兩類。
有模型算法是在求解過程中利用環境模型的算法。環境模型可以是事先給定的(比如AlphaGo算法、動態規劃算法),也可以通過學習得到(比如Dyna算法、WorldModels算法)。
無模型算法不需要依賴環境模型的實現,實現更加簡單。
無論算法是有模型算法還是無模型算法,可以假設環境具有某種驅動的形式。最常見的假設是認為從狀態和動作到觀測和獎勵是以概率形式驅動的,可以表示為Pr[O,R|S,A]。
快問快答
問:環境一定是以概率形式驅動的嗎?
答:不一定。環境還可能以其他形式驅動,比如以組合形式驅動。例如對于井字棋問題,就可以建模為組合問題,用alpha-beta算法求解。如果將本來的組合形式驅動的任務強行建模為用概率形式驅動的任務,則可能求不到最優解。對于圍棋,AlphaGo算法并不一定能得到最優解。AlphaGo只是得到了相對比較好的解。
深度強化學習的新機會
從1950年算起,強化學習已經有接近70年的研究歷史。在這并不短暫的研究歷史中,絕大多數的研究都是和深度學習無關的,其算法是非深度強化學習算法。在諸多非深度強化學習算法中,資格跡算法實現簡潔、性能優異,一度成為旗艦強化學習算法。
2013年,DeepMind發明了DQN算法,成功將深度學習和強化學習結合起來,開啟了深度強化學習的新紀元。此后數年,強化學習的成果日新月異,很多非常困難的問題都被深度強化學習算法解決。
深度強化學習能夠獲得如此巨大的成功,原因在于深度學習可以表示非常復雜的解。
非深度強化學習算法能求解有數千個參數的解,而深度強化學習算法的解的參數數量可以遠遠超過這個數。具體而言,無模型深度強化算法的可以求解出有數億參數的解,而有模型深度強化學習算法可以求解出有數千億個參數的解。一般認為,有模型算法能夠比無模型算法支持更復雜的解。如果對無模型算法強行使用過多的參數個數,會導致訓練無法啟動。
樣本復雜性是強化學習算法的一個非常重要的性能指標。有觀點認為,有模型算法之所以能夠比無模型算法獲得更復雜的解,正是因為有模型算法的樣本利用率更高。
例如:圍棋是一個非常困難的問題,它的解非常復雜,需要搭配非常深的神經網絡。AlphaGo這樣的有模型算法就充分依賴給定的模型,利用MCTS算法提高了樣本利用率。
結語
諸多強化學習教程都是從學習Markov決策過程開始的。但是強化學習模型遠不只有Markov決策過程這一種。
在本文中,我們已經知道強化學習不一定要用智能體環境接口,時間指標不一定是自然數集或非負實數集,環境不一定是概率驅動的,從觀測不一定能完全知道狀態,多個智能體不總是同時有資格決策,等等。所有這一切,都超出了Markov決策過程的模型假設。
強化學習的模型如此眾多,在選擇模型時要遵循兩大準則:其一,模型要體現要解決的問題。模型往往是真實場景的簡化。如果一個模型的的解答不足以充分解決要解決的真實問題,那么這個模型是不夠的。其二,模型要能夠妥善求解。如果一個模型太復雜,以至于完全無法從這個復雜至極的模型中獲得任何有用的知識,那么這個模型也是沒有什么用的。
作者:肖智清,清華大學工學博士。著有《神經網絡與PyTorch實戰》《強化學習:原理與Python實戰》。scipy、sklearn等開源項目源碼貢獻者。近7年發表SCI/EI論文十余篇,多個頂級期刊和會議審稿人。在國內外多項程序設計和數據科學競賽上獲得冠軍。
聲明:本文系作者獨立觀點,不代表CSDN立場。
點擊閱讀原文,立即報名參會!


