訓練與最佳化

遷移學習

從零訓練一個強大的視覺模型需要龐大的標註資料集與大量計算,而多數專案並不具備。遷移學習繞過這點:重用模型在學習一個大型、通用任務時已獲得的知識,並把它應用到你較小、較特定的任務上。直覺是你不必為每個新問題從零重新學「怎麼看」:一個學會辨識上千類物體的模型,已發現如何偵測邊緣、紋理、形狀與部件,而這些視覺積木對幾乎任何影像任務都有用——辨識你工廠的瑕疵、分類醫學掃描,或偵測一種新物體。

其機制是特徵重用。你拿一個在大型來源資料集上預訓練的模型(經典上是 ImageNet,如今常是透過 CLIP 等模型或 DINO、MAE 等自監督方法在網路規模資料上訓練的),保留它學到的權重,並把它調適到目標任務,而非從隨機初始化開始。這之所以有效,是因為深度網路學到的特徵是階層式的、並隨深度越來越任務特定:早期層學到通用、可遷移的基元(邊緣與色彩偵測器,在所有視覺模型間看起來幾乎相同),中間層學到紋理與圖樣,只有最後幾層學到來源任務的特定類別。遷移保留通用的下層、替換或調整特定的上層。

最簡單的形式是把預訓練網路當作固定的特徵擷取器:凍結它所有的權重,讓你的影像穿過它得到特徵向量,只在其上訓練一個新的輕量分類器(常是單一線性層——「線性探測(linear probing)」)。這很快、需要的資料少、也難以過擬合。較豐富的形式是微調,你還會以小學習率繼續訓練部分或全部的預訓練權重,使特徵調適到你的領域。選哪一種主要取決於你有多少目標資料、以及你的領域離來源有多遠。

當你的目標資料集很小且與來源領域有合理關聯時,遷移學習最有幫助——這正是常見情況——它能把不可能的任務變成例行任務,並大幅縮短訓練時間。它的極限出現在領域劇烈分歧時(自然影像特徵遷移到例如原始雷達或某些醫學模態時表現不佳),那裡通用的早期層特徵仍有幫助,但較後的層可能需要大量重新訓練、甚至有害(負遷移)。在巨量、多樣資料上預訓練的基礎模型把那些極限往外推,使遷移成為幾乎所有現代電腦視覺的預設起點。

把前處理對齊到預訓練模型,而非你自己的習慣:若某骨幹是在以特定 ImageNet 平均/標準差正規化、尺寸 224×224 的影像上訓練的,餵給它正規化方式或尺寸不同的輸入會劣化遷移來的特徵,原因易被忽略、又難以除錯。

又稱
pretraining and transferfeature reuse