轉移學習:更智能,更快的AI開發的快捷方式
已發表: 2025-02-04重複使用和適應預先訓練的AI模型正在改變處理機器學習(ML)任務的方式。轉移學習是一種有效且具有成本效益的方法,可以使大型和復雜的AI系統適應新的領域和問題。在本指南中,我們將探討轉移學習的關鍵方面:它的工作原理,其各種類型和應用以及其優勢和挑戰。
目錄
- 什麼是轉移學習?
- 轉移學習如何工作?
- 轉移學習與微調
- 轉移學習類型
- 轉移學習的好處
- 轉移學習的挑戰
- 轉移學習的應用
什麼是轉移學習?
轉移學習是一種強大的機器學習技術,它利用預先培訓的模型來完成不同但相關的任務。它使用在現有模型中捕獲的一般知識作為基礎,以學習如何在更具體的相關域中解決問題。
轉移學習提供了幾種優勢:它加速了定制人工智能(AI)應用程序的開發和部署,降低資源成本,並且通常比從頭開始建立模型更好的性能。結果,轉移學習對於旨在開發專業的AI解決方案的組織特別有價值,而沒有大量數據或計算能力通常需要從頭開始訓練模型。
轉移學習的示例
考慮想要創建AI系統來檢測產品缺陷的製造商的示例。一種選擇是聘請專業的ML從業人員,收集和策劃數百萬相關的產品圖像,並擱置從頭開始訓練模型所需的時間和計算資源。轉移學習提出了一個更好的選擇:製造商可以從已經在大型標準化圖像數據集(例如ImageNet)上完成昂貴且耗時的培訓的型號開始。然後,製造商可以快速有效地使用轉移學習來調整模型以檢測特定產品圖像中的缺陷。
轉移學習如何工作?
轉移學習將預先訓練的模型的通用知識調整為新的,相關的任務。該過程通常涉及三個關鍵步驟:
- 選擇適當的預訓練模型
- 更新模型的體系結構
- 培訓模型的新數據
1。選擇一個預訓練的模型
第一步是選擇一個已經在與目標任務相關的域中的數據集上訓練的模型。預先訓練的模型應該學到了與新應用程序相關的一般和高級功能。
- 醫療保健中的示例:醫療保健組織可能是從NIH(美國國立衛生研究院)ChestX-Ray14數據集進行的模型開始的,該模型包含大量標記的醫學圖像。該模型將學習一般特徵,例如如何結構X射線圖像以及生物學特性如何與圖像組件相關。該模型可以作為為位於胸部區域的特定狀況開發診斷工具的基礎,並在X射線圖像(如肺炎或肺癌)上可見。
- 財務示例:財務企業可能會使用Finbert,這是經財務文件,收入電話和監管申請的模型。該模型將學習一般特徵,例如財務語言結構以及指示市場情緒和業務績效的特定術語。 Finbert模型可以成為更專業功能的基礎,例如在收益報告中自動標記有關陳述的自動標記。
選擇正確的預訓練模型涉及確保其原始培訓與預期應用良好,因為這增加了成功適應的可能性。
2。修改模型體系結構
一旦選擇了合適的預訓練模型,就可以對其架構進行調整以適合新任務。此步驟通常包括:
- 替換輸出層:為原始任務設計的預訓練模型的最終層被刪除並用新的特定任務特定層(例如,用於分類的完全連接的層)。
- 保留一般特徵:經常保留內部圖層,它們的內層捕獲了可概括的模式,例如圖像中的邊緣或文本中的語言關係中的邊緣。這些功能可以有效地轉移到相關任務。
體系結構修改的程度取決於特定用例以及源和目標任務之間的相似程度。
3。培訓模型的新數據
在最後一步中,修改模型在針對新任務的數據集上進行了培訓。可以通過兩種主要方式來實現此步驟,具體取決於數據集大小和任務之間的相似性:
- 功能提取:
- 只有新添加的圖層經過訓練,而原始層保持不變。
- 當新任務與原始任務密切相關或目標數據集很小時,此方法是理想的選擇。
- 微調:
- 整個模型進行了重新培訓,但具有較小的數據集和學習率,以避免失去訓練階段中學到的寶貴特徵。
- 這種方法更適合大型數據集或新任務與原始任務顯著不同時。
無論採用哪種方法,目標都是將模型暴露於足夠的相關數據,使其能夠有效地學習和推廣。
轉移學習與微調
轉移學習通常與微調混淆。儘管這些概念密切相關,但存在顯著差異。最重要的是,轉移學習是針對新目的調整預訓練模型的總體過程,並且可能涉及或不涉及微調。另一方面,微調是用於重新訓練某些模型參數的幾種技術之一,作為整體傳輸學習過程的一部分。微調不僅是轉移學習的一部分;它在轉移學習之外的ML中具有其他上下文中的應用程序,例如改善數據的特定亞組模型性能或將模型調整以轉移數據分佈。
此外,轉移學習通常需要對模型的體系結構進行實際更改,例如去除和替換現有層或重組層之間的連接。相比之下,微調通常涉及小,精確的參數調整,而無需對體系結構進行重大更改。
將轉移學習視為裝修設計用於一個目的的建築物,以便將其用於另一個目的,例如將車庫轉換為公寓。這可能涉及結構更新,例如安裝窗口,絕緣材料,甚至添加新房間和實用程序連接。另一方面,微調更像是將車庫用作額外的工作區,而無需對結構進行重大更改。例如,可能會更換燈,並可能添加新的貨架,但是車庫的整體結構和建築保持不變。
轉移學習類型
轉移學習可以採用幾種形式,每種形式都適合特定情況。適當的類型取決於因素,例如目標域中標記的數據的可用性,源和目標任務之間的相似性以及特定的業務需求。轉移學習的主要類型是感應轉移學習,轉移性轉移學習和無監督的轉移學習。此外,諸如少數學習和零射擊學習之類的現代方法通常會利用轉移學習技術。

歸納轉移學習
歸納轉移學習是最常見的轉移學習類型,當目標和源任務密切相關並且非常不同時使用。
示例:醫療保健組織可能會使用轉移學習來調整經過訓練的模型,以對一般MRI圖像進行分類以檢測特定的大腦狀況。
在這種情況下,源模型的一般視覺識別能力可以很好地傳輸到目標任務,但是需要在目標域中標記的數據。轉移學習對於可用新標籤的任務特別有效,但是任務本身與源的(通常是更專業的版本)不同。
跨傳輸學習
在跨傳輸學習中,源和目標任務是相同的,但是問題域是不同的。
示例:可以在英語電子郵件中培訓的垃圾郵件過濾器可以適應法語電子郵件分類。在這種情況下,即使詞彙和語言模式有所不同,源模型的文本模式識別和對電子郵件結構的理解也可以很好地傳輸到目標任務。任務(電子郵件分類)保持不變,但是數據(語言)有所不同。當源域具有豐富的標記數據並且目標域幾乎沒有或沒有時,此方法很有用。
無監督的轉移學習
當目標域內無法使用標記的數據時,使用無監督的轉移學習。通常,這種類型的轉移學習用於訓練模型,以執行無監督的任務,例如聚類或降低維度。
示例: IT組織可能會使用無監督的轉移學習來幫助AI驅動的威脅檢測系統確定新的威脅類型,而無需標記示例。
在這種情況下,該模型可以將其對正常模式與潛在威脅的一般理解轉移到新的,以前未知的威脅類型上。
幾乎沒有學習
幾乎沒有射擊學習(FSL)是一種ML技術,它使用轉移學習來幫助模型從非常有限的數據中學習。在FSL中,模型僅使用幾個示例學習執行新任務或分類。
示例:面部識別模型只能基於一兩個照片來識別一個新個人。
零擊學習
零射擊學習(ZSL)是一種ML技術,可幫助模型學習在培訓中看不到的新課程。 ZSL通常使用轉移學習概念,但依靠語義關係和輔助信息將學習知識推廣到新類別。
示例:一個模型可能會學會根據其對其他類型的魚類的理解及其對羅非魚是一種魚類的理解,儘管在訓練中從未見過羅非魚,但他的知識也可以學會識別羅非魚。
轉移學習的好處
轉移學習為尋求開發量身定制的AI解決方案的組織提供了一些優勢。這些包括減少開發和資源需求,良好的數據性能以及改進的模型魯棒性。
減少的開發和資源需求
轉移學習是同時縮短開發週期並減少AI應用程序資源要求的好方法。從頭開始建立模型涉及收集,清潔和標記數據,這是在培訓開始之前。通過轉移學習,發展和部署成為幾週甚至幾個月的問題。從頭開始訓練模型通常需要大量的計算時間和功能,而轉移學習則不需要。這意味著組織可以將其AI解決方案更快地帶到市場上,並以較少的開銷。
數據有限的良好性能
傳輸學習可以使模型的性能良好,即使培訓數據集有限。對於像製造業或醫療保健等專業領域的組織非常有用,在這些組織中,標有標籤的數據很難找到或購買昂貴。例如,醫療保健組織可能只有幾百個標記的特定醫療狀況示例,但無論如何都可以使用轉移學習來構建性能檢測系統。
改善模型的魯棒性和可靠性
雖然看起來不直覺,但通過轉移學習訓練的模型通常比從頭開始訓練的模型在有限的數據上訓練。這是因為用於預訓練的大規模數據集提供了可推廣到更具體的域和任務的各種模式和功能。此外,從已經進行測試的模型開始,可以降低模型故障的風險並提高可靠性。在醫療保健和金融等受監管行業中,這種降低風險降低至關重要。
轉移學習的挑戰
儘管有很多好處,但轉移學習也有一些挑戰和局限性。組織必須了解這些挑戰,以便他們可以設計正確的實施策略並具有現實的期望。這些挑戰包括負轉移,域不匹配和模型選擇。
負轉移
在負面轉移中,來自源域的知識阻礙了學習目標任務,並導致預先訓練的模型的性能要比從頭開始訓練的一個訓練差。這是轉移學習最常見的挑戰之一,通常是在目標和源域太差異時發生的。例如,如果適應醫學圖像分析,則經過訓練以對圖像進行分類的計算機視覺模型可能會表現不佳,因為學習的功能與新任務無關。在試圖對醫療掃描進行分類時,有助於區分狗品種的功能,例如毛皮質地,尾部長度和耳朵形狀,沒有有意義的應用。組織應仔細比較來源和目標域,以避免負面轉移。
域不匹配
當可用於源和目標域的數據之間的差異降低模型性能時,域不匹配發生。這些差異可以包括數據質量或分佈的變化。與負轉移不同,遭受域不匹配的模型可能仍然比從頭開始訓練的一個訓練的模型表現更好。例如,在大型貓圖像數據集上訓練的模型在識別狗方面表現不佳。但是,通常,該模型仍然比在一組狗圖像上訓練的模型通常會做得更好。
模型選擇和修改
選擇適當的預訓練模型並弄清楚如何修改它可能是複雜且耗時的。組織需要考慮各種因素,包括來源和目標域之間的一致性,可用的基礎架構和人事資源,培訓數據集的規模和質量以及模型體系結構。此外,經過預訓練的模型通常是考慮到可能並不明顯的假設和依賴性的。選擇適當的模型並進行正確的修改需要專業知識,實驗時間以及並非所有組織都可以訪問的基礎架構。
轉移學習的應用
轉移學習是為特定任務或域創建AI系統的一種更容易,更可靠的方法,而不是建立新模型。隨後,該技術發現了廣泛的採用,並且具有許多應用,包括計算機視覺,自然語言處理(NLP)以及語音識別和發電。
計算機視覺
轉移學習在計算機視覺方面非常成功。組織可以使用預先訓練的視覺模型相對輕鬆地創建自定義視覺應用程序,這些模型從數百萬張圖像中學習了可推廣的功能。例如,安全公司可以調整預先訓練的計算機視覺模型,以檢測監視供稿中的可疑行為或確定感興趣的特定對象,所有這些都沒有大量的培訓數據或專門的模型開發。
自然語言處理(NLP)
轉移學習的主要應用是培訓模型來處理特定的NLP任務。例如,法律公司可以選擇預先培訓的NLP模型作為文檔分析工具的基礎,然後教導該模型使用轉移學習來處理特定的法律領域。
言語識別和一代
轉移學習還用於培訓用於專業語音應用的模型。例如,呼叫中心可以調整廣泛的語音模型,以了解特定於行業的術語並創建更量身定制的自動化客戶服務系統。另一個例子是使用轉移學習來量身定制經過一般語言任務的語音命令模型,以處理特定的方言和語言。