天天看點

【超越200層ResNet】顔水成團隊 CVPR 新架構,提速300%

本文意在為您簡要解讀最近在 arxiv 上一篇最新的文章 《雙通道網絡》(dual path networks),原作者已經将源碼公開到了 github。

在論文中,作者分析并證明了 resnet 與 densenet 之間的重要聯系:densely connected network family 裡包含 residual network family。作者分析了兩者各自的優缺點,并基于分析所得結論,提出了一類新的網絡拓補結構:雙通道網絡(dual path network family)。

【超越200層ResNet】顔水成團隊 CVPR 新架構,提速300%

論文位址:https://arxiv.org/pdf/1707.01629.pdf

resnet 實際屬于 densenet

densenet 是由[1] 提出的一類不同于 resnet 的網絡結構。resnet 将輸出與輸入相加,形成一個殘差結構;而 densenet 卻是将輸出與輸入相并聯——相并聯,相并聯(重要的事情說 3 遍),實作每一層都能直接得到之前所有層的輸出。

下圖中, (a/b) 展示了兩種網絡。請注意兩者的差別,将 densenet 了解為一種有很多殘差連接配接的 resnet 是非常錯誤的了解。

文中作者發現,residual networks 其實就是 densely connected networks 的一種特例。這裡我們通過分析網絡結構簡要證明下:

【超越200層ResNet】顔水成團隊 CVPR 新架構,提速300%

上圖中,假設實線箭頭代表一次變換(本例中指含激活函數的卷積),若 (b) 中綠色箭頭代表的函數相同,那麼我們就可以通過添加一個殘差通道(residual path)保留中間計算結果,将其化簡為 (c)。而 (c) 的形式恰恰就是一個殘差網絡的形式(棕色點線)。

也就是說,一個 densenet 可以通過共享參數的方式,退化為 resnet。resnet 實際上就是 densenet 在跨層參數共享時候的特例。

本文認為:

1)resnet 通過這種跨層參數共享和保留中間特征的方式,可以有效的降低特征上備援度,重複利用已有特征,但缺點在于難以利用高層資訊再發掘底層特征;

2)densenet 每一層都重新在之前所有層的輸出中重新提取有用資訊,可以有效地利用高層資訊再次發掘底層新特征,但其卻存在特征上的備援。

雙通路網絡 dpn:結合殘差網絡和 densenet 兩者優點

那麼,一個很自然的想法就是結合這兩類網絡拓補結構,實作優缺點互補。于是,文章提出了一類全新的雙通道網絡結構:dual path network(dpns)。

【超越200層ResNet】顔水成團隊 CVPR 新架構,提速300%

dpn 具體網絡結構

需要注意的是,與 residual network family 和 densely connected network family一樣,dual path network family 也将存在諸多變種,其内部連結并不局限于下圖中的 “1x1->3x3->1x1” 這種形式。

其核心思想是,将殘差通道和 densely connected path 相融合,實作優缺互補,其重點不在于細節部分是如何設定的。

【超越200層ResNet】顔水成團隊 CVPR 新架構,提速300%

上圖中,(e) 以 (d) 為例,展示了實際使用中的一種 dpn。簡單來講,就是基于現有的殘差網絡,将最後的 1x1 輸出切分為兩路,一路加到 residual path 上去,一路并到 densely connected path 上去。(這裡請注意與 pyramidnets [2] 的本質差別。)

本文分别在“圖像分類”,“物體檢測”和“物體分割”三大任務上對 dpn 進行了驗證。在 imagenet 1000 類分類任務中的性能如表 2 所示:

【超越200層ResNet】顔水成團隊 CVPR 新架構,提速300%

注意,這裡的flops是理論值,實際效率不同于理論值。mxnet 在 concat layer 和 split layer 那裡還有待對 dpn 進行特殊優化,減少不必要的記憶體拷貝等操作。

但即便如此,在實測中: dpn-98 也顯著提高了訓練速度,降低記憶體占用,并保持更高的準确率。即便是最佳單模型 dpn-131 也并沒有增加很多計算量和記憶體開銷,完全可以直接作為其他任務的基礎網絡來使用。相較之前的最佳單模型 very deep polynet,dpn-131 實際訓練速度提升約 300%。

下圖給出了在單節點,4 塊 k80(k80 為雙gpu)下的實測結果:

【超越200層ResNet】顔水成團隊 CVPR 新架構,提速300%

dpn 在 pascal voc 上的“物體檢測”和“物體分割”對比實驗結果如下表所示:

【超越200層ResNet】顔水成團隊 CVPR 新架構,提速300%

篇幅所限,感興趣的老師同學請檢視原文。

總結

建構高性能、低資源占用的網絡結構一直是深度學習裡一個重要的研究方向。正如殘差網絡 (resnet) 所展現的,一個有效的網絡拓補結構,不僅能全面提高“圖像識别”任務中準确性,更能通過直接替換底層網絡的方式受益“圖像生成”、“檢測”、“分割”、“美化”等等諸多應用。

在 dpn 這篇文章中,作者分析探讨了現在最受歡迎的兩種網絡結構,并提出了其獨特的見解:認為 resnet 是 densenet 在參數跨層共享時的特例。基于這一結論,作者進一步提出了一類高性能、低資源占用的全新網絡拓補結構 dual path networks,dpn 有效地融合了現有網絡,實作了優勢互補,其性能在“圖像識别”、“圖像檢測”和“圖像分割”這三大任務中均得到了驗證,各項名額得到了顯著提升。相信近期将能在更多的工作和報道中看到雙通道網絡的身影。

繼續閱讀