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