作者:Shuchen Du
編譯:ronghuaiyang
導(dǎo)讀
計(jì)算機(jī)視覺中的編解碼結(jié)構(gòu)的局限性以及提升方法。
卷積神經(jīng)網(wǎng)絡(luò)(CNN)廣泛應(yīng)用于深度學(xué)習(xí)和計(jì)算機(jī)視覺算法中。雖然很多基于CNN的算法符合行業(yè)標(biāo)準(zhǔn),可以嵌入到商業(yè)產(chǎn)品中,但是標(biāo)準(zhǔn)的CNN算法仍然有局限性,在很多方面還可以改進(jìn)。這篇文章討論了語義分割和編碼器-解碼器架構(gòu)作為例子,闡明了其局限性,以及為什么自注意機(jī)制可以幫助緩解問題。
標(biāo)準(zhǔn)編解碼結(jié)構(gòu)的局限性
圖1:標(biāo)準(zhǔn)編解碼結(jié)構(gòu)
解碼器架構(gòu)(圖1)是許多計(jì)算機(jī)視覺任務(wù)中的標(biāo)準(zhǔn)方法,特別是像素級預(yù)測任務(wù),如語義分割、深度預(yù)測和一些與GAN相關(guān)的圖像生成器。在編碼器-解碼器網(wǎng)絡(luò)中,輸入圖像進(jìn)行卷積、激活以及池化得到一個(gè)潛向量,然后恢復(fù)到與輸入圖像大小相同的輸出圖像。該架構(gòu)是對稱的,由精心設(shè)計(jì)的卷積塊組成。由于其簡單和準(zhǔn)確,該體系結(jié)構(gòu)被廣泛使用。
圖2:卷積的計(jì)算
但是,如果我們深入研究卷積的計(jì)算(圖2),編碼器-解碼器架構(gòu)的局限性就會(huì)浮出表面。例如,在3x3卷積中,卷積濾波器有9個(gè)像素,目標(biāo)像素的值僅參照自身和周圍的8個(gè)像素計(jì)算。這意味著卷積只能利用局部信息來計(jì)算目標(biāo)像素,這可能會(huì)帶來一些偏差,因?yàn)榭床坏饺中畔ⅰ?/strong>也有一些樸素的方法來緩解這個(gè)問題:使用更大的卷積濾波器或有更多卷積層的更深的網(wǎng)絡(luò)。然而,計(jì)算開銷越來越大,結(jié)果并沒有得到顯著的改善。
理解方差和協(xié)方差
方差和協(xié)方差都是統(tǒng)計(jì)學(xué)和機(jī)器學(xué)習(xí)中的重要概念。它們是為隨機(jī)變量定義的。顧名思義,方差描述的是單個(gè)隨機(jī)變量與其均值之間的偏差,而協(xié)方差描述的是兩個(gè)隨機(jī)變量之間的相似性。如果兩個(gè)隨機(jī)變量的分布相似,它們的協(xié)方差很大。否則,它們的協(xié)方差很小。如果我們將feature map中的每個(gè)像素作為一個(gè)隨機(jī)變量,計(jì)算所有像素之間的配對協(xié)方差,我們可以根據(jù)每個(gè)預(yù)測像素在圖像中與其他像素之間的相似性來增強(qiáng)或減弱每個(gè)預(yù)測像素的值。在訓(xùn)練和預(yù)測時(shí)使用相似的像素,忽略不相似的像素。這種機(jī)制叫做自注意力。
方程 1: 兩個(gè)隨機(jī)變量X和Y的協(xié)方差
CNN中的自注意力機(jī)制
圖3: CNN中的自注意力機(jī)制
為了實(shí)現(xiàn)對每個(gè)像素級預(yù)測的全局參考,Wang等人在CNN中提出了自我注意機(jī)制(圖3)。他們的方法是基于預(yù)測像素與其他像素之間的協(xié)方差,將每個(gè)像素視為隨機(jī)變量。參與的目標(biāo)像素只是所有像素值的加權(quán)和,其中的權(quán)值是每個(gè)像素與目標(biāo)像素的相關(guān)。
圖4: 自注意機(jī)制的簡明版本
如果我們將原來的圖3簡化為圖4,我們就可以很容易地理解協(xié)方差在機(jī)制中的作用。首先輸入高度為H、寬度為w的特征圖X,然后將X reshape為三個(gè)一維向量A、B和C,將A和B相乘得到大小為HWxHW的協(xié)方差矩陣。最后,我們用協(xié)方差矩陣和C相乘,得到D并對它reshape,得到輸出特性圖Y,并從輸入X進(jìn)行殘差連接。這里D中的每一項(xiàng)都是輸入X的加權(quán)和,權(quán)重是像素和彼此之間的協(xié)方差。
利用自注意力機(jī)制,可以在模型訓(xùn)練和預(yù)測過程中實(shí)現(xiàn)全局參考。該模型具有良好的bias-variance權(quán)衡,因而更加合理。
深度學(xué)習(xí)的一個(gè)可解釋性方法
圖5: SAGAN中的可解釋性圖像生成
SAGAN將自注意力機(jī)制嵌入GAN框架中。它可以通過全局參考而不是局部區(qū)域來生成圖像。在圖5中,每一行的左側(cè)圖像用顏色表示采樣的查詢點(diǎn),其余五幅圖像為每個(gè)查詢點(diǎn)對應(yīng)的關(guān)注區(qū)域。我們可以看到,對于天空和蘆葦灌木這樣的背景查詢點(diǎn),關(guān)注區(qū)域范圍廣泛,而對于熊眼和鳥腿這樣的前景點(diǎn),關(guān)注區(qū)域局部集中。
參考
Non-local Neural Networks, Wang et al., CVPR 2018
Self-Attention Generative Adversarial Networks, Zhang et al. ICML 2019
Dual Attention Network for Scene Segmentation, Fu et al., CVPR 2019
Wikipedia, https://en.wikipedia.org/wiki/Covariance_matrix
Zhihu, https://zhuanlan.zhihu.com/p/37609917
英文原文:https://medium.com/ai-salon/understanding-deep-self-attention-mechanism-in-convolution-neural-networks-e8f9c01cb251