天天看點

論文解讀丨無參數的注意力子產品SimAm

摘要:本文提出了一個概念簡單但對卷積神經網絡非常有效的注意力子產品。

本文分享自華為雲社群《論文解讀系列三十:無參數的注意力子產品SimAm論文解讀》,作者:谷雨潤一麥。

論文解讀丨無參數的注意力子產品SimAm

摘要

本文提出了一個概念簡單但對卷積神經網絡非常有效的注意力子產品。相比于現有的通道注意力和空間注意力機制,本文直接在網絡層中推理出三維的注意力權重而且不增加任何參數量。确切地來說,本文基于著名的神經科學理論提出了通過優化能量函數來查找每個神經元的重要性。本文通過求解能量函數解析解的方式,進一步将代碼實作控制在十行以内。SimAm模的另一個優勢是大多數操作都是基于定義的能量函數的解決方案,是以不需要花太多的精力做結構調整。在各個視覺任務上的定量實驗都表明本文提出的子產品在改善卷積網絡的表征能力上具有靈活性和有效性。

動機

現有的注意力基礎子產品存在兩個問題。一個是他們隻能在通道或者空間次元中的一個次元對特征進行精煉,但在空間和通道同時變化的空間缺乏靈活性。第二是他們的結構往往需要基于一系列的複雜操作,例如池化。文本基于完善的神經科學理論提出的子產品很好的解決了上述兩個問題。具體來說,為了讓網絡學習到更具區分性的神經元,本文提出直接從目前的神經元推理出三維的權重,然後反過來去優化這些神經元。為了有效的推理出三維的權重,本文基于神經科學的知識定義了一個能量函數,然後獲得了該函數的解析解。

方法

在神經科學中,資訊豐富的神經元通常表現出與周圍神經元不同的放電模式。而且,激活神經元通常會抑制周圍神經元,即空域抑制。換句話說,展現出空域抑制效應的神經元在視覺處理任務中應該被賦予更高的重要性。最簡單的尋找重要神經元的方法就是度量神經元之間的線性可分性。基于這些神經科學的發現,本文針對每個神經元定義了如下的能量函數:

論文解讀丨無參數的注意力子產品SimAm

其中,$\hat t=w_t t+b_t, \hat x_i=w_t x_i + b_t$是$t$和$x_i$的線性變換,$t$和$x_i$是輸入特征$\textbf{X}\in \mathbb{R}^{C\times H\times W}$的單通道中的目标神經元和其他神經元。$i$是在空間次元上的索引,$M=H\times M$是一個通道上的神經元的數量。$w_t$和$b_t$是線性變換的權重和偏置。式(1)中的所有值都是标量。當$\hat t=y_t$并且對其他說有神經元都有$\hat x_i =y_o$時,式(1)得到最小值,其中$y_t$和$y_o$是兩個不同的值。最小化公式(1)等價于找到同一通道内目标神經元$t$​和其他神經元的線性可分性。為簡單起見,本文采用二值标簽并添加正則項。最終的能量函數如下式:

論文解讀丨無參數的注意力子產品SimAm

理論上,每個通道都會有$M$個這樣能量函數,如果用像SGD這樣的梯度下降算法去求解這些等式的話,計算開銷将會非常大。幸運地是,等式(2)中$w_t$和$b_t$都可以快速求得解析解,如下式所示:

論文解讀丨無參數的注意力子產品SimAm

其中$u_t=\frac{1}{M-1}\sum{i=1}^{M-1}x_i$和$\sigma_t^2=\frac{1}{M-1}\sum{i}^{M-1}(s_i-\mu_t)^2$​是對應通道中出去神經元$t$​​​後所有神經元的均值和方差。從公式(3)和公式(4)可以看出解析解都是在單通道上得到的,是以可以合理的推測同一個通道的其他神經元也滿足相同的分布。基于這個假設,就可以在所有神經元上計算均值和方差,在同一通道上的所有神經元都可以複用這個均值和方差。是以可以大大減少每個位置重複計算$\mu$和$\sigma$​的開銷,最終每個位置的最小能量可以通過下式得到:

論文解讀丨無參數的注意力子產品SimAm

其中$\mu=\frac{1}{M}\sum{i=1}^{M}x_i$和$\hat\sigma^2=\frac{1}{M}\sum{i=1}^{M}(x_i-\hat\mu)^2$。等式(5)說明,能量$e_t^$越低,神經元$t$和周圍神經元的差別越大,在視覺進行中也越重要。是以,本文通過$1/e_t^$​​​來表示每個神經元的重要性。根據Hillard等人<sup>1</sup>的研究,哺乳動物大腦中的注意力調節通常表現為對神經元反應的增益效應。是以本文直接用了縮放而不是相加的操作來做特征提煉,整個子產品的提煉過程如下:

論文解讀丨無參數的注意力子產品SimAm

其中$\Epsilon$是$e_t^*$在所有通道和空間次元的彙總,$sigmoid$​是用來限制過大的值,它不會影響每個神經元的相對大小,因為它是一個單調函數。

​ 實際上除了計算每個通道的均值和方差外,其他所有的操作都是元素級别點對點的操作 。是以利用Pytorch可以幾行代碼實作公式(6)的功能,如圖一所示。

論文解讀丨無參數的注意力子產品SimAm

圖一 SimAM的pytorch風格實作

實驗

CIFAR 分類實驗

​ 在CIFAR 10類資料和100類資料上分别做了實驗,并和其他四中注意力機制進行了對比,本文提出的子產品在不增加任何參數的情況下在多個模型上都表現出了優越性,實驗結果如圖二所示。

論文解讀丨無參數的注意力子產品SimAm

圖二 五種不同的注意力子產品在不同模型上CIFAR圖像分類任務上的top-1準确率

[1]: Hillyard, S. A., Vogel, E. K., and Luck, S. J. Sensory Gain Control (Amplification) as a Mechanism of Selective Attention: Electrophysiological and Neuroimaging evidence. Philosophical Transactions of the Royal Society of London. Series B: Biological Sciences, 353(1373): 1257–1270, 1998.

點選關注,第一時間了解華為雲新鮮技術~

繼續閱讀