深度學習前沿:IBN-Net,既能提升CNN準確度,又能使其更好地泛化

本文章由深度學習中文社區(dl.tustcs.com)發佈與更新.

以下一幕經常出現在深度學習研究過程中, 當花費了大把時間、大把GPU,訓練好了神經網絡。接下來,你可能會迎來傷心一刻:

  • 同學,測試數據和訓練數據,色調、亮度不太一樣。
  • 同學,你還要去搞定一個新的數據集。

是重新搭一個模型呢,還是拿來新數據重新調參,在這個已經訓練好的模型上搞遷移學習呢?香港中文大學-商湯聯合實驗室的潘新鋼、羅平、湯曉鷗和商湯的石建萍,給出了一個新選項。他們設計了一種新的卷積架構,既能讓CNN提升它在原本領域的能力,又能幫它更好地泛化到新領域。這個新架構叫做IBN-Net

它在伯克利主辦的WAD 2018 Challenge中獲得了Drivable Area(可行駛區域)賽道的冠軍。相關的論文Two at Once: Enhancing Learning and Generalization Capacities via IBN-Net發表在即將召開的計算機視覺頂會ECCV 2018上。

深度學習前沿:IBN-Net,既能提升CNN準確度,又能使其更好地泛化

給神經網絡加個buff

IBN-Net並不是一個像ResNet那樣獨立的神經網絡架構,它可以和其他深度學習模型結合起來使用,提升它們的性能,但不會增加計算成本。經典的DenseNet、ResNet、ResneXt、SENet等等,都能用它來助攻。

這就相當於給深度學習模型加了個buff,或者說,喂下了一顆大力丸。

深度學習前沿:IBN-Net,既能提升CNN準確度,又能使其更好地泛化

同時,它還可以算是遷移學習的替代品。在一個數據集上訓練好了模型,如果測試數據和訓練集風格、顏色上有點不一樣,或者換個數據集來測試,模型的性能就會大打折扣。這時候,按套路就該遷移學習出場了,用新數據給訓練好的模型調參。數據集這麼多,現實世界更是豐富多彩,一個一個地去重新搭模型或者調參數,要多少工程師才夠用?而IBN-Net就不需要新數據來調參,能自動讓模型更好地適應新的領域。

不怕加濾鏡,跨越次元壁

在圖像識別和語義分割任務上,IBN-Net都能幫深度學習模型提分。

深度學習前沿:IBN-Net,既能提升CNN準確度,又能使其更好地泛化

比如在ImageNet上,加了IBN-Net(的各種變體),就能在同樣的參數設置,同樣的計算成本下,讓ResNet50的錯誤率下降0.5-1.5個百分點。如果測試數據在原始ImageNet的基礎上再做一些變化,調整一下顏色亮度對比度,甚至用Cycle-GAN改改風格,基本款ResNet50錯誤率就會大幅上升。而加了IBN-Net的版本,錯誤率就能少上升一些,如上圖括號中的數據所示。語義分割任務上也是一樣。

深度學習前沿:IBN-Net,既能提升CNN準確度,又能使其更好地泛化

IBN-Net加持的ResNet50,能在現實世界的城市街道圖像數據集Cityscapes、虛擬世界的GTA5數據集上都取得比原版更好的成績。想讓模型跨越虛擬與現實之間的次元壁,既能適應Cityscapes,也能用在GTA5上,IBN-Net也很擅長。論文中說,將模型從Cityscapes遷移到GTA5,用IBN-Net能讓遷移後的性能少下降8.5%;從GTA5遷移到Cityscapes,則能少下降7.5%。這種跨越次元壁的遷移可大有用處。比如說在自動駕駛領域,用遊戲來初步訓練無人車是個常見的操作,可是把這樣訓練出來的算法搬到現實環境中,顯然要經過大量調整。讓模型更快更好地適應不同環境的IBN-Net,簡直就是效率提升利器。

“IBN”究竟是什麼?

要理解這個IBN-Net的架構,要先從兩種標準化方法IN(Instance Normalization,實例標準化)和BN(Batch Normalization,批標準化)。

它們都能讓神經網絡調參更簡單,用上更高的學習速率,收斂更快。如果你搭過圖像分類模型,batchnorm(BN)大概很熟悉了,而IN更多出現在風格遷移等任務上。與BN相比,IN有兩個主要的特點:第一,它不是用訓練批次來將圖像特徵標準化,而是用單個樣本的統計信息;第二,IN能將同樣的標準化步驟既用於訓練,又用於推斷。

潘新鋼等發現,IN和BN的核心區別在於,IN學習到的是不隨著顏色、風格、虛擬性/現實性等外觀變化而改變的特徵,而要保留與內容相關的信息,就要用到BN。

二者結合,就成了IBN-Net。

深度學習前沿:IBN-Net,既能提升CNN準確度,又能使其更好地泛化

深度學習前沿:IBN-Net,既能提升CNN準確度,又能使其更好地泛化

還可以根據需求,來調整IN和BN在模型中的搭配。各種變體的具體情況,論文中有更清晰的描述。

論文:arxiv.org/pdf/1807.0944

代碼:github.com/XingangPan/IBN-Net

更多深度學習相關資源點擊文末了解更多按鈕


分享到:


相關文章: