1. 程式人生 > >深度學習|遷移學習|強化學習

深度學習|遷移學習|強化學習

1.  深度學習:

基於卷積神經網路的深度學習(包括CNN、RNN),主要解決的領域是 影象、文字、語音,問題聚焦在 分類、迴歸

也就是我們經典的各種神經網路演算法。


圖1:深度學習適用領域


圖2:吳恩達預知的未來五年的主戰場-遷移學習

深度學習的侷限性:

1.    表達能力的限制

因為一個模型畢竟是一種現實的反映,等於是現實的映象,它能夠描述現實的能力越強就越準確,而機器學習都是用變數來描述世界的,它的變數數是有限的,深度學習的深度也是有限的。另外它對資料的需求量隨著模型的增大而增大,但現實中有那麼多高質量資料的情況還不多。所以一方面是資料量,一方面是資料裡面的變數、資料的複雜度,深度學習來描述資料的複雜度還不夠複雜。

2.  缺乏反饋機制

目前深度學習對影象識別、語音識別等問題來說是最好的,但是對其他的問題並不是最好的,特別是有延遲反饋的問題,例如機器人的行動,AlphaGo 下圍棋也不是深度學習包打所有的,它還有強化學習的一部分,反饋是直到最後那一步才知道你的輸贏。還有很多其他的學習任務都不一定是深度學習才能來完成的。

3. 模型複雜度高

以下是一些當前比較流行的機器學習模型和其所需的資料量,可以看到隨著模型複雜度的提高,其引數個數和所需的資料量也是驚人的。

           我們可以得出目前傳統的機器學習方法(包括深度學習)三個待解決的關鍵問題:

1).      隨著模型複雜度的提高,引數個數驚人。

2).      在新情況下模型泛化能力有待提高。

3).      訓練模型的海量的標記費時且昂貴。

4).    表達能力有限且缺乏反饋機制

2.  強化學習:

強化學習,其所帶來的推理能力是智慧的一個關鍵特徵衡量,真正的讓機器有了自我學習、自我思考的能力。

主要應用

  • 遊戲 AI 領域( AlphaGo);
  • 機器人領域;

   

圖 4::David Silver 將強化學習理解為一種交叉學科

 強化學習是主要包含四個元素:

物件(Agent):  也就是我們的智慧主題,比如 AlphaGo。

環境(Environment): Agent 所處的場景-比如下圍棋的棋盤,以及其所對應的狀態(State)-比如當前所對應的棋局。 Agent 需要從 Environment 感知來獲取反饋(當前局勢對我是否更有利)。

動作 (Actions) : 在每個State下,可以採取什麼行動,針對每一個 Action 分析其影響。

獎勵 (Rewards) : 執行 Action 之後,得到的獎勵或懲罰,Reward 是通過對 環境的觀察得到。

輸出:Next Action

3.  遷移學習:

遷移學習的來源是關注的場景缺少足夠的資料來完成訓練,在這種情況下你需要通過遷移學習來實現模型本身的泛化能力,也就是說當前場景資料集和label不多,但是相關的資料集多,同時也比較類似,所以可以用來摻和在一起增加資料集的量。


圖3:遷移學習和傳統機器學習

遷移學習的必要性和價值體現:

1. 複用現有知識域資料,已有的大量工作不至於完全丟棄;

2. 不需要再去花費巨大代價去重新採集和標定龐大的新資料集,也有可能資料根本無法獲取

3. 對於快速出現的新領域,能夠快速遷移和應用,體現時效性優勢;

遷移學習演算法的思路:

1. 通過原有資料和少量新領域資料混淆訓練;

2. 將原訓練模型進行分割,保留基礎模型(資料)部分作為新領域的遷移基礎;

3. 通過三維模擬來得到新的場景影象(OpenAI的Universe平臺藉助賽車遊戲來訓練);

4. 藉助對抗網路 GAN 進行遷移學習的方法;

                                            

圖5:遷移學習的四種常見的解決方法

  • 基於樣本的遷移學習
  • 基於特徵的遷移學習
  • 基於引數/特徵的遷移學習
  • 基於關係的遷移學習