Squeeze-and-Excitation Networks(SE network)閱讀筆記
阿新 • • 發佈:2019-01-04
SE Block詳解
- SE Block通過學習通道之間的關係,調節特徵圖通道之間的權重,從而達到attention集中的目的,改善網路的表達能力。
- SE Block可以替代任意的卷積操作。
上圖為SE Block描述圖。可以看到,通過SE Block以後特徵圖的維度不會發生改變。SE模組有些像res,最大的不同在於將最後的加改成了乘。SE Block有兩條資料流。上邊的資料流首先對原圖進行一個Squeeze操作(即對U進行global average pooling,輸出為1*1 *C )。經過Squeeze操作之後,再對輸出進行一個Excitation操作,此操作意在捕捉通道之間的關係嗎。Excitation操作首先對Squeeze操作的輸出進行降維(r為放縮因子),然後進行ReLU啟用,最後再放大維度變回原來的通道數C。之所以採用這種bottleneck的結構,原文解釋為降低模型的複雜度以及提高模型的泛化能力。經過Squeeze和Excitation之後,學習到了channel attention,將Excitation的輸出與原特徵圖U逐個通道相乘(即scale操作),相當於改變了各個特徵圖的權重,從而使模型將attention集中在更有意義的特徵圖上。
SE Block公式化為:
- squeeze(global average pooling)
- excitation(降維,ReLU,升維)
- scale操作(原特徵圖U與excitation輸出相乘)
關於SE Block的examples
- 用在Inception network
- 用在ResNet