What is being transferred in transfer learning?

MTandHJ發表於2020-10-07

Neyshabur B., Sedghi H., Zhang C. What is being transferred in transfer learning?
arXiv preprint arXiv 2008.11687, 2020.

遷移學習到底遷移了什麼?

主要內容

  • T: 普通訓練的模型
  • P: 預訓練的模型
  • RI: 隨機初始化的模型
  • RI-T: 隨機初始化再經過普通訓練的模型
  • P-T: 在預訓練的基礎上再fine-tuning的模型

本文的預訓練都是在ImageNet上, 然後在CheXpert和DomainNet(分為real, clipart, quickdraw)上測試.

在這裡插入圖片描述

feature reuse

大家認為遷移學習有用的一個直覺就是遷移學習通過特徵的複用來樣本少的資料提供一個較好的特徵先驗.

在這裡插入圖片描述
在這裡插入圖片描述

通過上面的圖可以看到, P-T總是能夠表現優於RI-T, 這能夠支撐我們的觀點. 但是, 為什麼資料差別特別大的時候, 預訓練還是有用呢(此時feature reuse的作用應該不是很明顯)? 作者將圖片按照不同的block size打亂(就像最開始的那些亂七八糟的圖片). 這個時候, 模型應該只能抓住淺層的特徵, 抽象的特徵是沒法被很好提取的, 結果如下圖所示.

  • 當打亂的程度加劇(block size變小), 任務越發困難;
  • 相對正確率差距 ( A P − T − A R I − T ) / A P − T % (A_{P-T}-A_{RI-T})/A_{P-T} \% (APTARIT)/APT%隨著block size減小而減小(clipart, real), 這說明feature reuse很有效果, quickdraw 相反是由於其資料集和預訓練的資料集相差過大, 但是即便如此, 在quickdraw上預訓練還是有效的, 說明存在除了feature reuse外的因素;
  • P-T的訓練速度(右圖)一直很穩定, 而RI-T的訓練速度則在block size下降的時候有一個急劇的下降, 這說明feature reuse並不是影響P-T訓練速度的主要因素.

在這裡插入圖片描述

mistakes and feature similarity

這部分通過探究不同模型有哪些common和uncommon的mistakes來揭示預訓練的作用.

P-T在簡單樣本上的成功率很高, 而在比較模糊難以判斷的樣本上比較難(而此時RI-T往往比較好), 這說明P-T有著很強的先驗.

通過 centered kernel alignment (CKA) 來衡量特徵之間的相似度:
在這裡插入圖片描述
可以發現, 基於預訓練的模型之間的特徵相似度很高, 而RI-T與別的模型相似度很低, 即便是兩個相同初始化的RI-T. 說明預訓練模型之間往往是在重複利用相同的特徵.

下表為不同模型的引數的 ℓ 2 \ell_2 2距離, 同樣能夠反映上面一點.
在這裡插入圖片描述

loss landscape

Θ , Θ ~ \Theta, \tilde{\Theta} Θ,Θ~表示兩個checkpoint的引數, 通過線性插值
{ Θ λ = ( 1 − λ ) Θ + λ Θ ~ : λ ∈ [ 0 , 1 ] } , \{\Theta_{\lambda} = (1- \lambda) \Theta + \lambda \tilde{\Theta}: \lambda \in [0, 1]\}, {Θλ=(1λ)Θ+λΘ~:λ[0,1]},
考量模型在 Θ λ \Theta_{\lambda} Θλ下的表現.

在這裡插入圖片描述
上圖, 左為DomainNET real, 右為quickdraw, 可見預訓練模型之間的loss landscape是很光滑的, 不同於RI-T.

module criticality

如果我們將訓練好後的模型的某一層引數替換為其初始引數, 然後觀察替換前後的正確率就能一定程度上判斷這個層在整個網路中的重要性, module criticality就是一個這樣的類似的指標.
在這裡插入圖片描述

下圖反映了不同模型的不同層的criticality.
在這裡插入圖片描述

下圖反映了RI-T的訓練後的引數 θ \theta θ其實加了擾動反而效能更好? 而P-T的就相當穩定.

在這裡插入圖片描述

pre-trained checkpoint

我們選pre-trained模型的時候, 往往是通過正確率指標來判斷的, 但是事實上, 這個判斷並不十分準確, 事實上我們可以早一步地選取checkpoint (直觀上理解, 大概是隻要引數進入了那個光滑的盆地就行了).

在這裡插入圖片描述

相關文章