1 在實踐中如何判斷該選擇Add還是Concatenate?
在網絡結構的設計上,經常說DenseNet和Inception中更多采用的是concatenate操作,而ResNet更多采用的add操作,那麼這兩個操作有什麼異同呢?
2 如何理解concat和add的方式融合特徵
在各個網絡模型中,ResNet,FPN等採用的element-wise add來融合特徵,而DenseNet等則採用concat來融合特徵。那add與concat形式有什麼不同呢?事實上兩者都可以理解爲整合特徵圖信息。只不過concat比較直觀,而add理解起來比較生澀。
concatenate經常用於將特徵聯合,多個卷積特徵提取框架提取的特徵融合或者是將輸出層的信息進行融合
add層更像是信息之間的疊加。
Resnet是做值的疊加,通道數是不變的,DenseNet是做通道的合併。你可以這麼理解,add是描述圖像的特徵下的信息量增多了,但是描述圖像的維度本身並沒有增加,只是每一維下的信息量在增加,這顯然是對最終的圖像的分類是有益的。而concatenate是通道數的合併,也就是說描述圖像本身的特徵增加了,而每一特徵下的信息是沒有增加。
因此add相當於加了一種prior,當兩路輸入可以具有“對應通道的特徵圖語義類似”(可能不太嚴謹)的性質的時候,可以用add來替代concat,這樣更節省參數和計算量(concat是add的2倍)
在各個網絡模型中,ResNet,FPN等採用的elemen