1. 程式人生 > >深度學習 -> 強化學習 ->遷移學習(楊強教授報告)

深度學習 -> 強化學習 ->遷移學習(楊強教授報告)

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

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

針對深度學習的侷限性,或許強化學習和遷移學習能夠解決相應的問題。

這裡寫圖片描述

強化學習是什麼?

強化學習(Reinforcement Learning),就是智慧系統從環境到行為對映的學習,以使獎勵訊號(強化訊號)函式值最大。
強化學習不同於連線主義學習中的監督學習,主要表現在教師訊號上,強化學習中由環境提供的強化訊號是對產生動作的好壞作一種評價(通常為標量訊號),而不是告訴強化學習系統RLS(reinforcement learning system)如何去產生正確的動作。由於外部環境提供的資訊很少,RLS必須靠自身的經歷進行學習。
通過這種方式,RLS在行動-評價的環境中獲得知識,改進行動方案以適應環境。

之前ALPHGO 大戰 李世石 4:1

這裡寫圖片描述

目前的 Master 大戰中日韓圍棋世界冠軍 60: 0

這裡寫圖片描述

背後的 DeepMind 就是將深度學習應用到強化學習中去的範例。

這裡寫圖片描述

DeepMind把端到端的深度學習應用在強化學習上,使得強化學習能夠應付大資料,因此能在圍棋上把人類完全擊倒,它做到這樣是通過完全的自學習、自我修煉、自我改正,然後一個一個迭代。
深度學習是一種端到端的學習方式,整個學習過程中不需要中間的和顯著的人類參與。直接把海量資料投放到演算法中,讓資料自己說話,系統會自動從資料中學習。從輸入到輸出是一個完全自動的過程。

這裡寫圖片描述

永動機器學習

CMU大學的例子,用中文來說是永動機器學習,這個機器不斷在網上扒一些網頁,在每個網頁裡面都學到一些知識,把這些知識綜合起來,變成幾千萬條知識,這些知識又會衍生新的知識。那麼我們看到從下到上是隨著時間,知識量在增長。但是它到了某一個程度實際上是不能再往上走了,因為知識會自我矛盾。這個時候就需要人來進行一部分的調節,把一部分不正確的知識去掉,讓它繼續能成長。這個過程為什麼會發生呢?

這裡寫圖片描述

是因為機器學習有一個很嚴重的現象,就是自我偏差,這種偏差可以體現在統計學的一個重要概念中,就是我們獲得的資料也許是一個有偏資料,我們可能建了一個模型,對大部分的資料都有用,但其中有一些特例。我們如何來處理這些特例,如何來處理我們訓練資料和應用資料之間的偏差,這是我們下一步要研究的內容。

兩個問題:資料量大,有偏資料;資料量少。

這裡寫圖片描述

為了解決以上問題,下面我們來看幾個示例

這裡寫圖片描述

這裡寫圖片描述

這裡寫圖片描述

這裡寫圖片描述

以上示例都是人類的遷移學習的能力。

遷移學習是什麼?

所謂遷移學習,或者領域適應Domain Adaptation,一般就是要將從源領域(Source Domain)學習到的東西應用到目標領域(Target Domain)上去。源領域和目標領域之間往往有gap/domain discrepancy(源領域的資料和目標領域的資料遵循不同的分佈)。

遷移學習能夠將適用於大資料的模型遷移到小資料上,實現個性化遷移。

遷移什麼,怎麼遷移,什麼時候能遷移,這是遷移學習要解決的主要問題。

遷移學習能解決那些問題?

小資料的問題。比方說新開一個網店,賣一種新的糕點,沒有任何的資料,就無法建立模型對使用者進行推薦。但使用者買一個東西會反映到使用者可能還會買另外一個東西,所以如果知道使用者在另外一個領域,比方說賣飲料,已經有了很多很多的資料,利用這些資料建一個模型,結合使用者買飲料的習慣和買糕點的習慣的關聯,就可以把飲料的推薦模型給成功地遷移到糕點的領域,這樣,在資料不多的情況下可以成功推薦一些使用者可能喜歡的糕點。這個例子就說明,有兩個領域,一個領域已經有很多的資料,能成功地建一個模型,有一個領域資料不多,但是和前面那個領域是關聯的,就可以把那個模型給遷移過來。
個性化的問題。比如每個人都希望自己的手機能夠記住一些習慣,這樣不用每次都去設定它,怎麼才能讓手機記住這一點呢?其實可以通過遷移學習把一個通用的使用者使用手機的模型遷移到個性化的資料上面。

遷移學習四種實現方法
這裡寫圖片描述

1. 樣本遷移 Instance-based Transfer Learning

這裡寫圖片描述

一般是對樣本進行加權,給比較重要的樣本較大的權重。
樣本遷移即在資料集(源領域)中找到與目標領域相似的資料,把這個資料放大多倍,與目標領域的資料進行匹配。其特點是:需要對不同例子加權;需要用資料進行訓練。

2. 特徵遷移 Feature-based Transfer Learning

這裡寫圖片描述

在特徵空間進行遷移,一般需要把源領域和目標領域的特徵投影到同一個特徵空間裡進行。

特徵遷移是通過觀察源領域影象與目標域影象之間的共同特徵,然後利用觀察所得的共同特徵在不同層級的特徵間進行自動遷移。

3. 模型遷移 Model-based Transfer Learning

這裡寫圖片描述

整個模型應用到目標領域去,比如目前常用的對預訓練好的深度網路做微調,也可以叫做引數遷移。

模型遷移利用上千萬的圖象訓練一個圖象識別的系統,當我們遇到一個新的圖象領域,就不用再去找幾千萬個圖象來訓練了,可以原來的影象識別系統遷移到新的領域,所以在新的領域只用幾萬張圖片同樣能夠獲取相同的效果。模型遷移的一個好處是可以和深度學習結合起來,我們可以區分不同層次可遷移的度,相似度比較高的那些層次他們被遷移的可能性就大一些

4. 關係遷移 Relational Transfer Learning

社會網路,社交網路之間的遷移。

這裡寫圖片描述

前沿的遷移學習方向

Reinforcement Transfer Learning
怎麼遷移智慧體學習到的知識:比如我學會了一個遊戲,那麼我在另一個相似的遊戲裡面也是可以應用一些類似的策略的

Transitive Transfer Learning
傳遞性遷移學習,兩個domain之間如果相隔得太遠,那麼我們就插入一些intermediate domains,一步步做遷移

Source-Free Transfer Learning
不知道是哪個源領域

最後用一張圖總結一下深度學習、強化學習、遷移學習的趨勢

這裡寫圖片描述

參考資料: