ResNeXt結構解讀

論文:Aggregated Residual Transformations for Deep Neural Networks (2017CVPR上)

論文地址:https://arxiv.org/pdf/1611.05431.pdf

PyTorch代碼https://github.com/miraclewkf/ResNeXt-PyTorch

原文來源https://blog.csdn.net/hejin_some/article/details/80743818

ResNeXt是一個用於圖像分類的簡單、高度模塊化的網絡結構。

作者提出 ResNeXt 的主要原因在於:傳統的要提高模型的準確率,都是加深或加寬網絡,但是隨着超參數數量的增加(比如channels數,filter size等等),網絡設計的難度和計算開銷也會增加。因此本文提出的 ResNeXt 結構可以在不增加參數複雜度的前提下提高準確率,同時還減少了超參數的數量。

當然還有一些數據證明 ResNeXt 網絡的優越性,例如原文中的這句話:In particular, a 101-layer ResNeXt is able to achieve better accuracy than ResNet-200 but has only 50% complexity。

Table1 列舉了 ResNet-50 和 ResNeXt-50 的內部結構,另外最後兩行說明二者之間的參數複雜度差別不大。

 

作者的核fig3.a 就是前面所說的aggregated residual transformations。

fig3.b 則採用兩層卷積後 concatenate,再卷積,有點類似 Inception-ResNet,只不過這裏的 paths 都是相同的拓撲結構。fig 3.c採用的是grouped convolutions,這個 group 參數就是 caffe 的 convolusion 層的 group 參數,用來限制本層卷積核和輸入channels 的卷積,最早應該是 AlexNet 上使用,可以減少計算量。

fig 3.c 採用32個 group,每個 group 的輸入輸出 channels 都是4,最後把channels合併。

作者在文中明確說明這三種結構是嚴格等價的,並且用這三個結構做出來的結果一模一樣,在本文中展示的是 fig3.c 的結果,因爲 fig3.c 的結構比較簡潔而且速度更快。

作者的核心創新點就在於提出了 aggregrated transformations,用一種平行堆疊相同拓撲結構的blocks代替原來 ResNet 的三層卷積的block,在不明顯增加參數量級的情況下提升了模型的準確率,同時由於拓撲結構相同,超參數也減少了,便於模型移植。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章