這張圖展示了一個名為“Split-Attention”的神經網絡結構,該結構在一個基數組(cardinal group)內進行操作。基數組通常指的是在神經網絡中處理的一組特征或通道。圖中展示了如何通過一系列操作來實現對輸入特征的注意力機制。
以下是圖中各部分的解釋:
輸入層:
圖中頂部有多個輸入(Input 1, Input 2, …, Input r),這些輸入的特征維度為 (h,w,c),其中 h 和 w 分別表示特征圖的高度和寬度,c 表示通道數。
特征聚合:
這些輸入特征通過一個加法操作(+)聚合成一個特征圖,其維度仍然是 (h,w,c)。
全局池化:
聚合后的特征圖通過全局池化(Global pooling)操作,將其空間維度(即 h 和 w)壓縮為一個單一的值,得到一個維度為 (c,) 的向量。
密集層和激活函數:
這個向量通過一個密集層(Dense c′ + BN + ReLU),其中 c′ 是輸出維度,BN 表示批歸一化(Batch Normalization),ReLU 是激活函數。這一步的目的是生成一個特征表示 (c′,)。
分割注意力:
特征表示 (c′,) 被分割成多個部分,每個部分通過一個密集層(Dense c)進行處理,生成多個特征向量 (ci?,)。
Softmax 操作:
這些特征向量通過一個 r-Softmax 操作,生成一組權重。Softmax 操作將這些特征向量轉換為概率分布,表示每個特征的重要性。
加權特征:
這些權重與原始輸入特征進行逐元素相乘(×),然后將結果相加(+),得到最終的輸出特征圖,其維度仍然是 (h,w,c)。
這個結構通過全局池化和密集層生成特征表示,然后通過Softmax操作生成權重,最后將這些權重應用于原始輸入特征,以實現對輸入特征的注意力機制。圖中為了方便可視化,使用了 c=C/K 的表示,其中 C 是總通道數,K 是基數組的數量。
這張圖比較了三種不同的神經網絡塊:SE-Net Block、SK-Net Block 和 ResNeSt Block。每種塊都旨在通過不同的方法增強網絡的特征提取能力。圖中詳細展示了這些塊的結構和操作流程。
SE-Net Block
輸入:特征圖尺寸為 (h,w,c)。
操作:
通過一個 1×1 卷積層將通道數減少到 c′。
通過一個 3×3 卷積層進一步處理特征。
再次通過一個 1×1 卷積層恢復通道數到 c。
應用 Split Attention 機制。
最后通過一個加法操作將處理后的特征與原始輸入特征相加。
SK-Net Block
輸入:特征圖尺寸為 (h,w,c)。
操作:
通過一個 1×1 卷積層將通道數減少到 c。
分別通過兩個不同大小的卷積核(3×3 和 5×5)處理特征,每個卷積核的輸出通道數為 c′,且分組數為 32。
應用 Split Attention 機制。
最后通過一個 1×1 卷積層恢復通道數到 c,并與原始輸入特征相加。
ResNeSt Block
輸入:特征圖尺寸為 (h,w,c)。
操作:
將輸入特征分成多個基數組(Cardinal groups),每個基數組包含 r 個特征圖。
每個基數組內,特征圖被進一步分割成 r 個部分,每個部分通過一個 1×1 卷積層將通道數減少到 c′/k,然后通過一個 3×3 卷積層處理特征。
應用 Split Attention 機制。
將處理后的特征圖在每個基數組內進行拼接(Concatenate),然后通過一個 1×1 卷積層恢復通道數到 c。
最后通過一個加法操作將處理后的特征與原始輸入特征相加。
總結
SE-Net Block:通過減少和恢復通道數,以及應用 Split Attention 機制來增強特征提取能力。
SK-Net Block:通過使用不同大小的卷積核和 Split Attention 機制來處理特征。
ResNeSt Block:通過將特征圖分成多個基數組,并在每個基數組內應用 Split Attention 機制,然后將處理后的特征圖拼接和恢復通道數,以增強特征提取能力。
圖中提到的 Split Attention 機制的詳細視圖在圖 3 中展示,實際實現中使用基數-主視圖(cardinality-major view),即具有相同基數組索引的特征圖組相鄰放置。在補充材料中提到,實際實現中使用基數-主視圖可以通過分組卷積和標準 CNN 層進行模塊化和加速。
圖 4 展示了 ResNeSt 塊的 Radix-major 實現方式。Radix-major 實現是將具有相同基數(radix)索引但不同基數組(cardinality)的特征圖組物理上相鄰放置。這種實現可以使用統一的 CNN 操作符來實現。
以下是圖中各部分的解釋:
輸入層:
輸入特征圖的尺寸為 (h,w,c)。
特征圖分割:
輸入特征圖被分割成 r 個部分,每個部分對應一個基數組(Cardinal group)。
基數組處理:
每個基數組包含多個特征圖,每個特征圖通過一個 1×1 卷積層將通道數減少到 c′/kr,然后通過一個 3×3 卷積層進一步處理特征。每個基數組處理后的特征圖被拼接(Concatenate)在一起。
全局池化:
拼接后的特征圖通過全局池化(Global pooling)操作,將其空間維度(即 h 和 w)壓縮為一個單一的值,得到一個維度為 (c′,) 的向量。
密集層和激活函數:
這個向量通過兩個密集層(Dense c′′,group = k 和 Dense c7,group = k),其中 c′′ 和 c7 是輸出維度,group = k 表示分組數為 k。
Softmax 操作:
這些特征向量通過一個 r-Softmax 操作,生成一組權重。Softmax 操作將這些特征向量轉換為概率分布,表示每個特征的重要性。
加權特征:
這些權重與原始輸入特征進行逐元素相乘(×),然后將結果相加(+),得到最終的輸出特征圖,其維度仍然是 (h,w,c)。
輸出層:
最后通過一個 1×1 卷積層恢復通道數到 c,并與原始輸入特征相加。
這個結構通過將輸入特征圖分割成多個基數組,每個基數組內進行卷積操作,然后通過全局池化和密集層生成特征表示,再通過Softmax操作生成權重,最后將這些權重應用于原始輸入特征,以實現對輸入特征的注意力機制。圖中展示的 Radix-major 實現方式使得具有相同基數索引但不同基數組的特征圖組物理上相鄰放置,從而可以使用統一的 CNN 操作符來實現。