0%
回數據與人工智慧

AI 入門:25 移轉學習

解決方案顧問 王慶祥 (Mike Wang)
2024/4/24 (三)
在接下來的介紹中,我們將深入探討「移轉學習」的原理、方法與應用,您是否也對移轉學習充滿好奇與想像呢?感緊往下閱讀認識更多移轉學習的知識與概念吧!

想像一下,當我們進入一個新的領域,必須學習如何熟悉其中的新事物,而在沒有過去經驗的指導下,這項任務可能會讓人感到困惑。例如,一個從未有過烹飪經驗的人可能會對在傳統市場採買食材這件事感到陌生,甚至得需要透過嘗試錯誤 (Trial-and-error) 的方式才能完成。好在,我們可以參考自己過去在其他相關領域的經驗(例如陪著家人在超市或大賣場購物的經驗),來指導我們在新領域中的行為。這種利用在某種情況下獲得的學習知識來協助另一種情況的能力被稱為"移轉 (Transfer)"。因此,無論是一位正在取得碩士學位的學生,還是一位希望持續擁有市場最新技術的專業人員,都能夠將在一種情況下學習到的經驗與知識移轉到新的領域中。這個能力的重要性再怎麼強調都不過分。

AI-28-Course-25

在機器學習(ML)領域,尤其是深度學習(DL)領域,移轉學習 (Transfer learning) 是一種設計方法 (Design methodology),它的概念是利用已經在某個任務中訓練好的模型來解決另一個不同但又有點相關的問題。例如,若您訓練了一個簡單的分類器 (Classifier) 來預測一張圖片是否包含一朵花,您可以利用這個模型在訓練期間學習到的知識來識別其他物體,例如昆蟲或鳥類。基本上,移轉學習試圖利用在一個任務中學到的知識來提升對另一個任務的概括能力 (Generalization)。

就本質上而言,移轉學習並非屬於一種 ML/DL 技術,但它已經變得相當普遍,因為它能夠讓深度神經網路利用相對較少的資料進行訓練。這一點很重要,大多數現實世界的問題,通常缺乏數以百萬計的標記資料 (Labeled data) 可用來訓練複雜的神經網路模型。因此,移轉學習的好處除了可以減輕對大量資料的需求,還可以節省訓練時間、訓練成本和提高模型性能所需的運算資源。

儘管移轉學習擁有實用上的價值,但要在不同任務之間成功地應用它仍然需要一定程度的技巧和經驗。一般而言,移轉學習適用於兩個任務之間存在一些共同點的情況,例如類似的輸入、類似的特徵或相似的問題結構。正如資料科學領域經常遇到的難題:很難找到一體適用的規則,來決定要使用哪個機器學習方法。然而,以下是一些基本準則,可以幫助您判斷何時適合使用移轉學習:

  • 無法取得足夠的已標記訓練資料,可以從頭開始訓練一個神經網路;
  • 已經存在一個在大量資料上被訓練來執行類似任務的神經網路;
  • 需要建立一個新的神經網路,但已經有一個預先訓練好,具有相同輸入資料的神經網路可供使用。

然而需要注意,移轉學習只有在從第一個任務中學到的特徵具備泛化的特性 (Generalization),才能將這個神經網路應用於其他相關的任務。回想第 22 堂課提到的 CNN,第一個任務中學到的特徵可以類比為神經網路隱藏層的第一層,它主要萃取一些通用的特徵,例如圖像分類的神經網路,第一個卷積層找出來的都是圖像的基本特徵,像是邊角與線條等。因此,若採用移轉學習,我們可以基於這個預先建立的圖像分類神經網路,從第二個卷積層開始訓練我們的資料。此外,新模型的輸入資料必須具備與已訓練模型相同的特徵數量。如果特徵數量過多,可使用降維的方式減少輸入資料的特徵。

對於常見的深度學習任務(例如圖像分類),實務上有幾個預先訓練的模型可供使用,資料科學家通常都會把它們當作移轉學習的基礎模型。其中最受歡迎的是 Inception-v3,它是一個 CNN 模型,已經在 ImageNet 資料庫的 100 多萬張圖片上完成了訓練。其他的模型還包括 ResNet、AlexNet,以及 MicrosoftML 函式庫(它是由 Microsoft 提供的 Python 函式庫,為 SQL Server 機器學習服務提供高性能的 ML 演算法)。

參考資料:無

想了解更多,歡迎追蹤北祥科技服務的粉專喔~

robot
您好!有什麼能為您服務的嗎?
嗨寶