【深度學習介紹系列之一】——深度強化學習_深度學習

來源:互聯網
上載者:User

前言介紹了機器學習與深度學習的基本概念,本系列的目錄,深度學習的優勢等。

本節乘熱打鐵先說說深度強化學習吧。

說到機器學習最酷的分支,非Deep learning和Reinforcement learning莫屬(以下分別簡稱DL和RL)。這兩者不僅在實際應用中表現的很酷,在機器學習理論中也有不俗的表現。深度強化學習是啥呢。簡單點說就是 深度學習 + 強化學習。深度學習和強化學習都不是啥新鮮事了,但是深度強化學習在Google 的DeepMind團隊的運作下,一下子變得非常紅火了。這是源自 DeepMind團隊在《Nature》雜誌發表論文(Human-level control through deep reinforcement learning),公布玩遊戲比人厲害的 AI 是如何做出來的。他們在Stella類比機上讓機器自己玩了7個Atari 2600的遊戲,結果是玩的衝出美洲,走向世界,超越了物種的局限。不僅戰勝了其他機器人,甚至在其中3個遊戲中超越了人類遊戲專家。根據他們的論文,其中的AI就是深度強化演算法,而且結果比其他演算法要好,當然比人也要好,同時這篇論文發表在世界級頂級雜誌,引發很多人的興趣,我當然就是很多人之一,我本來是想如何將此演算法應用到公司產品中去,但是最近也沒想到啥好的解決方案,那就先熟悉熟悉這種演算法了,順便記錄一下。(引用了http://36kr.com/p/220012.html 與 http://www.infoq.com/cn/articles/atari-reinforcement-learning)

為了讓大家能稍微詳細的瞭解深度強化學習演算法,我們先分別介紹強化學習演算法與深度學習演算法,再說說他們如何結合的,最後大概總結下。


首先我們說說什麼是強化學習吧。百度百科的定義:強化學習(reinforcement learning,又稱再勵學習,評價學習)是一種重要的機器學習方法,在智能控制機器人及分析預測等領域有許多應用。 一聽起來挺抽象的啊。我們來舉個例子簡單說明下強化學習在生活中是咋樣的:我們小時候看到馬戲團的狗盡然可以算加減法,鴿子也會走鋼絲了,就差豬也會飛了(扯遠了),這是如何做到的。其實啊,拿鴿子來說,每當鴿子走到鋼絲盡頭或者中間某時刻(可以設計)的時候,訓練人員就會給它一些獎勵,這些獎勵的作用是讓它“知道”,鴿子啊,你剛才的動作是對的(或者是不錯的,你要繼續保持啊)。如此一來,鴿子無形之中就受到了暗示,我只要那樣做,就有獎勵(食物)吃。何樂而不為呢。如果你看懂了這段話,那麼強化學習的通俗理解正是如此。這樣一說大概瞭解了吧,強化學習本質就是告訴你什麼情況下做什麼決定是有利的,做什麼決定是有害的,當遇到類似的情況的時候,你就根據之前的經驗來做決策。

現在來點學術點的描述:強化學習其實就是一個連續決策的過程。傳統的機器學習中的監督學習(supervised learning)就是給定一些標註資料,這些標註作為監督者(supervisor),學習一個好的函數,來對未知資料作出很好的決策。但是有時候你不知道標註是什麼,即一開始不知道什麼是“好”的結果,所以RL不是給定標註,而是給一個回報函數,這個回報函數決定目前狀態得到什麼樣的結果(“好”還是“壞”)。 其數學本質是一個馬爾科夫決策過程。最終的目的是決策過程中整體的回報函數期望最優。如下圖示:


強化學習設定(reinforcement learning setup) 隱馬爾可夫模型—— HMM(hidden Markov model)

上面講到了馬爾科夫決策,馬爾科夫決策是啥玩意呢。馬爾可夫決策過程(MDPs)以安德烈馬爾可夫的名字命名 ,針對一些決策的輸出結果部分隨機而又部分可控的情況,給決策者提供一個決策制定的數學建模架構。MDPs對通過動態規劃和強化學習來求解的廣泛的最佳化問題是非常有用的。下面我們簡單說說馬爾科夫決策的理論:



下面給個形象的圖表示這個過程:


當這一切都確定了,剩下的事情就是尋找一種最優策略(policy)。所謂策略,就是狀態到動作的映射。我們的目的是,找到一種最優策略,使得遵循這種策略進行的決策過程,得到的全域回報最大。所以,RL的本質就是在這些訊號下找到這個最佳策略。


上面囉嗦了那麼多,就是說明了強化學習概念和理論,同時我們應該認識到強化學習跟人類積累經驗很類似。下面該說說深度強化學習了。


上面講到的強化學習比較牛了,為啥還要加個深度學習呢。難道僅僅是為了跟深度學習湊近乎麼。(當然這個也是一個原因吧。),當然不僅僅是。在最開始說的那篇牛逼的nature文章中說:

簡單點說就是普通的強化學習雖然應用的比較成功,但是特徵狀態需要人工設定,對於複雜的情境,是個很困難的事情,特別容易造成維數災難,同時表達的還不好。那解決辦法是啥呢。記得昨天介紹深度學習時說到深度學習的本質就是自動學習特徵,這不正好解了強化學習的渴麼。於是乎Google的那幫牛人開始用深度學習提取特徵,再應用在強化學習上面,得到了很好的結果。Google用的卷積神經網路(Convolutional Neural Network,CNN)進行特徵提取,

CNN + RL = Deep Q-network(深度強化學習演算法DQN)。


CNN又是啥玩意。本來是要先介紹卷積神經網路,再介紹深度強化的,這裡有點插敘了,我還是先簡單說下吧,今後會有專門的篇章介紹的。

卷積神經網路是人工神經網路的一種,已成為當前語音分析和Image Recognition領域的研究熱點這種網路結構對平移、比例縮放、傾斜或者共他形式的變形具有高度不變性。一般地,CNN的基本結構包括兩層,其一為特徵提取層,每個神經元的輸入與前一層的局部接受域相連,並提取該局部的特徵。一旦該局部特徵被提取後,它與其它特徵間的位置關係也隨之確定下來;其二是特徵映射層,網路的每個計算層由多個特徵映射組成,每個特徵映射是一個平面,平面上所有神經元的權值相等。如下圖所示,展示了一個33的卷積核在55的映像上做卷積的過程。每個卷積都是一種特徵提取方式,就像一個篩子,將映像中符合條件(啟用值越大越符合條件)的部分篩選出來。

做完卷積後,接下來還要做池化,人們可以計算映像一個地區上的某個特定特徵的平均值 (或最大值)。這些概要統計特徵不僅具有低得多的維度 (相比使用所有提取得到的特徵),同時還會改善結果(不容易過擬合)。


下面再看看完整的CNN:


Google訓練DQN的演算法說明如下:


上面囉嗦介紹那麼多,也只能說個大概。下面大概總結下:深度強化學習就是用深度學習網路自動學習動態情境的特徵,然後通過強化學習學習對應情境特徵的決策動作序列。


說明:

本文引用了一些論壇的文章以及論文的圖片,不一 一列舉了,如有雷同,純屬正常。




聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.