注意力機制論文 --- Crop leaf disease recognition based on Self-Attention convolutional neural network


最近找了十幾篇神經網絡注意力機制的論文大概讀了一下。這篇博客記錄一下其中一篇,這篇論文大概只看了摘要和方法。本文主要就是識別農作物葉子疾病,因為農作物葉子疾病圖片背景復雜並且只有葉子區域會有小的反差。本文采用的就是自注意力卷積神經網絡self-attention convolution neural network(SACNN),這個SACNN由倆部分的網絡組成,一個是base-net,還有一個是SA-net,其中基礎網絡用來提取圖片的全局特征,SA-net用於提取病變的局部特征。這里的SA就是為了提高CNN的抗干擾能力。本文在方法部分講了網絡的結構和參數的試驗。

Base-Net

Base-Net,基礎網絡其實就是卷積的疊加,並且使用殘差來改善。基礎網絡一共由九層,前三層都是殘差塊,這三層用於加速訓練的收斂速度,改善精確率、並且使網絡不容易陷入過擬合中,每個殘差塊有三個卷積操作。后面是一個最大池化層,三個卷積層,一個全局平均池化層和一個softmax層。這么多卷積層的目的就是為了能夠提取出圖片的全局特征。


圖1. Base-Net

Self-attention net

Self-attention net,三個並行的卷積操作,倆個矩陣乘法運算,一個softmax層和一個額外的操作。在整個網絡中self-attention net是嵌套在base-net中的。圖中的轉置操作是矩陣運算的需要,attention maps是self-attention net網絡的關鍵值,有了它之后就可以計算出后面的SA和out的值。Self-attention利用attention來計算每個單詞與其他所有單詞之間的關聯,這樣就可以考慮到了上下文之間的信息。在圖中也是這樣進行運算的,Conv1每個塊都會和Conv2圖像中所有的塊進行計算相乘,之后使用softmax來歸一化處理得到attention maps。其中的ratio就是通道設置參數,一般設置為1/2,1/4,1/8,1/10,1/16。


圖2. Self-attention Net

整體的過程可以用公式來表示:

\[Out(x) = \mu SA(x) + In(x) \]

\[SA(X) = N(x_j)^TAtt_{ji} \]

\[Att_{ji} = \frac{exp(F_{ij})}{ \sum_{i=0}^Iexp(F_{ij})} \]

總體結構

其中網絡整體結構如下所示


圖3. 網絡整體結構

其中藍色塊就是Base-Net,雖然圖中標記為Conv。實驗表明,SA放在conv8是最好的,並且其中的ratio取1/2或者1/8是最好的,不過ratio對之影響很小。並且SA網絡只有一個才是最好的,多個SA網絡會過分強調局部特征而忽略了全局特征。

這篇文章注重了全局和局部倆種特征,不過對於局部特征用的是self-attention的方法來進行設計上下文信息的。不過全局就是普通的卷積層的疊加來提取出的全局特征。對於文中局部特征的提取,還是可以值地參考的設計。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM