IBN-Net簡介 - Two at Once Enhancing Learning and Generalization Capacities via IBN-Net

Xingang Pan, Ping Luo, Jianping Shi, Xiaoou Tang. Two at Once: Enhancing Learning and Generalization Capacities via IBN-Net. In ECCV’18.

ECCV 2018 paper

Paper link: https://arxiv.org/abs/1807.09441

Github(Pytorch): https://github.com/XingangPan/IBN-Net

簡介

作者認為現存的 CNN 模型能在單一個 Domain 取得好的成績,

但當它轉移到另一個 Domain 的時候,

可能因為外觀、光線等等的變化造成模型的準確度下降。

下圖可看出 Cityscapes 以及 GTA5 兩個資料集都是道路場景的語意分割資料集,

但是他們的外觀、光線、亮度都差得非常多,這邊稱作 Domain-shift,

這問題會導致訓練在 GTA5 的模型要套用至 Cityscapes 的圖片時準確度會下降。

Note: 因此也衍伸了 Domain adaptation 的任務研究。

此論文提出透過 IN (Instance-Normalization) 來讓模型可以適應不同的外觀,

讓模型能在不同外觀、 Domain 都能有著較好的通用性。

而此論文另一個探討就是如何讓 IN 結合常見的 BN(Batch Normalization),

因為現今的模型都是使用 BN 做加速收斂、學習出具鑑別的特徵。

提出了 IBN-Net - IN 結合 BN,

針對如何結合 IN 與 BN 給出一系列的探討,

能輕易的將這想法結合進現存的模型。

此篇任務以 ResNet 作為比較,

準確度上升並且套用至多個 Domain 進行測試,

能發現相較於 Resnet, IBN-net 較能夠適應不同的 Domain。

概念

其核心想法是希望模型對外觀變化(光線、色調等等的)不要這麼的敏感,

但同時我們還是希望模型可以學會如何辨識圖片的特徵,

這邊的想法是透過 IN 捕捉圖片中的低等特徵(亮度、顏色)-風格(Style),

並希望我們的模型能移除外觀上的變化,

達成外觀不變性(Appearance invariance),

再透過常見的 BN 加速收斂並學習出有用的特徵-內容(Content)。

上圖簡單來說 x 軸代表著模型的深淺,

而 y 軸就代表著差異性,這邊使用 KL-divergence。

而藍色代表的是畫風所帶來的影響,

橘色代表的是圖片特徵所帶來的影響。

我們會發現外觀的差異在模型的淺層是較為明顯的 - Style,

而圖片的特徵則是模型的深層較為明顯 - Content,

透過這種觀察認為 IN 應該被用在模型的淺層,

而 BN 應該被應用在模型的深層。

架構

主要提出 a, b 兩種變形,

有幾個設計的原則:

  • 在模型的深層往往學到的是內容,因此不要將 IN 放在模型的深層。
  • 但在淺層的時候也會有可辨別特徵需要保留,因此在淺層仍要使用 BN。

IBN-a 架構

設計考量

  • 架構應該要放在 Residual block,不然會破壞 ResNet 的設計原則,Identity path 不應該做改動。

IBN-b 架構

設計考量

  • 不管是 Identity path 以及 Residual path 都會有外觀的資訊,因此將 IN 的架構放在相加之後,但為了不要破壞 ResNet 原本的想法,因此這個 IN 只會套用在 conv_1 以及前 2 個 Groups(conv_2, conv_3),較為淺層的 Layer。

從下方實驗結果可發現:

當訓練在原本的 Domain 時 IBN-Net50-a 可取得好的成績,

當要應用至其他 Domain 的時候都是 IBN-Net50-b 取得好的成績。

也可以將此模型套用至 Domain adaptation 的任務。

實驗結果

將 IBN-block 結合進近年主流的模型,會發現成績都有上升。

參考資料:

Two at Once: Enhancing Learning and Generalization Capacities via IBN-Net


© 2018-2024 XiaoSean. All rights reserved.

Powered by Hydejack v9.1.6