每周學習4.1-4.7
閱讀backbone相關網路模型(輕量級網路MobileNetv1,v2,v3和ShufflieNet系列、ResNext)
(輕量級網路框架中沒有,看的網上找的原始碼)(原始碼鏈接B站搜MobileNet就好)
(僅是粗略介紹分析,詳細可搜知乎相關介紹和看論文)
MobileNet系列和ShuffleNet系列是專注于在移動設備上的輕量級神經網路,
MobileNetv1亮點是將普通卷積替換為深度可分離卷積和提出兩個超引數a和β,
深度可分離卷積大大地減少了計算量,從而達到提升網路運算速度的目的,
超引數控制卷積核個數和輸入圖片解析度大小,可以根據實際專案需求進行調整,
MobileNetv2的亮點是提出Inverted Residuals和Linear Bottlenecks,
在實際使用程序中,深度卷積核在訓練時候有不少空的,作者做實驗分析是RELU導致低維資訊缺失,所以將最后的那個ReLU6換成Linear,
由于DW只能在低維作業,效果不好,所以作者提出了一個倒殘差結構(與ResNet中block相反),先升維,DW提取高維特征資訊,然后再降維,
MobileNetv3的架構是基于NAS實作的,NAS了解的不是很多,只了解到是在搜索空間中,用某種策略去尋找網路的最優結構,
其他亮點為引入了SE注意力機制,使用了一種新的激活函式h-swish(x),h-swish相比與swish,便于部署在移動設備上,減少成本,
作者認為h-swish主要在層次較深的層使用會有比較好的效果,所以只在模型后半部分用,在最后部分還精簡了網路結構,減少延時,
我認為MobileNet系列效果好,輕量化的原因主要還是深度可分離卷積和倒殘差結構,一個是大大地減少了計算量,一個是便于提取高維特征資訊,
ShuffleNetv1的核心主要是用了pointwise group convolution和channel shuffle.
亮點是通過channel shuffle 解決了組卷積帶來的一個弊端,
MobileNet,Xception網路中采用密集的1x1卷積來保證group convolution不同特征的資訊交流,
作者和他們不同,他提出用channel shuffle,對組卷積之后的特征圖進行重組,保證資訊在不同組之間傳遞,代碼中實作起來僅需要簡單的維度操作和轉置操作,
v2的核心主要是作者提出了設計高性能網路的設計準則,并且根據該原則去重新設計網路結構,在設計高性能網路的同時提出了通道分割,
,在通道分割后左側分支直接映射,作者將上一層特征圖直接傳遞下面模塊,得到了非常高的精度,
ResNeXt:
提出了分組卷積,可以看成是ResNet[2]和Inception[3]的結合體,每個分支的拓撲結構是相同的,最后再結合殘差網路,得到的便是最終的ResNeXt,
ResNeXt和Inception v4是非常像的,但是ResNeXt分支的拓撲結構都是相同,不需要人工設計,
而且ResNeXt是先進行 1x1 卷積然后執行單位加,Inception V4是先拼接再執行 1x1 卷積,
我認為ResNeXt的分組卷積用相同結構減少了超引數,減少每個子網路的復雜程度,減少了過擬合的風險,而且不同組學到的特征更多樣,
看了mmdetection2中backbone中相關原始碼,
RetinaNet
提出了FocalLoss 解決了樣本類別不平衡這一大難點,比較了one-stage和two-stage檢測器速度、精度不同,分析出原因是
background的數量大導致與前景數量不平衡導致的,
在RetinaNet之前大部分的目標檢測模型在FCN上每個位置密集抽樣,Focal Loss從另外的視角來解決樣本不平衡問題,那就是根據置信度動態調整交叉熵loss,當預測正確的置信度增加時,
loss的權重系數會逐漸衰減至0,這樣模型訓練的loss更關注難例,而大量容易的例子其loss貢獻很低,看問題的視角很關鍵,
看了mmdetection2中RetinaNet的各組成部分原始碼,再次熟悉了框架的使用,
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/274036.html
標籤:其他
