# Larger Norm More Transferable: An Adaptive Feature Norm Approach for Unsupervised Domain Adaptation 閱讀理解 ## abstract 這篇論文主要在討論 domain adaptation 的概念和其方法,稱為 adaptive feature norm。 主要在解決目標任務中出現的模型降級問題。 文章中發現,目標領域的特徵規範小於原本領域的特徵規範(將樣本做標準化),進而導致了不穩定的區分能力,而這個方法僅需少量的程式碼和簡單的方法就能達到目前該領域的頂尖等級。 ## introduction 目前透過深度學習技術在電腦視覺上取的了顯著的進步,但模型泛化(指在未見過的資料上的表現能力)到新場景時會很脆弱,即使是微小偏差也會導致模型退化,因此 UDA 透過使用有標記的原始樣本和未標記的目標域樣本進行訓練,透過調整原始領域和目標領域間的分布差異來調整模型,使其更好的泛化到目標域。 目前觀察出兩個可能的退化原因: 1. 沒有對齊特徵規範假設:代表原始樣本和目標樣本間的特徵規範差異造成了這種差異,如果可以對齊兩者的差異可能可以讓模型在目標樣本有類似的效果。 2. 較小特徵規範假設:任未造成退化的原因是較小的特徵會缺乏足夠的辨識訊息,因此應把目標領域的特徵調整到大一點。 在這篇文章中,提出了一種簡單有效的統計距離來表示平均特徵規範差異,並透過 Hard AFN 來縮小差異,主要方法是透過限制兩個領域的預期特徵規範來減少兩者差距,由此可得知對齊確實可以改善結果。 之後提出了 stepwise AFN ,鼓勵樣本在不同領域逐漸擴大特徵規範,結果也表明了透過轉移到大規範區域比對齊更加有效,而實驗中也發現,較大的規範任務也更具可轉移性,透過修剪一些不必要的元素或路徑,將任務更好的進行轉移。 在Domain Adaptation下,負轉移來自共享類別和原始資料中的不相關數據,因此論文中提出了一些協議來評估魯棒性,最後根據資料,本篇論文貢獻如下: 1. 模型退化的主因來自於目標領域的特徵規範鄉對於原始領域過小 2. 提出了一種新的無監督自適應 AFN 方法,逐步適應兩領域的特徵規範到大的範圍,且程式碼簡單有效。 3. 統一了普通和部份Domain Adaptation的計算,讓自適應方法更加監固。 4. 實驗結果證實此方法潛力超越了最新技術水準。 ## method ### preliminary 假設給定 source domain $Ds = \{(x^s_i, y^s_i)\}_{i=1}^{n}$,並帶有 $|C_s|$ 種標籤,target domain 為 $Dt = \{(x^t_i, y^t_i)\}_{i=1}^{n}$,並帶有 $|C_t|$ 種標籤。 有兩種設置方法: 1. 基本設置:原始領域和目標領域共享標籤空間, $C_s = C_t$ 2. 部份設置:原始領域包含目標領域標籤空間,$C_s ⊃ C_t$,而在 $C_s$ 但不再 $C_t$的則與目標任務無關。 ### Framework 下面這張圖代表了這篇文章使用的 framework,首先會有一個骨幹網路 G ,可以視為通用特徵提取模組,繼承了目前流行的架構如 RestNet。 F則是分類器,有 I 格連接層,將前面 I-1 層得到的特徵嵌入後通過 softmax 得到 cls_loss。 ![image](https://hackmd.io/_uploads/Hko0G9ilA.png) ### Hard Adaptive Feature Norm 首先,針對未對齊特徵規範的假設,本文首先提出了 MMFND(Maximum Mean Feature Norm Discrepancy),並以此來驗證是否可以透過對齊獲得可觀效益。 下面是 MMFND 的公式 ![image](https://hackmd.io/_uploads/BJQgzise0.png) H 就是前面提到先通過 G 獲取通用特徵,然後透過分類器前 I-1 層提取任務相關的特徵表示,並對得到的特徵向量進行 L2 規範計算得到特徵表示 h(x)的所有可能。 R 則是限制,因為如果不加以限制,上界可能偏離太多。 ![image](https://hackmd.io/_uploads/S1l4Ssil0.png) 此處是通過限制兩個領域的平均特徵規範來使其域間隙消失,稱為 HAFN (Hard Adaptive Feature Norm) 此優化目標中: ![image](https://hackmd.io/_uploads/B1fF8isl0.png) 計算了分類損失 但結果顯示,當兩種特徵規範期望值已經限制到很小的值(當 R=1 時,特徵已經被映射到相同範圍),其結果確實有效,然而當 R 變大,模型仍會在目標資料取得更高的準確性,因此必須透過更大的 R 來確認精準對齊特徵規範的必要性(因為如果很大模型還是能在目標取得高準確性,代表對齊可能不是必要),但此算法無法負擔很大的 R ,因為可能因為規範懲罰導致梯度爆炸。 ## Stepwise Adaptive Feature Norm 本文引入了一種稱為 SAFN 的改進方法,如下圖: $θ_0$代表上次迭代的結果, $θ$則代表這次的結果 ![image](https://hackmd.io/_uploads/SyHY43oe0.png) 可以發現模型捨去了 R 這個變數,改為鼓勵模型以漸進的方式來學習具有更大的特徵規範的任務特徵,透過Δr,每次迭代中會接近上次迭代的結果+Δr,為了避免無限擴大,可以設定一個終點 R。 ![image](https://hackmd.io/_uploads/rJU0S3igC.png) (此處我感覺應該是 min 而不是 max?) ## Model Robustness Evaluation 作者此處提出一種方法評估魯棒性: $A^{l\%}_{T|Ct|}$:使用了 l% 已標記資料的精確度 $A_{S_{|C_t|->|C_t|}}$:不包括原始資料域非共享類別的精確度 $A_{S_{|C_s|->|C_t|}}$:包括原始資料域非共享類別的精確度 $A^{l\%}_{T|Ct|}$ - $A_{S_{|C_t|->|C_t|}}$Closed Negative Gap(CNG): 如果不能從另一個域獲得比只標記了少部份的資料更好的精確度,代表產生了負影響。 $A_{S_{|C_t|->|C_t|}}$ - $A_{S_{|C_s|->|C_s|}}$Outlier Negative Gap(ONG):檢查不相關類別造成的影響。 $A^{l\%}_{T|Ct|}$ - $A_{S_{|C_t|->|C_t|}}$Partial Negative Gap(PNG):用於觀察此演算法是否獲得正面轉移效果,當值為負代表負面影響較大,正實則代表正面影響較大。 ## Experiment ### Setup 首先文中準備了4種測試集: 1. VisDA2017:函蓋了 12 個物體類別超過 280000 張照片,原始領域有 150000張以上 3d 模型渲染生成的圖片,目標領域則包含超過 50000 張真實圖像。 2. Office-Home:包含四種領域:藝術圖像(Ar)、剪貼畫圖像(Cl)、產品圖像(Pr)和現實世界圖像(Rw),每個領域又有 65 個類別,月有 15500 張圖片。 3. Office-31:約 4500 張圖片,來自 amazon、相機和網路攝影機。 4. ImageCLEF-DA :是為 ImageCLEF 2014 域自適應挑戰賽建立的,每個類別 50 張圖,每個領域 600 張圖。 實做中,透過 pytorch 完成,並且在後三種資料集中設置了參數: λ = 0.05、R = 25、Δr = 1.0 而因為 VisDA2017 中的合成域比較容易收斂,使用稍微小的 λ 和 Δr,為 0.01 和 0.3。 學習率為 1.0 × 10^−3 ,對轉移任務進行比較。 ## Result Analysis 結果顯示在表1、2、3、4 ![image](https://hackmd.io/_uploads/ByrW9AjlC.png) ![image](https://hackmd.io/_uploads/Sy4V5Cjx0.png) ![image](https://hackmd.io/_uploads/B1RIq0jlA.png) 可以發現,在所有測試中,本文提出的兩種方法都達到最高的準確度,其中 SAFN 會是更好的選擇。 正如表 1、3 和 4 中所示,方法在這三個基準測試中創造了最好的結果,並且對於那些困難的轉移任務有更大的改進空間。正如表 5 和 7 中所示,我們的模型在部分 DA 上取得了實質性的改進,在 Office-Home 上提高了 11.5%,在 VisDA2017 上提高了 17.1%。 另外,論文針對最困難的轉移任務進行魯棒性評估,例如 Ar65 → Rw25、Synthetic-12 → Real-6 等。 表 6 中的結果揭示了一些有趣的觀察: 1. 在所有轉移任務上的所有評估指標中,輪文中的方法有最大的轉移收益或最小的負面影響。 2. 所有方法,在更具挑戰性的部分設置下都無法避免正的 ONG,而 SAFN 將離群負面影響減輕到最大程度。 3. 對於 Cl → Rw 轉移任務,比較方法都具有正的 PNG,這表明它們無法從 Cl65 領域中獲得比僅使用 5% Rw25 標記樣本更多的轉移收益。 4. 值得注意的是,在具有顯著合成到真實差距的最具挑戰性的 VisDA2017 資料集上,包括文章方法在內的當前方法都無法從合成域中提取更多的正知識,這對未來 DA 社區的發展來說仍然是一個巨大的挑戰。 ![image](https://hackmd.io/_uploads/H1G-3RslC.png) ## conclusion 在這篇文章中提出了關於 UDA 的新發現,結果表明了模型退化主因是目標特徵規範小於原本領域的特徵規範,因此透過逐漸適應兩個領域的特徵規範到一個較大的範圍,結果也表明了其更具可轉移性,另外,文中後面統一了一些衡量數值,也因此能更有說服力的說明文中方法的優點。 # 評論: 這篇文章中首先研究了造成模型在轉換時造成退化問題的主因,首先提出了兩種目前常見的猜測,第一種是特徵規範未對齊導致,第二種是目標領域特徵規範過小的問題。 首先文中針對第一種推測進行實驗,但結果表明似乎對齊帶來的影響不大,即使不嚴格要求對齊,似乎也不會對結果有顯著改變。 因此轉而實驗第二種猜測,而結果表明第二種猜測有很明顯的影響,當目標和原始資料特徵規範被同時接近更大的特徵規範時,能達成最佳的準確度,而透過比較結果也表明其能勝出當時所有的方法。 這個方法最厲害的地方是,他的方法並不複雜,甚至轉成程式碼就是幾行而已,卻能達成這麼高的效率,非常令人佩服。 然而,我會覺得稍微比較難說服的地方是,第一種方法中文章表示沒辦法用更大的 R 來實驗,因為可能導致梯度爆炸,但這樣等於並沒有真正的數據佐證這部份影響很小。 儘管如此,第一種方法和第二種方法在後面的數據有證明是目標領域特徵規範小的影響更大,光是證明這點已是非常大的突破。