摘要:由于它能用較少的數據訓練深度神經網絡,這使得目前它在深度學習領域非常流行。這種類型的遷移學習在深度學習中最為常用。特征提取另一種方法是使用深度學習找出表述問題的最佳形式,這意味著要找到最重要的特征。
摘要: 到底是遷移學習?什么時候使用它?如何使用它?
所謂遷移學習是指針對新問題重新使用預先訓練的模型。由于它能用較少的數據訓練深度神經網絡,這使得目前它在深度學習領域非常流行。通過這篇文章您將會了解什么是遷移學習,它是如何工作的,為什么應該使用它以及何時可以使用它。同時這篇文章將向您介紹遷移學習的不同方法,并為您提供一些已經預先訓練過的模型的資源。
目錄:它是什么?
怎么運行的
你什么時候應該使用它
遷移學習的方法(訓練一個模型以重用它,使用預訓練模型,特征提取)
受歡迎的預訓練模型
它是什么?在遷移學習中,能夠使用預先訓練模型的問題只能是與之不同但相類似的問題。比如,您訓練了一個簡單的分類器來預測圖像中是否有背包,則可以使用模型在訓練過程中獲得的知識來識別太陽鏡等其他物體。
遷移學習的總體思路是利用已有知識,即一個模型從一項任務中學到的很多被標記的訓練數據可以用在另外一個我們沒有很多數據的新任務中。
遷移學習主要用于需要大量計算能力的計算機視覺和自然語言處理任務,如情感分析。
怎么運行的例如,在計算機視覺領域,神經網絡通常會嘗試檢測早期圖層的邊緣,中間圖層的形狀以及底圖層中的一些特定人物的特征。通過遷移學習,您可以利用最初接受培訓任務留下的早期層和中間層,并僅對底圖層進行重新的訓練。
例如,上述提到的識別背包的訓練模型示例,該模型將用于識別太陽鏡。在早期的圖層中,模型學會識別物體,因此,我們只需重新訓練后一層,這樣它就能了解到太陽鏡和其他物體的區別。
為什么使用它?遷移學習的主要優點是節省訓練時間,在大多數情況下您的神經網絡不需要大量數據就能使得性能更好。
通常情況下,從頭開始訓練一個神經網絡需要大量的數據,但你并不總是能夠獲得足夠的數據。比如自然語言處理(NLP),它需要創建大型標記數據集。而要訓練深度神經網絡有時需要大量時間,這樣您還可以節省大量訓練時間。
據DeepMind Technologies首席執行官Demis Hassabis介紹,Transfer也是最有前途的技術之一,它有朝一日可以引領我們進入人工智能(AGI)領域。
你什么時候應該使用它一種情況是,當滿足以下一點或兩點:(a)您沒有足夠的帶標簽的培訓數據來從頭開始培訓您的網絡(b)已經存在一個預先培訓過的類似任務的網絡,該網絡通常是經過大量數據的培訓的。另一個適用的情況是,任務1和任務2具有類似的輸入。
如果原始模型是使用TensorFlow進行訓練的,您可以簡單地恢復它并為您的任務重新訓練一些層。請注意,只有當從第一個任務中學習的特性具有一般性時,轉移學習才會起作用,這意味著他們對于另一個相關的任務也很有用。此外,模型的輸入需要與初始訓練時的尺寸同步。如果沒有,您需要增加一個預處理步驟,將輸入大小調整到所需大小。
遷移學習的方法1. 訓練一個模型并運用它
舉個例子,你想解決任務A,但沒有足夠的數據來訓練深度神經網絡。但是你有關于與之類似的任務B的大大量數據,您可以在任務B上訓練一個深度神經網絡,并以此模型為出發點來解決您的初始任務A。
您所嘗試解決的問題決定了您是使用整個模型還是僅使用其中的幾層。如果您在兩個任務中有相似的輸入,則可以重新使用該模型并對新輸入進行預測。或者,您也可以更改并重新訓練不同的任務特定圖層或輸入圖層。
2. 使用預訓練模型
這里有很多這樣的模型,所以你需要做一些研究。你可以重復使用多少層,需要再次訓練多少層,很難形成一個通用規則。
例如,Keras提供了九種預先訓練的模型,可用于遷移學習、預測、特征提取和微調。從這里您可以了解到如何使用這些模型。
也有很多研究機構發布了他們已經培訓過的模型。這種類型的遷移學習在深度學習中最為常用。
3. 特征提取
另一種方法是使用深度學習找出表述問題的最佳形式,這意味著要找到最重要的特征。這種方法也被稱為表示學習,并且通常可以獲得比用手工設計的表示更好地性能。
在機器學習的大部分時間里,這些功能都是由研究人員和領域專家手工制作的,好在深度學習可以自動提取特征,但是您仍然需要決定應將哪些功能放入網絡。神經網絡可以了解到你已經投入了哪些功能,哪些是真正重要的,哪些不是。表示學習算法可以在很短的時間內發現一個很不錯的特征組合(就算是需要大量人力的復雜任務也可以做到這一點)。
表示學習也可以用于其他問題。您只需使用第一層來找出特征的正確表示,但由于它任務特定性太強,不能使用網絡的輸出。只需將數據提供給您的網絡,并使用其中一個中間層作為輸出層。這一層可以被解釋為原始數據的表示。
這種方法主要用于計算機視覺領域,因為它可以減少數據集的大小,從而縮短計算時間并使其更適合傳統算法。
受歡迎的預訓練模型
有一些預先訓練好的機器學習模型非常流行,其中之一是Inception-v3模型,該模型經過了ImageNet“大型視覺識別挑戰”的培訓。在這個挑戰中,參與者必須將圖像分為1000個類,如“斑馬”“斑點狗”和“洗碗機”。
在這里,您可以從TensorFlow中看到有關如何重新訓練圖像分類器的教程。
微軟還通過MicrosoftML R軟件包和microsoft Python軟件包提供了一些預先訓練好的模型,可用于R和Python開發。
其他非常流行的模型是ResNet和AlexNet。您可以訪問pretrained.ml,它是一個可排序搜索的預訓練深度學習模型匯編,還有演示和代碼。
本文由阿里云云棲社區組織翻譯。
文章原標題《Transfer Learning》
作者:Niklas Donges
詳情請閱讀原文
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/19734.html
摘要:本篇綜述的重點是回顧當前利用深度神經網絡進行遷移學習的研究及其應用。這篇綜述論文的貢獻如下定義了深度遷移學習,并首次將其分為四類。這就是一個深度遷移學習任務,其中是一個表示深度神經網絡的非線性函數。 論文:A Survey on Deep Transfer Learning論文地址:https://arxiv.org/pdf/1808.01974v1.pdf摘要:作為一種新的分類方法,深度學...
摘要:研究人員稱,其提出的可以無監督地學習并遷移數據單元對之間的依賴關系和圖形表征,并在自然語言處理和計算機視覺任務中取得了很好的效果。表自然語言處理任務中的模型簡化測試。 近日,由卡耐基梅隆大學、紐約大學和 Facebook 的研究者楊植麟、Junbo Zhao 等人提交的論文將遷移學習向前推進了一步。研究人員稱,其提出的 GLoMo 可以無監督地學習并遷移數據單元對之間的依賴關系和圖形表征,并...
閱讀 1328·2021-09-04 16:40
閱讀 3454·2021-07-28 00:13
閱讀 2878·2019-08-30 11:19
閱讀 2610·2019-08-29 12:29
閱讀 3167·2019-08-29 12:24
閱讀 1121·2019-08-26 13:28
閱讀 2386·2019-08-26 12:01
閱讀 3445·2019-08-26 11:35