close

本文共3600字,建議閱讀10分鐘

深度強化學習是一個值得持續研究和關注的新方向。

深度學習不夠智能,強化學習又太抽象。深度強化學習是兩套理論體系乘風破浪以後的成團產物,其骨架來自強化學習,而靈魂由深度學習賦予。深度強化學習是一個值得持續研究和關注的新方向。

一、深度學習的反思


現在深度學習大熱,一點也不輸給現在的室外氣溫,但大熱背後也有隱憂,深度學習雖然表面光鮮,但細看就會發現:仍然充滿了槽點。

其中一個可謂是直擊靈魂。現在深度學習用得最多的就是有監督學習。有監督學習不妨理解成「有參考答案的學習」,它有一個特點,就是數據必須經過標識才能用於訓練。但現在海量的數據是未標識數據,且標識成本很高。很多研究人員,甚至包括有不少的大牛都在反思,琢磨深度學習是不是「錯了」。如果說人工智能發展的正道在於模擬人類智能,那深度學習的這套學習模式可能走了歪路。

舉一個例子,就是人類的小嬰兒學走路。小嬰兒學走路肯定不是靠先看一大堆的《如何解鎖行走姿勢》或者《人類直立動作大全》之類的資料,用行話來說,就是不必依賴外部輸入大量的訓練數據。那小嬰兒是怎麼學的呢?靠不斷嘗試,也就是我們常說的跌倒了爬起來再走。簡單來說,這一派研究人員認為:深度學習和人類的學習模式是截然不同的,別看現在大紅大紫,早晚是要碰到天花板的。那應該怎麼辦呢?很多人都指了同一個地方,就是深度強化學習。

二、強化學習原理

深度強化學習是兩套理論體系乘風破浪以後的成團產物,這兩套體系本來都是單飛型選手,分別是深度學習和強化學習,具體來說,深度強化學習的骨架來自強化學習,而靈魂則是由深度學習賦予。所以,要講明白深度強化學習,首先來看下強化學習。

2.1AlphaGo進化史

AlphaGo打敗柯潔等一眾國際頂尖棋手的事實讓大家對人工智能技術信心倍增。當年AlphaGo一共迭代了三個版本,分別是戰勝李世石的一代目AlphaGo Lee、戰勝柯潔的二代目AlphaGo Master,以及吊打前兩代的三代目AlphaGo Zero。這三代棋藝當然是逐代遞增了,技術上也有一個明顯的變化趨勢,就是強化學習的比重越來越大。


最開始訓練AlphaGo的模型,是需要用藉助已有棋譜的,也就是需要參考答案,是有監督學習。而當進化到了AlphaGo Zero,這哥們兒開始「悟了」,對,是真正意義上的悟了,不再需要任何棋譜,完全自食其力,從零開始自學成才,所以名字叫Zero。親爹DeepMind喜不自勝,跑到Nature發了一篇爆款論文,名字叫《Mastering the game of go without human knowledge》,我看中文不妨就翻譯為《圍棋滅霸》,反正意思就是「你們人類都是渣渣,我不需要人教也能稱霸棋壇」。這次是真不用人教,那靠什麼自學呢?就是強化學習。AlphaGo Zero的學習模式非常類似於人類,而且取得了無可非議的良好效果,確實讓業內所有人都真真切切地感受到了強化學習的驚人潛力。

2.2強化學習基礎概念

說了這麼多,那什麼是強化學習呢?強化學習是機器學習中的一種。強化學習和有監督學習、無監督學習都不太一樣,有一個智能體(Agent)的概念。什麼是智能體呢?大家應該都玩過任天堂的一款經典FC橫版通關遊戲——馬里奧兄弟。在遊戲中,玩家通過控制馬里奧頂蘑菇、踩烏龜來取得勝利,如果想用強化學習來通關,那這裡的智能體指的就是馬里奧。

智能體是強化學習的第一個重要概念,是主角,但強化學習作為一台好戲,自然不能光有主角,還得有舞台,這就是強化學習的第二個重要概念,環境(Environment)。

強化學習的學習過程,就是作為主角的智能體和作為舞台的環境不斷交互的過程。這個過程又包括三個重要概念,分別是觀察(Observation)、動作(Action)和獎勵(Reward)。這五個概念可謂是強化學習的五線譜,能夠演奏出無數美妙動人的旋律。

那麼,對於剛剛提出的智能體、環境、觀察、動作和獎勵這這五個概念是怎麼進行演奏呢?

2.3 深入淺出強化學習

首先一條就是主線,前面已經介紹,強化學習的主線就是作為主角智能體,與作為舞台的環境所作的各種交互。交互過程衍生了三個概念,聽起來複雜,其實玩馬里奧兄弟遊戲非常相像,完全可以一對一比照。

回想一下,遊戲裡的馬里奧想要通關,第一步需要幹什麼呢?前進後退還是蹦蹦跳跳?都不對,首先需要觀察。你得先看一下周圍環境,看看前面到底蘑菇還是烏龜,才能決定接下來的行動。觀察環境,獲取當前的狀態信息了,才決定下一步行動對不對?強化學習也一樣,主角智能體通過前面介紹的第三個重要概念「觀察」,來獲得當前時刻的各種狀態信息,一般記為s(t)。


掌握了狀態信息,遊戲裡的馬里奧開始躍躍欲試,準備做出反應了。強化學習也一樣,我們將s(t)作為智能體的輸入,智能體會略加思索,接着就能做出「動作」。這裡的動作,就是前面介紹的第四個重要概念。智能體能做出哪些動作呢?這和具體的場景有關,譬如在馬里奧遊戲中,動作就是指「頂蘑菇」或者「踩烏龜」,一般記為a(t)。

最後一個重要概念是「獎勵」。這個好理解,前面我們一再強調,強化學習的主線是智能體與環境的各種交互,那現在當智能體做出某個動作後,環境當然也得有所表示,得有個反饋信息,這就是獎勵。譬如馬里奧遊戲中,馬里奧「吃到金幣」後,相應的遊戲得分就會增加,這就是獎勵。需要說明一點,強化學習的「獎勵」和我們日常所習慣的用法略有不同,強調的是環境對智能體的反饋。上面說的得分增加,這是一種好的反饋,當然也有壞的反饋,譬如做了什麼動作被扣分了,但無論是好的反饋,還是壞的反饋,在強化學習這裡都統一稱為「獎勵」。

至此,智能體就完成了一輪強化學習。不斷重複這輪流程,智能體就能順利地與環境交互下去。聽起來是不是很簡單?不過,魔鬼都藏在細節里。

2.4強化學習方向分類

不知道大家在閱讀時,有沒有注意到強化學習的一個非常重要的問題,上面卻一筆帶過?沒錯,就是從獲取s(t)到做出a(t)之間的「略加思索」。作為輸入的狀態信息,和作為輸出的待選動作,都是給定好的,但二者的映射關係如何,也就是輸入什麼樣的狀態信息該對應輸出什麼樣的動作反應,也就是智能體應該如何進行思考。

這是強化學習最核心的問題。有了問題,自然就會產生各種腦洞。我們說強化學習的五個概念像是五線譜,演奏出無數美妙旋律,這絕對不是藝術化的比喻,而是實情。為了解決強化學習這個核心問題,研究人員是真真切切地開了無數的腦洞,總的來說,主要是朝着兩大方向開腦洞。

第一個大方向叫基於價值(Value-Based)的強化學習。機器學習都有個目標函數的概念,而基於價值的強化學習,它的目標函數就是累計獎勵最大化,也就是當前哪個動作能讓得分更高就選擇做哪個動作。這很符合我們的直覺認知,比較容易理解。那怎麼達到這個目標呢?不同的算法各有不同,基於價值(Value-Based)的強化學習算法中,最有名氣的算法應該數Q-Learning,也有人稱為Q學習,通過不斷計算和更新動作價值函數Q來實現獎勵最大化。

第二個大方向叫基於策略(Policy-Based)的強化學習。基於價值雖然符合直覺,但這種走一步看一步,每次都要用價值函數量一下才能行動的做法,難免讓人有種「無頭蒼蠅瞎轉」的無力感,而基於策略的強化學習最大的特點就是果斷拋棄了價值函數,嘗試找到每個狀態對應的最佳動作,從而形成一套動作策略,每走一步策略都能直接給出最佳的下一步動作。

當然,除了這兩大方向,強化學習還有其它的腦洞方向,譬如基於模型(Model-Based)的強化學習,不過由於成本和難度較高,用得比較少。而這兩大方向都各自包含了大量的具體實現算法,即使方向相同,各個算法在細節上仍然有很大差異。

三、深度學習與強化學習的結合

最後一個問題是,深度學習是怎樣和強化學習結合,成為深度強化學習的呢?

前面我們說,深度強化學習,強化學習是骨架,深度學習是靈魂,這是什麼意思呢?深度強化學習的主要運行機制,其實與強化學習是基本一致的,也都是根據輸入的s(t),找到對應的輸出a(t),只不過使用了深度神經網絡來完成這一過程。

更有甚者,有的深度強化學習算法,乾脆直接在現成的強化學習算法上,通過添加深度神經網絡來實現一套新的深度強化學習算法,非常有名的深度強化學習算法DQN就是典型的例子。

前面我們介紹基於價值的強化學習算法中介紹了Q-Learning算法,有一個重要的步驟是計算Q值,而傳統的Q-Learning算法是通過Q表來完成計算的,但表格存在一個明顯的局限性,狀態-動作空間越大,Q表就越膨脹,而且是大一點就膨脹好幾圈。這樣下去不行的,早晚是要河邊見的……

那怎麼改善呢?研究人員一想,現在大熱的深度神經網絡不是最擅長幹這事嗎?於是一拍大腿,不再需要勞駕Q表您老人家來記錄Q值了,統統改成了深度神經網絡,這就是DQN。雖然聽起來改動不大,但兩者結合效果很好,能力提升明顯,成就了廣為使用的深度強化學習算法。

本文參考北京理工大學劉馳教授的《深度強化學習:學術前沿與實戰應用》,本書詳解了深度強化學習領域近年來重要進展及其典型應用場景,涵蓋新的理論算法、工程實現和領域應用。緊跟學術前沿,聯合工程實踐,值得學習。

編輯:王菁

校對:林亦霖

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 鑽石舞台 的頭像
    鑽石舞台

    鑽石舞台

    鑽石舞台 發表在 痞客邦 留言(0) 人氣()