1.什麼是注意力(Attention)?
在圖像分割中,注意力是一種只突出訓練中相關激活的方法。這減少了浪費在無關激活上的計算資源,為網絡提供了更好的泛化能力。本質上,網絡可以「關注」圖像的某些部分。
a)Hard Attention
Attention有兩種形式,Hard和soft。Hard attention的工作原理是通過裁剪圖像或迭代區域建議來突出顯示相關區域。由於Hard attention一次只能選擇一個圖像的一個區域,它是不可微的,需要強化學習來訓練。
由於它是不可微分的,這意味著對於圖像中的給定區域,網絡可以「attention」或不可以「attention」)。因此,無法進行標準的反向傳播,因此需要蒙特卡洛採樣來計算各個反向傳播階段的準確度。考慮到準確性取決於採樣的完成情況,因此需要使用諸如強化學習等其他技術來使模型有效。
b)Soft Attention
Soft attention通過給圖像的不同部分加權來實現。高相關性區域乘以較大的權重,而低相關性區域標記為較小的權重。隨著神經網絡模型的訓練,對高權重區域的關注越來越多。與hard attention不同,這些權重可以應用於圖像中的許多塊。
處理句子中的不同單詞時,如果在圖像上Soft attention權重的可視化,較亮的區域權重較高。
由於Soft attention的確定性,它仍然是可微的,可以用標準的反向傳播進行訓練。在對神經網絡模型進行訓練時,也對權重進行了訓練,以便神經網絡模型能夠更好地確定需要注意哪些部分。
Hard Attention:
一次只關注一個區域不可微且需要強化學習Soft Attention:
權重被放置在圖像的不同塊上以確定相關性可微,可以通過反向傳播進行訓練2.為什麼在U-Net中需要attention?
要理解為什麼注意力在U-Net中是有益的,我們需要查看所使用的skip connections。
灰色箭頭表示U-Net中使用的long skip connections
在擴展路徑的上採樣過程中,重建的空間信息是不精確的。為了解決這個問題,U-Net使用skip connections將來自下採樣路徑的空間信息與來自上採樣路徑的空間信息結合起來。然而,這帶來了許多冗餘的底層特徵提取,因為在初始層中特徵表示很差。
在skip connections中實現的Softattention將有效地抑制不相關區域中的激活,從而減少冗餘特徵的數量。
3.如何實現注意力?
Oktay等人介紹的attention gates ,使用了附加的soft attention。
a)attention gates分解
上:Attention gate (AG) 示意圖。下:在每個skip connection處如何實現AG。
注意門接受兩個輸入,向量x 和g。向量g是從網絡的下一層取的。考慮到向量來自於更深的網絡,它具有較小的維數和較好的特徵表示。在上面的示例圖中,向量x的大小為64x64x64(filters x height x width),向量g為32x32x32。向量x經過strided卷積,其大小變為64x32x32,向量g經過1x1卷積,其大小變為64x32x32。將兩個向量逐個元素相加。此過程導致對齊的權重變大,而未對齊的權重相對變小。合成的向量經過ReLU激活層和1x1卷積,從而將維數壓縮到1x32x32。這個向量經過一個sigmoid層,該層在範圍[0,1]之間縮放向量,產生Attention係數(權重),其中係數接近1表示更相關的特徵。使用三線性插值將Attention係數向上採樣到x向量的原始維度(64x64)。Attention係數按元素順序與原始x向量相乘,根據相關性縮放向量。然後在skip connection中正常傳遞。Oktay等人還提出了一種基於網格的門控機制,該機制從上採樣路徑而不是下採樣路徑(最低層除外)獲取g向量,因為該向量已經被先前的Attention gate調節為來自多個維度的空間信息。
在3、6、10和150 epochs中可視化Attention係數,其中紅色突出顯示較高的Attention係數。(Oktay et. al, 2018)
隨著訓練的進行,網絡學會將注意力集中在需要的區域。Attention gate的可微性使得它可以在反向傳播時得到訓練,這意味著Attention係數可以更好地突出相關區域。
b)在Keras中實現
4.分析
Oktay等人得到的結果表明,Attention U-Net在總體Dice 係數得分上比普通U-Net有較大的優勢。Attention U-Net具有更多參數(但並不明顯多),推理時間也僅略長。
總之,attention gates是一種簡單的方法,可以在大量數據集中改進U-Net,並且不會在計算成本上帶來大量開銷。