如何讓訓練神經網路不無聊?試試遷移學習和多工學習
訓練深度神經網路是一個乏味的過程。更實際的方法,如重新使用訓練好的網路解決其他任務,或針對許多工使用相同的網路。這篇文章中,我們會討論兩個重要的方法:遷移學習和多工學習。
遷移學習
在遷移學習中,我們希望利用源任務學到的知識幫助學習目標任務。例如,一個訓練好的影像分類網路能夠被用於另一個影像相關的任務。再比如,一個網路在模擬環境學習的知識可以被遷移到真實環境的網路。
總的來說,神經網路遷移學習有兩種方案:特徵提取和微調。遷移學習一個典型的例子就是載入訓練好VGG網路,這個大規模分類網路能將影像分到1000個類別,然後把這個網路用於另一個任務,如醫學影像分類。
1特徵提取:
特徵提取是針對目標任務把一個簡單的分類器加在源任務上預訓練的網路上,將預訓練的網路作為特徵提取器。僅有新增的分類器的引數需要更新,預訓練的網路的引數不變。這能使新任務從源任務中學習到的特徵中受益。但是,這些特徵更加適合源任務。
2微調:
微調允許學習目標任務時修改預訓練的網路引數。通常,在預訓練的網路之上加一個新的隨機初始化的層。預訓練網路的引數使用很小的學習率更新防止大的改變。通常會凍結網路底層的引數,這些層學到更通用的特徵,微調頂部的層,這些層學到更具體的特徵。同時,凍結一些層能夠減少需要訓練的引數的數量,避免過擬合問題,尤其時在目標任務資料量不夠大的情況下。實踐中,微調勝過特徵提取因為他針對新的任務優化了預訓練的網路。
遷移學習的基本情形:
遷移學習可以分為4種情形基於以下兩個因素:1)目標任務資料集的大小,2)源任務與目標任務的相似度:
情形1:目標資料集很小,目標任務與源任務相似:這種情況使用特徵提取,因為目標資料集小容易造成過擬合。
情形2:目標資料集很小,目標任務與源任務不同:這時我們微調底層網路,並移除高層網路。換句話說,我們使用較早的特徵提取。
情形3:目標資料集很大,目標任務與源任務相似:我們有了大量的資料,我們可以隨機初始化引數,從頭開始訓練網路。然而,最好還是使用預訓練的網路初始化引數並微調幾層。
情形4:目標資料集很大,目標任務與源任務不同。這時,我們微調大部分層甚至整個網路。
多工學習
多工學習的主要目標是通過使用多個任務的樣本優化網路的引數改進任務的效能。例如,我們希望有一個網路可以根據輸入的臉部影像區分是男性還是女性,同時可以預測這個人的年齡。這時,我們有兩個相關的任務,一個是二分類,一個是迴歸任務。顯然兩個任務是相關的,對一個任務的學習可以改進另外一個任務。
一個簡單的網路設計例項,可以在任務和任務之間共享一部分網路。共享部分學習任務通用的中間表達,有助於這些共同的學習任務。另一方面,針對特定的學習任務,特定的頭部會學習如何使用這些共享表達。
原文釋出時間為:2018-05-29
本文來自雲棲社群合作伙伴“雷鋒網”,瞭解相關資訊可以關注“雷鋒網”。
相關文章
- 機器學習之訓練神經網路:最佳做法機器學習神經網路
- 深度學習與CV教程(6) | 神經網路訓練技巧 (上)深度學習神經網路
- 【機器學習】李宏毅——類神經網路訓練不起來怎麼辦機器學習神經網路
- 再無需從頭訓練遷移學習模型!亞馬遜開源遷移學習資料庫 Xfer遷移學習模型亞馬遜資料庫
- 如何應對訓練的神經網路不工作?神經網路
- 動手學深度學習第十四課:實現、訓練和應用迴圈神經網路深度學習神經網路
- 神經網路學習參考神經網路
- 深度學習-Tensorflow2.2-預訓練網路{7}-遷移學習基礎針對小資料集-19深度學習遷移學習
- 如何通過 JavaScript 實現機器學習和神經學網路?JavaScript機器學習
- 深度學習 | 訓練網路trick——mixup深度學習
- 【卷積神經網路學習】(4)機器學習卷積神經網路機器學習
- 深度學習與圖神經網路學習分享:CNN 經典網路之-ResNet深度學習神經網路CNN
- 再談遷移學習:微調網路遷移學習
- 再聊神經網路與深度學習神經網路深度學習
- AI之(神經網路+深度學習)AI神經網路深度學習
- 【深度學習】神經網路入門深度學習神經網路
- 深度學習與圖神經網路深度學習神經網路
- 機器學習整理(神經網路)機器學習神經網路
- 【深度學習篇】--神經網路中的卷積神經網路深度學習神經網路卷積
- 零基礎入門深度學習(一):用numpy實現神經網路訓練深度學習神經網路
- 機器學習之多類別神經網路:一對多機器學習神經網路
- 【機器學習基礎】神經網路/深度學習基礎機器學習神經網路深度學習
- 漸進學習前饋神經網路神經網路
- 【深度學習】1.4深層神經網路深度學習神經網路
- 深度學習三:卷積神經網路深度學習卷積神經網路
- 人工神經網路:競爭型學習神經網路
- 深度學習教程 | 深層神經網路深度學習神經網路
- 3.3 神經網路的訓練神經網路
- 原始碼分析——遷移學習Inception V3網路重訓練實現圖片分類原始碼遷移學習
- 邱錫鵬 神經網路與深度學習課程【十三】——無監督學習和概率圖模型1神經網路深度學習模型
- 微軟研究團隊使用遷移學習,訓練現實世界中的無人機微軟遷移學習無人機
- 卷積神經網路學習筆記——Siamese networks(孿生神經網路)卷積神經網路筆記
- 吳恩達機器學習筆記 —— 9 神經網路學習吳恩達機器學習筆記神經網路
- 深度學習與圖神經網路學習分享:Graph Embedding 圖嵌入深度學習神經網路
- 機器學習之光:神經風格遷移的直觀指南!機器學習
- 網路安全學習要多長時間?滲透測試技術學習
- Python深度學習(在小型資料集上從頭開始訓練一個卷積神經網路)--學習筆記(十)Python深度學習卷積神經網路筆記
- 【機器學習】搭建神經網路筆記機器學習神經網路筆記