1. 程式人生 > >遷移學習(transfer learning)、多工學習(multi-task learning)、深度學習(deep learning)概念摘抄

遷移學習(transfer learning)、多工學習(multi-task learning)、深度學習(deep learning)概念摘抄

本文在寫作過程中參考了諸多前輩的部落格、論文、筆記等。由於人數太多,在此不一一列出,若有侵權,敬請告知,方便我進行刪改,謝謝!!!

遷移學習(Transfer Learning)
遷移學習出現的背景如下:在一些新興領域很難得到我們需要的大量的訓練資料,另外,傳統的機器學習需要對每個領域都標定大量訓練資料,這將會耗費大量的人力與物力。而遷移學習(Transfer Learning)的目標是將從一個環境中學到的知識用來幫助新環境中的學習任務。因此,相對於傳統的機器學習假設訓練資料與測試資料服從相同的資料分佈,遷移學習不會像傳統機器學習那樣作同分布假設。
遷移學習是指一個學習演算法可以利用不同學習任務之間的共性來共享統計的優點和在任務間遷移知識。傳統的機器學習假設訓練資料與測試資料服從相同的資料分佈。如果我們有了大量的、在不同分佈下的訓練資料,完全丟棄這些資料也是非常浪費的。如何合理的利用這些資料就是遷移學習主要解決的問題。遷移學習可以從現有的資料中遷移知識,用來幫助將來的學習。

多工學習(Multi-task Learning)

Multi-tasklearning(多工學習)是和single-task learning (單任務學習)相對的一種機器學習方法。拿大家經常使用的school data做個簡單的對比,school data是用來預測學生成績的迴歸問題的資料集,總共有139箇中學的15362個學生,其中每一箇中學都可以看作是一個預測任務。單任務學習就是忽略任務之間可能存在的關係分別學習139個迴歸函式進行分數的預測,或者直接將139個學校的所有資料放到一起學習一個迴歸函式進行預測。而多工學習則看重任務之間的聯絡,通過聯合學習,同時對139個任務學習不同的迴歸函式,既考慮到了任務之間的差別,又考慮到任務之間的聯絡,這也是多工學習最重要的思想之一。

多工學習的優勢在哪呢?單任務學習的過程中忽略了任務之間的聯絡,而現實生活中的學習任務往往是有千絲萬縷的聯絡的,例如,當一名守門員在學習如何撲救時,並不是單純地學習如何去撲球,而是會涉及許多相關的學習內容,比如如何進行預判,如何移動腳步,如何騰身起跳,如何平穩落地等。相似的,在計算機領域,多標籤影象的分類,人臉的識別等等,這些任務都可以分為多個子任務去學習,多工學習的優勢就在於能發掘這些子任務之間的關係,同時又能區分這些任務之間的差別。

目前多工學習方法大致可以總結為兩類,一是不同任務之間共享相同的引數(common parameter),二是挖掘不同任務之間隱藏的共有資料特徵(latent feature)。

深度學習(Deep Learning)

DeepLearning的一個別名UnsupervisedFeatureLearning,就可以顧名思義了,Unsupervised的意思就是不要人蔘與特徵的選取過程。
就人體的感知來說,人的視覺系統的資訊處理是分級的。從低階的V1區提取邊緣特徵,再到V2區的形狀或者目標的部分等,再到更高層,整個目標、目標的行為等。也就是說高層的特徵是低層特徵的組合,從低層到高層的特徵表示越來越抽象,越來越能表現語義或者意圖。而抽象層面越高,存在的可能猜測就越少,就越利於分類。DeepLearning就是模仿這個過程提出的。
   Depth 概念:一個輸入與一個輸出之間最長路徑的長度
   Deep Architecture 的三個特點:
   1.深度不足會出現問題;
   2.人腦具有一個深度結構(每深入一層進行一次abstraction,由lower-layer的features描述而成的feature構成);
   3.認知過程逐層進行,逐步抽象
DeepLearning Algorithm 的核心思想:把learning hierarchy(學習層級)看做一個network,則:
   1.無監督學習用於每一層網路的pre-train;
   2.每次用無監督學習只訓練一層,將其訓練結果作為其higher一層的輸入;
   3.用監督學習去調整所有層