遷移學習簡介(tranfer learning)

2021-08-13 05:44:45 字數 2717 閱讀 2058

目錄:

一、什麼是遷移學習?

二、為什麼要遷移學習?

三、具體怎麼做?

3.1目標資料和原始資料都有標籤

3.1.1模型fine-tune

3.1.2模型multitask learning

3.2原始資料有標籤,目標資料沒有標籤

3.2.1域對抗 domain-adversarial training

3.2.2零樣本學習 zero-shot learning

四、總結一下

遷移學習將乙個場景中學到的知識遷移到另乙個場景中

達叔也說將來遷移學習也會向現在的機器學習一樣的火

例如將貓狗分類的學習模型遷移到其它相似的任務上面,用來分辨老鷹和布穀鳥(因為都是拍攝的真實,所以屬於相同的域,抽取特徵的方法相同),或者是分別**影象(**影象和真實屬於不同的域,遷移時要消除域之間的差異)

具體有如下方法:

由於在最後一列的兩種情況中,截止寫部落格的時間還應用的不廣,所以就先介紹第一列的兩種情況。

任務現狀:

1. 原始資料和目標資料都有標籤

2. 目標資料很少

基本思想:

1.用原始imagenet訓練乙個效果比較好的模型

2.用訓練好的模型在自己的資料集上進行調優(重點:微微調整,防止過擬合)

模型fine-tune實現方法:

方法1:保守訓練 conservative training

方法2:層遷移 layer transfer

方法1:保守訓練 conservative training

方法2:層遷移 layer transfer

層遷移做法:

規定某些層的引數固定(learning rate設定為0或者很小),不允許抖動。

防止無法無天的變動

問題:應該拷貝哪些層的引數呢?

語音識別問題一般是最後的一些層

影象的通常是開始的一些層

在原來任務和目的任務的效果都不會差組合網路,公用某些層

基本思想:將不同的任務資料線放在一起共同提取出共性,然後分開訓練,已解決具體的問題(捕捉共性以提公升兩個任務的效果)

相比較而言,上圖左邊方式的比較常用

典型應用:不同語種的識別問題上,提取人類語言特性,然後再去識別不同的語言

如下圖任務:識別彩色的識別手寫體

mnist中,資料有標籤

mnist-m中,不使用資料標籤

思想:

兩類不同domain的影象目標:將domain消除掉

實際上識別過程可以分為兩部分:1.抽取特徵(如得到乙個4096維的向量),2.分類(到底是1,2,3···)

那麼我們就可以通過feature區分,如果用feature區分不出來是來自哪個domain的(同時還要保證能分出來1,2,3……),就說明說明成功了

我們需要設定乙個警察,時刻監督是否真的區分不出來是哪個domain

注意:紅色區域表示負責監督的警察,警察要把自己的loss降低,警察的loss越低說明越容易區分,所以要做乙個反向的變換,我越不讓你能區分是哪乙個,如此反覆警察直至分不清(對抗),這樣就得到了通用的特徵。

任務描述:

有了乙個能區分貓和狗的模型,但此時來了乙個之前從未見過的草泥馬,應該怎麼區分呢?

解決思路:

不識別動物本身,只識別動物的屬性,將動物的屬性放在乙個大的資料庫裡面,有了新的樣本,直接對比資料庫中的屬性來區分是哪種動物

在語音識別領域這種思路就像是提取出語言的屬性,所有語言在某些屬性上都很相似,就像是世界通用語言一樣,但不同語言又有獨特的屬性

遷移學習就是將已得到的結果遷移到那些難以解決的問題上去

而問題難以解決的原因大概有兩個:1.資料不夠,2.無法區分

對於問題1可以將原有的model稍微改一下拿過去用,或者共同訓練

對於問題2可以和原問題結合,消除資料間差異(不同域之間的遷移)或劃分屬性(直接拆分後判斷屬性)來將原問題的結果給現問題參考借鑑

遷移學習 自我學習

最近在看ng的深度學習教程,看到self taught learning的時候,對一些概念感到很陌生。作為還清技術債的乙個環節,用半個下午的時間簡單搜了下幾個名詞,以後如果會用到的話再深入去看。監督學習在前一篇部落格中討論過了,這裡主要介紹下遷移學習 自我學習。因為監督學習需要大量訓練樣本為前提,同...

深度學習 遷移學習

遷移學習 把公共的資料集的知識遷移到自己的問題上,即將已經訓練好的模型的一部分知識 網路結構 直接應用到另乙個類似模型中去 小資料集 利用遷移學習,應用其他研究者建立的模型和引數,用少量的資料僅訓練最後自定義的softmax網路。從而能夠在小資料集上達到很好的效果。例如 imagenet 資料集,它...

遷移學習 domain adaption

一 概念 1 learning from scratch 即學乙個cnn網路with random initialization 2 在新的學習任務中,可以利用現有訓練好的imagenet網路提取特徵,去掉最後乙個分類的全連線層,在classifier層之前提取4096維的特徵,這些特徵稱為cnn ...