如何讓訓練神經網路不無聊?試試遷移學習和多任務學習
雷鋒網按:本文為雷鋒字幕組編譯的論文解讀短視頻,原標題Transfer Learning vs Multitask Learning,作者為Ibrahim Sobh。
翻譯 | 李晶 編輯 | 吳璇
訓練深度神經網路是一個乏味的過程。更實際的方法,如重新使用訓練好的網路解決其他任務,或針對許多任務使用相同的網路。這篇文章中,我們會討論兩個重要的方法:遷移學習和多任務學習。
遷移學習
在遷移學習中,我們希望利用源任務學到的知識幫助學習目標任務。例如,一個訓練好的圖像分類網路能夠被用於另一個圖像相關的任務。再比如,一個網路在模擬環境學習的知識可以被遷移到真實環境的網路。
總的來說,神經網路遷移學習有兩種方案:特徵提取和微調。遷移學習一個典型的例子就是載入訓練好VGG網路,這個大規模分類網路能將圖像分到1000個類別,然後把這個網路用於另一個任務,如醫學圖像分類。
1) 特徵提取
特徵提取是針對目標任務把一個簡單的分類器加在源任務上預訓練的網路上,將預訓練的網路作為特徵提取器。僅有添加的分類器的參數需要更新,預訓練的網路的參數不變。這能使新任務從源任務中學習到的特徵中受益。但是,這些特徵更加適合源任務。
2) 微調
微調允許學習目標任務時修改預訓練的網路參數。通常,在預訓練的網路之上加一個新的隨機初始化的層。預訓練網路的參數使用很小的學習率更新防止大的改變。通常會凍結網路底層的參數,這些層學到更通用的特徵,微調頂部的層,這些層學到更具體的特徵。同時,凍結一些層能夠減少需要訓練的參數的數量,避免過擬合問題,尤其時在目標任務數據量不夠大的情況下。實踐中,微調勝過特徵提取因為他針對新的任務優化了預訓練的網路。
遷移學習的基本情形:
遷移學習可以分為4種情形基於以下兩個因素:1)目標任務數據集的大小,2)源任務與目標任務的相似度:
情形1:目標數據集很小,目標任務與源任務相似:這種情況使用特徵提取,因為目標數據集小容易造成過擬合。
情形2:目標數據集很小,目標任務與源任務不同:這時我們微調底層網路,並移除高層網路。換句話說,我們使用較早的特徵提取。
情形3:目標數據集很大,目標任務與源任務相似:我們有了大量的數據,我們可以隨機初始化參數,從頭開始訓練網路。然而,最好還是使用預訓練的網路初始化參數並微調幾層。
情形4:目標數據集很大,目標任務與源任務不同。這時,我們微調大部分層甚至整個網路。
多任務學習
多任務學習的主要目標是通過使用多個任務的樣本優化網路的參數改進任務的性能。例如,我們希望有一個網路可以根據輸入的臉部圖像區分是男性還是女性,同時可以預測這個人的年齡。這時,我們有兩個相關的任務,一個是二分類,一個是回歸任務。顯然兩個任務是相關的,對一個任務的學習可以改進另外一個任務。
一個簡單的網路設計實例,可以在任務和任務之間共享一部分網路。共享部分學習任務通用的中間表達,有助於這些共同的學習任務。另一方面,針對特定的學習任務,特定的頭部會學習如何使用這些共享表達。
對深度學習來說,遷移學習和多任務學習是兩個重要的方法。
博客原址:https://www.linkedin.com/pulse/transfer-learning-vs-multitask-ibrahim-sobh/
更多文章,關注雷鋒網(公眾號:雷鋒網)
添加雷鋒字幕組微信號(leiphonefansub)為好友
備註「我要加入」,To be an AI Volunteer !
4 月 AI 求職季
8 大明星企業
10 場分享盛宴
20 小時獨門秘籍
4.10-4.19,我們準時相約!
新人福利
關注 AI 研習社(okweiwu),回復1領取
【超過 1000G 神經網路 / AI / 大數據資料】
為什麼吳恩達認為未來屬於遷移學習?
![](https://pic.pimg.tw/zzuyanan/1488615166-1259157397.png)
![](https://pic.pimg.tw/zzuyanan/1482887990-2595557020.jpg)
※最實用的 50 篇文章,教你搭建機器學習 APP
※在 fast.ai 課堂上,我總結的 8 個深度學習最佳實踐
TAG:AI研習社 |