骨干網絡(backbone) 檢測頭Backbone與Detection head


分類網絡遷移過來,用作特征提取器(通過在OD數據集上進行微調,並且與后續的網絡的共同訓練,使得它提取出來的特征更適合OD任務),后續的網絡負責從這些特征中,檢測目標的位置和類別。那么,我們就將分類網絡所在的環節稱之為“Backbone”,后續連接的網絡層稱之為“Detection head”。

 

骨干網絡(backbone)

在現代深度學習算法研究中,通用的骨干網+特定任務網絡head成為一種標准的設計模式。

 CNN Backbone往往是各種CNN模型的一個共享結構。

 https://zhuanlan.zhihu.com/p/93451942

關於卷積神經網絡(CNN)骨干結構的思考

概念

什么是機器學習、模式識別?

  • 機器學習、模式識別、深度學習等等模型的目的,是壓縮。對數據的背誦這不是壓縮,對特征的提取才是壓縮。

傳統手工計算機視覺任務和卷積神經網絡(CNN)共享哪些特性?

  • 它們都抓住了、而且必須抓住平移、鏡像、一定程度上的縮放不變性,只要滿足不變性,相似的特征表征能力一定強。CNN的新工作還有旋轉不變性、仿射變換不變性和時間軸上的灰度不變性。設計思路不包含這些不變性的,一般都是逗比。

一般的CNN模型,(比如在ImageNet上訓練的模型)壓縮效果如何?

  • 在ImageNet上訓練的不少模型,把2 ^ (224 * 224 * 3 * 8bit)的數據空間中的數據特征用少到幾十萬,大到幾億的參數表征出來,起到了局部或者全局特征的提取,從而用特征進行各種任務。重要的是很多任務可以通過1次定義結構端到端完成。

用於計算機視覺分類的CNN為何重要?

  • 它是Object Detection, Scene Parsing, OCR等任務的前導性任務,往往也被稱為Backbone Model。而且在上面快速實驗很多元方法,比如dropout,attention,套用GAN等等是直接、方便的。

CNN存在什么問題?

  • 要求概率圖可微分這個假設很強,在CNN里體現為參數連續,而很多超參離散,使用同樣的NN技巧自動連續超參還湊合,離散會碰到各種問題。

重要結構梳理

知道為什么,遠比知道是什么重要。論文是讀不過來的。但是讀論文可以通過多讀好文、瀏覽水文、搭配爛文提高品位。

我們應該關心結構的哪方面

CNN Backbone往往是各種CNN模型的一個共享結構

CNN Backbone以外的專用結構

  • 為Object Detection設計的結構更主要關心多尺度框選准確與否,因此有RPN、SPPNet、上下采樣等設計思想。
  • 為Scene Parsing設計的結構更主要關心單位像素點分類正確與否,因此有FCN、上下采樣等設計思想。

本文不作介紹。

結構上的元方法

  • 作為模型壓縮的替代方案,XNOR,二值化(Binarization),量子化(Quantization,使用數個比特替代原模型)

本文不作介紹。

如何優化CNN Backbone

我們在DataParallel的語境下面討論這個問題。也就是說,每張顯卡都保存一份參數全集,一份數據+數據形成FeatureMap的子集

我們知道,就像組裝深度學習服務器一樣,你的預算一定的條件下,如何搭配一台服務器才能讓CPU對數據預處理夠用、內存加載數據夠用、硬盤I/O夠用,以及最重要的是,選擇一塊好的GPU卡。資源不是無限的。這其實是一個線性規划問題。在這里不贅述。

進行CNN Backbone優化同樣有這個問題:

你的顯存利用率和GPU算力利用率如何達到最高?

  • 降低Batch-size會減小Feature Map占用緩存,但收斂情況怎么樣,可能飲鴆止渴。
  • 加寬直接影響參數數量。
  • 加深不僅影響參數數量還影響Feature Map大小。
  • 分組極大節省參數,甚至還能提高效果。
  • 結構復用、壓縮節省參數,增加計算量。
  • 特征拼接、高階操作降低並行效率,尤其不是inplace的那種。在動態圖框架尤為如此。
  • Bilinear大量使用額外參數。
  • 非對稱帶來額外的代碼工作。
  • 任何新穎結構的引入帶來非連續超參,讓模型BP,讓超參優化無B可P。

如何提高CNN Backbone設計品位?

  • 美就是簡單
  • 美就是復用
  • 美就是對稱
  • 美就是分形

Inception-ResNet.v2干不過ResNeXt,我一點都不意外。

Mask-RCNN標配ResNeXt101 Backbone,我一點都不意外。

DeepInsight團隊歡迎您來優化CNN Backbone

  • 基於個人品位,使用ResNeXt+WideResNet+SORT,強力備選方案是DenseNet修改版。
  • 大量超參可調整。
  • CIFAR100 top1 acc: 84.2%,可再現。
  • 計划使用Compact Bilinear和Attention。

 

https://blog.csdn.net/u014380165/article/details/78651060

這篇曠視的文章主要是對Faster RCNN、R-FCN算法做加速,取名為Light-Head RCNN,是因為作者將two stage的object detection算法的網絡結構分成兩部分,一部分是region proposal(或者叫ROI)的生成過程(文章中命名為body部分),另一部分是基於ROI預測框的過程(文章中命名為head部分)。對於像Faster RCNN、R-FCN這樣的two stage的object detection算法,第二部分有一些操作耗時且存儲量較大,因此稱為heavy head。而本文的light head RCNN則是通過對第二部分的修改減少了許多復雜操作,所以稱之為light head。

先來感受下Light-Head RCNN算法和其他算法相比的提升情況。Figure1是Light-Head RCNN算法和其他object detection算法在速度和准確率上的直觀對比,可以看出在這兩方面的優勢還是很明顯的。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM