何謂遷移學習?

作者 Scott Martin

神經網路的發展不見得就像是開發蠻荒的美國大西部 – 遷移學習利用一個成熟穩定的領域來開拓新局。

你或許已經有份工作,但也可以利用夜間來攻讀碩士學位或參加線上認證課程,運用過去的經驗找到新的工作。

遷移學習(Transfer Learning)就是這個概念,這項深度學習技術讓開發人員能把原先用於另一項任務的神經網路用於另一個新的領域。

我們以影像辨識當成例子來說好了,假設你想辨識馬匹,可是沒有任何公開可用的演算法能完成這件事。透過遷移學習技術,你可以從現有一般用於辨識其他動物影像的卷積神經網路開始,並且加以調整,用馬匹的影像進行訓練。

派 ResNet 上場救援

開發人員說不定能從可精準辨識貓狗圖案的 ResNet-50 開始,這是一個五十層的預先訓練深度學習模型。在這個神經網路裡,每一層用以辨識動物的輪廓、曲線、線條及其它識別特徵,每一層又需要大量有著標籤的訓練資料,所以使用這些層能省下大把時間。

這些層可用於對部分馬匹特徵進行相同的辨識作業,像是用 ResNet-50 來辨識馬的眼睛、耳朵、腿和輪廓,不過可能還要加入其它的訓練資料,才能判斷影像裡的動物是馬而非狗。

加上投入其它有著標籤的馬匹影像訓練資料進行額外訓練,可以在模型裡建立更多馬匹特定特徵。

介紹遷移學習

以下是遷移學習的工作原理:先刪除所謂的「損失輸出結果」層,這是用於預測的最後一層,換成用於預測馬匹的新損失輸出結果層。這個損失輸出結果層是一個微調節點,用於判斷訓練如何處分有標籤的資料與預測輸出結果間的偏差。

接著投入少量馬匹影像資料組,在整個五十層神經網路上,或是在最後幾層上,或是光是在損失層上進行訓練。運用這些遷移學習技術,在新的卷積神經網路上最終輸出結果便能辨識馬匹圖案。

單字和語音!

遷移學習並非只能用於辨識影像而已,通常用於辨識語音的遞歸神經網路也可以使用遷移學習技術。不過這需要兩組相似的語音相關資料集,像是來自舊模型的一百萬個小時語音內容,加上為新任務特別錄製的十小時語音內容。

同樣要先刪除這個新的神經網路的損失層,這個部分跟對卷積神經網路的作法是相似的。接著可以在這個位置建立兩個層或更多層,使用新的語音資料來訓練神經網路,並且投入新的損失層以對語音進行預測。

百度的 Deep Speech 神經網路提供了一個快速入門的語音轉文字模型,有機會用遷移學習來培養出特殊的語音功能。

為何要使用遷移學習?

若你想用神經網路來處理的新領域沒有充足的資料,而原先就有一個龐大的資料池可以用來解決這個問題,那麼遷移學習就能派上用場。

說不定你手邊只有一千個馬匹的影像,但是利用過去已經投入百萬個影像完成訓練的現有卷積神經網路(像是 ResNet),便可獲得大量的中低階特徵定義。

開發人員和資料科學家若想利用遷移學習功能來加快訓練人工智慧的工作流程,NVIDIA Transfer Learning Toolkit 提供了 GPU 加速的預先訓練模型和功能,可對智慧影片分析和醫學成像等多個領域的模型進行微調。

部署時可使用 IVA 和醫學成像專用 Transfer Learning Toolkit,通過端到端的深度學習工作流程來推出應用程式。

還有利用一點時間完成幾堂線上課程,你就可以變成公司裡的專家,為自己開啟嶄新的工作機會。

https://soundcloud.com/theaipodcast/how-jason-antic-used-deep-learning-to-make-old-photos-look-new-ep-73