張智杰,尉 飛,葛青青,趙寶奇,孫軍梅,李秀梅
(杭州師范大學 信息科學與技術學院,杭州 311121)
卷積神經網絡廣泛應用于圖像分類、語義分割和圖像生成等計算機視覺領域,其通過卷積核對圖像中的局部區域做卷積,以提取圖像中的特征,在每一層的卷積中通過參數共享以減少模型復雜度,之后結合池化操作實現位移不變性的識別.現有的卷積神經網絡普遍將3×3 卷積作為其基本構建模塊.對于卷積神經網絡而言,卷積核的感受野、深度以及通道數決定了網絡的性能.感受野越大,表示特征圖上像素點映射的區域越大;深度決定了網絡的抽象能力或學習能力;通道數決定了卷積核所包含的信息量大小.感受野和通道數共同決定了卷積層學習有效信息與空間的能力.
2012年,卷積神經網絡在復雜模型下的有效性得到證明[1];2015年Inception Net v1[2]以及v2、v3、v4[3]證明了更多的卷積和更深的網絡可以得到更好的分類效果;2016年,ResNet 解決了深度網絡結構的訓練問題[4].傳統的卷積操作主要有3 個缺點:(1)使用的是局部操作,不能得到比較大的范圍甚至圖像的全局特征,且卷積核是固定的尺寸;(2)對物體的形狀、姿態變化缺少適應性;(3)當特征的通道數變大后,卷積核的參數也變得龐大,增加了運算量.在傳統的卷積神經網絡中,圖像輸入到卷積神經網絡后,先對圖像做傳統的卷積,然后進行池化操作,通過降低特征點的數量來擴大感受野[5].由于圖像分割是像素級的預測,對池化后較小尺寸的圖像上采樣到的原始圖像尺寸進行預測,這種先池化后上采樣的操作使得特征圖的尺寸依次進行了縮小和增大,該過程帶來了信息的損失.
2015年,空洞卷積被提出,它是在標準的卷積核上注入空洞,以達到擴大感受野的目的.相較于傳統卷積,空洞卷積不僅可以保留數據的內部結構,也可以獲得上下文信息,而且不需要下采樣、池化等操作來進行特征的提取.在WaveNet[6],ByteNet[7]等網絡中,也用到了空洞卷積,以提升網絡性能.空洞卷積起源于圖像分割領域,也廣泛應用于在分類任務中[8].空洞卷積避免了池化所帶來的信息丟失,彌補了上述傳統卷積的3 個缺點[9],但同時帶來了空間層次和信息連續性丟失等問題.
不對稱卷積通常用于模型的加速和壓縮.在現有研究中,研究者將n×n的對稱卷積分解為1×n和n×1 卷積,減少了模型的參數.如果二維卷積核的秩為1,其運算可以等價轉換成一系列的一維卷積.在實際情況中,由于卷積核具有分布特征值,因此卷積核的秩要高得多,直接應用會導致信息大量損失.Denton 等人用奇異值分解[10],找到了一個低秩逼近,對上層進行精細化來恢復卷積性能.Jaberberg 等人通過最小化重構建誤差,成功學習了水平核和垂直核[11].Jin 等人應用結構約束使二維卷積可分離,在精度不變同時使計算時間加速2 倍[12].非對稱卷積也廣泛應用于網絡結構的構成,如Inception Net 中,1×7和7×1 卷積代替了7×7 卷積.ENet 網絡中也采用了不對稱卷積設計網絡,雖然分類效果有所下降,但是模型參數降低了33%,降低了網絡的復雜度[13].
針對空洞卷積所帶來的問題,本文提出了一種新的并行不對稱空洞卷積模塊,用2×2的空洞卷積、1×3和3×1的不對稱卷積進行并列相加,代替原有的3×3 卷積,以增強原有的卷積核.本文主要貢獻如下:
(1)本文提出的并行不對稱空洞卷積模塊引入了空洞卷積,在不增加參數的情況下,可以擴大感受野,捕獲多尺度上下文信息.
(2)本文提出的并行不對稱空洞卷積模塊,著重在特定維度尋找特征,補全空洞卷積在空間層次上缺失的信息,使整個網絡具有更好的連續性.
(3)本文提出的并行不對稱空洞卷積模塊在CIFAR-10[3],孟加拉文(https://www.kaggle.com/c/bengaliaicv19/data)等數據集上得到了較好的分類效果,并可嵌入到任意的卷積神經網絡中,提高模型的特征表達能力.
本文提出了一種并行不對稱空洞卷積模塊,如圖1所示.通過不對稱卷積結構的特殊性,使得模塊在不改變感受野的情況下充分利用特征圖所含信息,提高了網絡模型的特征表達能力.新模塊可以用來代替傳統的連續卷積,在不增加模型復雜度的情況下,提升整個模型的準確率.

圖1 并行不對稱空洞卷積模塊
本文所提出模塊的網絡結構如表1所示.

表1 并行不對稱空洞卷積模型結構
本文將從卷積操作出發,在普通卷積上注入空洞,連續卷積核進行卷積操作如式(1)[9]:

其中,*是二維卷積操作,對于輸入x∈?C×H×W,n*n卷積核f∈?C×K×H,輸出n維特征圖.對于該層的第j個卷積核,相應的輸出特征映射通道如式(2):

其中,χ:,:,k是x的第k個通道的特征圖,而代表的第k個尺寸為H*W卷積核.設F是一個離散過濾器即空洞卷積,定義l為空洞率,*l為空洞卷積操作:

空洞卷積支持指數擴展的感受野,不會丟失分辨率或覆蓋范圍.將偶數尺寸的卷積核[14]通過注入奇數個空洞,其感受野范圍等價于一個奇數尺寸的連續卷積,其對應的輸出映射通道等價于式(2),因此空洞卷積能夠代替連續卷積操作.
對于經過普通卷積后再池化的操作而言,空洞卷積不僅能夠達到與其一致的效果,而且減少了因池化所丟失的信息.與此同時,空洞卷積也帶來了一些弊端.空洞卷積操作會使一些信息因特征空間上的連續而丟失,如圖像角落和邊界的信息.注入過多的空洞數量可能會導致預測結果出現棋盤效應.如果可以補充所丟失的連續信息,則空洞卷積可以比普通卷積提取到更有效的特征.
將幾個大小兼容的二維卷積核在相同的輸入數據上進行相同步幅的卷積操作,可以得到相同分辨率的輸出[15].通過將這些輸出求和并在相應的位置上進行相加,可以得到等效核的輸出特征圖.即使卷積核大小不同,二維卷積的可加性依舊成立.因此可以引入兩個不同類型的不對稱卷積來補充所丟失的信息[15].

其中,I是一個輸入圖片,K(1)與K(2)是兩個相兼容的卷積核,將它們的輸出相加,操作上等價于卷積核K(3)的輸出.卷積核K(3)能 夠同時兼容K(1)與K(2).兼容是指尺寸較小的卷積核可以填充到較大的卷積核里.
如圖2所示,1*3 卷積核、3*1 卷積核和2*2 空洞卷積核因為形狀的兼容性,可以被3*3的卷積核填充.將1*3 卷積核、3*1 卷積核和2*2 空洞卷積核所形成的特征圖依次相加,其得到的特征圖和3*3 卷積核所形成的特征圖等價.

圖2 卷積并行性
對于對稱卷積而言,不對稱卷積更加注重特定維度的特征,其感受野與對稱卷積的感受野不同.例如1*3 卷積核在卷積的過程中,更加傾向于列間特征的提取.

其中,fi表示n*n大小的第i個 卷積核,τ和h是兩個列向量,k是f的秩.因為卷積核的尺寸不同,不對稱卷積的特征提取操作與普通卷積的特征提取相比,不僅減少了對稱卷積帶來的信息冗余,而且在不對稱卷積之間又引入了非線性激活函數.因此,不對稱卷積的非線性提高了網絡模型的擬合能力.將互相兼容的不對稱卷積得到的特征圖相加,也可以增強特征圖的特征表達能力.
3 *3 卷積核的感受野為9,計算量為9 *N*H*W*C,其中N是參數量,H,W分別為輸入特征圖的長寬,C是輸出通道大小;卷積核尺寸為2*2,空洞率為2的空洞卷積與卷積核尺寸為3*3的卷積相比,計算量為4*N*H*W*C,在感受野相同的情況下,計算量減少了一半.與3*3 卷積相比,1*3 卷積、3*1 卷積和2*2空洞卷積三者的計算量總和僅有少量的參數增長.
本文采用CIFAR-10 與孟加拉文數據集對所提出模塊的性能進行驗證.CIFAR-10 數據集共有60 000 張彩色圖像,這些圖像大小為32×32,分為10 個類,每類6000 張圖.孟加拉文數據集為Kaggle2020 比賽提供的數據集,包括10 000 張孟加拉文手寫體圖片.
將本文所提出的并行不對稱空洞卷積模塊嵌入到不同的基礎網絡,如VGG19、ResNet-34、ResNet-50、SENet-34和SENet-50 網絡,并與原基礎網絡進行對比.本文使用十折交叉驗證方法,損失函數為交叉熵損失函數,學習率初始化為0.001,batchsize為128,epoch為100,均在TITAN V 上進行試驗.
(1)與基礎網絡進行比較
我們采用CIFAR-10 與孟加拉文數據集,比較了VGG19、ResNet-34、ResNet-50、SENet-34、SENet-50 五種經典的基礎網絡及其嵌入了本文所提出的并行不對稱空洞卷積模塊后網絡的分類效果.在嵌入模塊的網絡中,均將模塊嵌入到網絡輸出層位置,將連續卷積核和不對稱空洞卷積模塊的感受野面積都固定為9.卷積核大小為2*2,空洞率為1的空洞卷積在不對稱卷積的信息補充下,其準確率與原基礎網絡相比有所提高.實驗結果如表2、表3及圖3、圖4所示.通過對比可見,嵌入模塊后網絡的準確率均有比較明顯的提升.實驗結果表明,通過空洞卷積和不對稱卷積對特征圖的信息補償,使得網絡中所嵌入的并行不對稱空洞卷積模塊可以更好地提取特征,提高了模型的特征表達能力,提升了網絡的分類效果.

圖3 在CIFAR-10 數據集上的準確率比較

圖4 在孟加拉文數據集上的準確率比較

表2 在CIFAR-10 數據集上的分類準確率比較(%)

表3 在孟加拉文數據集的準確率比較(%)
(2)與ACNet 卷積比較
在該部分中,我們將并行不對稱空洞卷積模塊中的2*2 空洞卷積替換成3*3的普通連續卷積后,則模塊變成ACNet的不對稱卷積模塊ACB[15].我們將并行不對稱空洞卷積模塊與替換成普通連續卷積的ACB模塊分別嵌入到VGG19、ResNet-34、SENet-34 網絡的輸出層位置,保持相同的網絡結構,對CIFAR-10 數據集上的分類效果進行比較,實驗結果如表4及圖5所示.實驗結果表明,嵌入并行不對稱空洞卷積模塊的網絡比嵌入ACB 模塊的網絡準確率更高,模型復雜度也更低.這是因為不對稱卷積結構的特殊性,使其與空洞卷積的結構相匹配,與連續卷積搭配相比,準確率要高;由于空洞卷積比連續卷積的參數要少,使得模型的復雜度也降低了很多.只有與空洞卷積相結合,不對稱卷積的特征補償能力才能更好地體現.

表4 與ACB 模塊的準確率及網絡復雜度比較

圖5 與普通卷積模塊的準確率比較
該部分將并行不對稱空洞卷積模塊分別嵌入到ResNet-34 網絡中的不同層并進行比較,其中損失函數的振蕩變化及收斂情況如圖6所示.
當模塊嵌入到ResNet-34 模型輸出層位置時,損失函數的收斂趨勢如圖6(a)所示.當模塊嵌入到ResNet-34 模型網絡輸入層位置時,損失函數的收斂趨勢如圖6(b)所示.兩者的迭代次數和運行環境均一致.可見,模塊嵌入到模型的網絡輸出層位置時,其損失函數的振蕩比模塊嵌入到網絡輸入層時的振蕩要小.這是因為該模塊中含有不對稱卷積,當放在與輸入層比較近的位置時,會導致網絡的信息損失變大,收斂速度變慢.而將模塊嵌入到網絡輸出層,則會加速收斂的過程,提升網絡的性能.

圖6 模塊嵌入到模型不同位置時模型損失函數的收斂趨勢
本文提出了一種并行不對稱空洞卷積模塊,用不對稱卷積補充空洞卷積,通過不對稱卷積結構的特殊性,在不同維度上收集特征,使得模塊在不改變感受野的情況下充分利用特征圖的信息,提高了網絡模型的特征表達能力.同時,該模塊通過引入空洞卷積,使得模型在與普通卷積復雜度相近的情況下,達到使用同樣感受野尺寸的普通卷積的分類效果.不對稱卷積補充了空洞卷積所丟失的信息,補充了不同維度的信息,而且加速了整個網絡的收斂過程,提高了網絡的效率.本文將該模塊嵌入到五種基本網絡,并對CIFAR-10 與孟加拉文數據集進行了分類比較,結果準確率均有較大的提高.該模塊可嵌入其它任何網絡模型中,幫助提高網絡模型的分類效果,也可遷移到其它圖像的分類任務當中.