resnet论文_ResNet还是DenseNet?即插即用的DS涨点神器来了!
DSNet比ResNet取得了更好的結果,并且具有與DenseNet相當的性能,但需要的計算資源更少。其中改進的DS2Res2Net性能非常強大。
作者:ChaucerGDate:2020-10-27
來源:AI人工智能初學者微信公眾號
- 作者單位:韓國科學技術院(KAIST)
- 論文:https://arxiv.org/abs/2010.12496
注:如果上述論文鏈接無法訪問,可以看文末,論文已上傳至百度云,方便下載。
1、簡介
大多數基于深度學習的方法都是通過backbone網絡實現的,其中兩個最有名的方法就是ResNet和DenseNet。盡管它們具有差不多的性能和受歡迎程度,但它們兩個都存在固有的缺點。對于ResNet,穩定訓練的identity shortcut方式也限制了其表示能力,而DenseNet具有更高的特征,可以進行多層特征串聯。但是,密集級聯會引起新的問題,即需要較高的GPU內存和更多的訓練時間。部分由于這個原因,在ResNet和DenseNet之間不是一個簡單的選擇。
本文提供了dense summation的統一視角來分析它們,從而有助于更好地了解它們的核心差異。同時進一步提出了dense weighted normalized shortcuts,以解決它們之間的難題。所提出的密集快捷方式繼承了ResNet和DenseNet中簡單設計的設計理念。
2、相關方法
2.1、Micro-module design
都是耳熟能詳的操作,大家可以自行進行調研和研讀:
- normalization modules
- attention modules
- group convolutions
- bottleneck design
- weight normalization
- instance normalization
- group normalization
2.2、Macro-architecture design
都是耳熟能詳的模型,大家可以自行進行調研和研讀:
- AlexNet
- VGGNet
- GoogleNet
- ResNet
- DenseNet
- WideResnet
- ResNext
- Preactivation-ResNet
- CondenseNet
- Dual path network
- mixed link network
- FractalNet
3、本文方法
3.1、ResNet和DenseNet中的Dense Connection
ResNet和DenseNet的區別是什么?顧名思義,區別似乎在于ResNet只使用前面的一個特征圖,而DenseNet使用了前面所有卷積塊的特性。
似乎結果像前面說的那樣,而實際上通過上圖可以看出ResNet與DenseNet的不同之處在于,ResNet采用求和的方法將之前所有的feature map連接起來,而DenseNet將所有feature map使用cat的方法連接起來。
3.2、Unified perspective with dense summation
在這里,作者證明了卷積運算前的dense concatenation可以等價于卷積后的dense summation:
其中,,注意,表示卷積塊中的第1個卷積,而不是整個卷積塊。因此,是卷積塊中第1次卷積后的feature-map。綜上所述,如圖所示,其中和分別為輸入通道數和輸出通道數。
最終可以得到關于ResNet和DenseNet的如下表達式:
3.3、Dense shortcut and DSNet
通過以上統一可以看出ResNet和DenseNet的核心區別在于,對于前面的每個輸出,卷積參數是否共享。這使得DenseNet在需要更多GPU資源的情況下獲得了更好的性能。這種差異的根源在于采用了不同的Dense Connection、identity shortcut和Dense Concatenation。基于上述的問題提出了一種可選擇的Dense Connection來緩解該缺點。它引入了使用前面的feature-maps的靈活性,同時對前面的每個feature-map仍然使用相同的。基于ResNet的Benchmask,文中提出的方法可以表達為:
實驗結果也證明了該結論的成立:
作者將所提出的網絡命名為采用Adopting DS ShortCut的DSNet。DSNet采用與ResNet相同的網絡Backbone(卷積塊本身和塊設計)。ResNet主干是為identity shortcut定制的,而不是為提出的DS ShortCut定制的。如果重新設計主干結構可能會進一步提高DSNet的性能。
注:DSNet和ResNet唯一區別是用提出的dense shortcut代替了identity shortcut.
3.4、實現插入方式
為了在ResNet中引入dense shortcut,一種簡單的方法是將Yl=Yl-1+Xl中的單個identity shortcut替換為dense shortcut,從而連接所有前面的特征映射,得到:
可以遞歸地擴展為:
比較dense shortcut等價于在每個卷積塊的末端增加額外的常數。表1中所示的ResNet50-Dense的這種設計并沒有取得比原來的ResNet50更好的性能。于是便設計了DS ShortCut,而這里使用歸一化的動機是為了將前面的所有特征歸一化到一個相似的尺度,方便訓練。加權求和是為了讓網絡根據特征圖的顯著性給每個歸一化特征圖分配適當的權值。
此外,在實驗中發現,在3*3卷積的卷積塊內插入weighted normalized shortcut也有助于性能的提高,由于增加的計算負擔幾乎很少,值得考慮。這里稱之為DS2Net。
4、實驗結果
4.1、基于CIFAR-100實驗
可以看出在CIFAR-100數據集上基于DS的設計,參數更少,精度更高;
4.2、基于ImageNet實驗
可以看出在ImageNet數據集上基于DS的設計,參數更少,精度更高;
4.3、基于MS COCO 2014檢測實驗
可以看出在ResNet中使用DSNet提升mAP將近3個百分點;
4.4、Grad-CAM可視化實驗
可以看出對于DSNet,其對于目標的識別區域更加的準確和集中,也因此會帶來更好的效果。
更為詳細內容可以參見論文中的描述。
References
[1] ResNet or DenseNet? Introducing Dense Shortcuts to ResNet
論文下載
鏈接:https://pan.baidu.com/s/1W6k5SsLe0Z4FXx3KdMx9nQ提取碼:cver
強烈推薦大家關注CVer知乎賬號和CVer微信公眾號,可以快速了解到最新優質的CV論文。
推薦閱讀
綜述 | 基于深度學習的端到端人臉識別技術:全面調研
TBC:共享Thinner Filters,實現更強的CNN!
綜述 | 行人檢測技術(從手工特征到深度學習):全面調研
超越EfficientNets!無需注意力,也能讓你的網絡更快更強!
OpenCV 4.5來了!更強的SIFT,改進RANSAC算法,新增目標跟蹤網絡SiamRPN++
綜述 | 基于深度學習的實時語義分割方法:全面調研
漲點神器!南航提出AFF:注意力特征融合
NeurIPS 2020 | 谷歌大腦提出:重新思考預訓練和自訓練
NeurIPS 2020 | 用于圖像復原/恢復的神經稀疏表示
NeurIPS 2020 | aLRPLoss:統一目標檢測中的分類和定位的平衡損失函數
CCE:具有互補交叉熵的不平衡圖像分類
谷歌地標檢索2020 Kaggle 第一名解決方案
ECCV AIM 2020 真實圖像超分辨率挑戰賽3項冠軍解決方案
LVIS 實例分割挑戰賽2020的第一名解決方案:好的Box不能保證好的Mask
ETH Zurich提出DPIR:具有Denoiser先驗的即插即用圖像恢復
綜述 | 人臉圖像質量評估:全面調研(2004-2020)
VarifocalNet:IoU-aware 密集目標檢測器(已開源)
ECCV 2020 | NAS-DIP:通過NAS實現DIP(去噪/去霧/超分辨率/修復等)
TIP 2020 | PNEN:金字塔Non-Local增強型網絡
綜述 | 小樣本學習:全面調研(Few-shot)
MiCo:用于半監督域自適應的Mixup聯合訓練
使用深度神經網絡從Noisy Labels中學習:全面調研
PyTorch3D:面向3D計算機視覺的PyTorch工具箱
剪枝filter?還是剪枝layer?這是個問題
ECCV 2020 | WeightNet:重新探索Weight網絡的設計空間
Mask TextSpotter v3:用于場景文字檢測和識別的分割Proposal網絡
ECCV 2020 | 魔鬼在細節中:車輛重識別的自監督注意力(SAVER)
ECCV 2020 | 53.5 AP!PAA:用于目標檢測的IoU預測的概率Anchor分配
ECCV 2020 | 南京理工提出FPT:特征金字塔Transformer
ECCV 2020 | 長尾數據集中多標簽分類的分布平衡損失
ECCV 2020 | BMask R-CNN:邊界保持的Mask R-CNN
ECCV 2020 | 即插即用!PSConv:將特征金字塔壓縮到緊湊的多尺度卷積層中
ECCV 2020 | STTN:用于視頻修復的時空聯合Transformer
ECCV 2020 | LiteFlowNet3:實現更準確的光流估計
總結
以上是生活随笔為你收集整理的resnet论文_ResNet还是DenseNet?即插即用的DS涨点神器来了!的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python编写自定义模块_编写和导入自
- 下一篇: opengl游戏引擎源码_UE4渲染引擎