武隨爍,楊金福,單 義,許兵兵
1.北京工業大學 信息學部,北京 100124
2.計算智能與智能系統北京市重點實驗室,北京 100124
通過學習高維數據分布產生新樣本的生成模型被廣泛應用于諸如語音合成[1]、圖像風格轉換[2]、圖像修復[3]等領域,目前最具典型的生成模型有變分自編碼器[4]、自回歸模型[5]以及生成對抗網絡(generative adversarial network,GAN)[6],它們都有各自的優勢和劣勢。變分自編碼器容易訓練,但由于模型的限制,往往會生成模糊的結果。自回歸模型通過直接模擬條件分布雖然能產生較好的結果,但沒有潛在的表示,且評估速度慢,適用性不強。生成對抗網絡可以生成較為清晰的圖像,即使在較小的分辨率和類別變化有限的圖像上,其也能將隨機噪聲以無監督的方式映射成圖像,具有無限建模能力。綜合分析上述三種方法,生成對抗網絡具有最好的生成圖像能力并具有無限發展空間,以最大似然估計為基礎理論的變分自編碼器和自回歸模型則不具備無限建模的能力,生成的圖像也沒有生成對抗網絡那樣逼真。
生成對抗網絡已成為生成模型中的一個研究熱點,吸引了眾多學者,將該模型應用在計算機視覺領域的眾多方向。Ledig 等人[7]將其應用于單張圖像的超分辨率,取得了良好的效果。Tang 等人[8]使用生成對抗網絡模擬正常胸部X 射線的基礎內容結構,進行異常胸部X 射線識別。Jo 等人[9]將生成對抗網絡應用于人臉編輯,使用戶根據草圖修改人的面部。
生成對抗網絡是GoodFellow 等人[6]于2014 年提出的生成模型,該框架包含兩個子網絡,即生成器(G)和判別器(D),它們對應的功能分別為將隨機噪聲映射成樣本分布、鑒別真實樣本與生成的樣本。與其他生成模型(直接以數據分布和模型分布的差異作為損失函數)不同的是,GAN 采用對抗的方式,先通過D學習真實樣本和生成樣本的差異,再引導G生成更靠近真實樣本分布的假樣本,通過交替訓練不斷縮小差異。目前,GAN 主要優化以下最大最小損失函數達到納什均衡:
(1)一種僅通過輸入隨機噪聲訓練無條件生成器的模型。
(2)一種用于不同域之間數據遷移的新技術,是域間無監督圖像轉換的有效方法。
(3)一種新的優化方法,并且提供有效的圖像感知損失函數[12]。
雖然GAN 取得了較大的進步,有效生成了令人信服的圖像,但還存在一些問題亟待解決:
(1)GAN 的訓練過程極其不穩定,網絡對超參數十分敏感,很難達到納什均衡。
(2)GAN 經常出現模型崩潰,導致模型只模擬真實分布的一部分,而不是目標分布的所有分布。
(3)GAN 不能捕捉圖像中某些類別中的結構和幾何形狀。
現有的大量工作多致力于優化GAN 的訓練過程,有些專注于改變GAN 的目標函數,例如LSGAN(least squares generative adversarial networks)[13]將標準GAN 的交叉熵損失換成最小二乘損失,既提高了訓練的穩定性又縮短了訓練時間。有些專注于通過梯度懲罰或歸一化約束D的梯度,確保D可以為G提供有效的梯度,WGAN(Wasserstein generative adversarial networks)[14]模型對D實施限制,使其滿足Lipschitz約束,大大提升網絡的穩定性。雖然WGAN 滿足Lipschitz 約束,但其直接對參數矩陣進行限制,這種做法破壞了參數矩陣的結構,即各參數之間的關系。針對該問題,文獻[15]引進一種新正則化技術,既滿足Lipschitz約束,又不破壞參數矩陣結構。
此外,還有一些研究論文旨在修改GAN 的框架。
EBGAN(energy-based generative adversarial networks)[16]
是第一個將能量模型引入GAN 的框架,它把D看作一個能量模型,采用自編碼器結構,真實樣本賦予低能量,假的生成樣本賦予高能量,通過減小生成樣本的重構誤差,逐漸向真實樣本分布靠近。ProGAN(progressive generative adversarial networks)[17]通過逐步增強G和D來訓練一個高分辨率GAN,其首先從低分辨率圖像開始訓練,然后通過向網絡添加層來逐步提高分辨率,這種訓練方法首先發現大規模的結構圖像分布,然后將注意力轉移到越來越精細的比例細節,而不是同時學習所有比例,但其只在單一特征圖像上產生較好的結果。SAGAN(self-attention generative adversarial networks)[18]通過對加強特征圖各局部位置和全局位置的聯系,試圖使GAN 在多類別圖像上生成高質量圖像,但其忽略了特征圖各通道之間的聯系。
本文針對GAN 不能捕捉圖像中某些類別中的結構和幾何形狀,提出一種基于孿生注意力機制的GAN 模型,它可以通過自適應學習局部與全局特征的依賴性以及各類別間的依賴性,有效地捕獲圖像的幾何結構和分布,從而描繪出更細致逼真的圖像。
圖像生成是計算機視覺中的一個重要的研究方向,GAN 框架的出現使該方向的研究取得了巨大的進展。該模型擅長合成如數字、海洋和天空等較少結構約束的圖像,但在種類較多的數據集上訓練困難,無法捕捉某些類中多次出現的幾何結構和形狀。造成該問題的原因可能是目前的模型過度依賴卷積模擬圖像不同區域間的依賴性,由于卷積具有局部感受野,因此只能通過多個卷積操作才能得到大范圍區域間的依賴性。如圖1 所示,僅獲取7×7 感受野間的特征關系就需要3 個3×3 大小的卷積層,但在卷積操作的過程中,優化算法可能難以協調這么多卷積層,而且越多的卷積層捕獲的依賴關系越弱。如果擴大卷積核的大小,如采用7×7 大小的卷積核,僅通過一個卷積層就可以獲取7×7 感受野間的特征依賴性,但這樣做不僅沒有采用幾個小濾波器卷積層組合的效果好,而且會大大增加計算量。故僅通過卷積層獲取圖像間的依賴關系甚為困難。

Fig.1 Schematic diagram of obtaining 7×7 receptive fields by different convolution kernels圖1 不同卷積核獲取7×7 感受野示意圖
針對CNN 無法有效捕捉圖像的幾何結構和形狀的問題,有學者將廣泛應用在其他領域[19]的注意力模型引入GAN,彌補CNN 框架的不足。注意力模型的本質是通過一系列的注意力分配系數,即權重系數,來強調或選擇目標對象的重要信息,并且抑制一些無關的細節信息。注意力機制可以靈活且一步到位地捕捉局部和全局的聯系,提升模型的表示能力,且模型復雜度小。因此,為了生成更高質量的圖像,本文提出一種基于孿生注意力機制的GAN 框架(twins attention mechanism based generative adversarial network,TAGAN),引入兩個不同的注意力模型,即特征注意力模型和通道注意力模型,分別捕獲特征空間和通道兩個維度上的特征依賴性。下面具體介紹本文提出的模型框架。
為了在特征圖的局部特征中增添其與全局特征的依賴性信息,引入一個特征注意力模型,該模型通過將廣泛的全局空間信息進行編碼,增添到局部特征信息中,從而增強其表示能力,具體框架如圖2 所示,其中C代表特征圖的通道數,H和W分別表示特征圖的高和寬。

Fig.2 Feature attention model圖2 特征注意力模型
首先,前一層的特征圖X∈?C×H×W經1×1 卷積形成R、S、T三個特征空間,各特征空間的通道數量分別為C/8、C/8、C。其中對特征空間R和S的轉置進行矩陣乘法,再應用softmax,得到特征注意力層的參數,具體參數值由式(2)計算得到。

其中,pj,i表示第i個位置的特征對第j個位置的特征的影響,兩個位置的特征越相似,它們之間的相關性就越大。然后,對特征空間T與特征注意力層的轉置進行矩陣乘法操作,得到特征注意力特征圖P=(P1,P2,…,Pj,…,P(H×W))∈?C×(H×W)。

對于特征圖,每個不同的通道可視為代表特定的類,不同的通道彼此具有關聯性,故提出通道注意力模型,提取不同通道間的依賴性,通道注意力模型框架如圖3 所示。

Fig.3 Channels attention model圖3 通道注意力模型
與特征注意力需要對特征圖X∈?C×H×W進行卷積不同,通道注意力直接使用特征圖X計算通道注意力特征層參數,但計算過程類似,計算公式如式(4)所示。

其中,qm,n為第n個通道對第m個通道的影響,兩個通道的特征越相關,它們之間的依賴性就越大。另外,對通道注意力特征層和輸入特征空間X的轉置執行矩陣乘法,最后輸出通道注意力特征圖Q=(Q1,Q2,…,Qm,…,Q(H×W))∈?C×(H×W)。

圖4 所示為孿生注意力模型框架圖,將輸入的特征圖與特征注意力模型和通道注意力模型的輸出P和Q融合,得到具有局部與全局特征依賴信息、各類別依賴信息的特征空間E∈?C×H×W,其計算公式如式(6)所示。

其中,α和β分別為P和Q的超參數,初始化為0,通過反向傳播更新。在網絡訓練過程中,隨著兩個注意力模型從簡單的特征依賴性開始,逐漸學習到復雜的依賴關系,P和Q的權重α和β逐漸增加,將注意力模塊學習到的加權的特征圖加在原始的特征圖上,從而強調了需要施加注意力部分的特征圖。在G和D的高層網絡中,孿生注意力機制作為一個GAN 的輔助結構,級聯在CNN 之后。如圖5 所示為TAGAN 網絡訓練流程圖,其中CNN 表示卷積操作,TA 表示引入的孿生注意力機制,通過G和D不斷循環交替訓練,G生成愈來愈逼真的圖像。

Fig.4 Twins attention mechanism framework圖4 孿生注意力模型框架

Fig.5 Twins attention based generative adversarial network圖5 孿生注意力生成對抗網絡框架
在實驗過程中,引入譜歸一化[15]和SeLU(scaled exponential linear unit)[20]技術,損失函數采用Hinge對抗損失[21]。譜歸一化是一種權重歸一化技術,用于穩定D的訓練過程。通過譜歸一化約束D的梯度,確保D可以給G提供有效的梯度。在網絡傳播時,激活函數SeLU 可以自動將樣本分布推向零均值和單位方差。考慮到SeLU 的歸一化特性一定程度上也可以穩定D,因此本文采用結合譜歸一化和SeLU來穩定D的訓練過程,單獨使用譜歸一化調節G,通過Hinge 對抗損失,交替優化G和D。本文實驗是在MNIST、CIFAR10 和CelebA64 數據集上進行訓練。MNIST 是手寫體數字識別數據集,包含0 至9 共10個數字。CIFAR10 是一個包含飛機等交通工具、鹿等動物10 個類別的,32×32 像素圖像的數據集。CelebA64 是一個每張圖像為64×64 像素的人臉圖像數據集。本文實驗使用的深度學習框架和計算機運行環境如下:Pytorch,Ubuntu16.04,計算機處理器為Intel Xeon?E5-2683 v3,顯卡為GeForce GTX 1070。
為驗證本文提出的孿生注意力機制生產對抗網絡模型的有效性,與流行的WGAN-GP(Wasserstein generative adversarial networks-gradient penalty)[22]和同樣使用注意力機制的SAGAN[18]進行比較。與其他類似單純增加批次尺寸來擴大參數量不同的是,這幾個模型的共同特點是結構簡單,參數量相對較少,僅占用較小的GPU 內存,使用這種相似的GAN 框架模型作對比,更能驗證所提方法的有效性。生成的圖像如圖6 所示,圖(a)、(d)、(g),圖(b)、(e)、(h)和圖(c)、(f)、(i)分 別 是SAGAN、WGAN-GP 和TAGAN 生成的圖像,圖(a)、(b)、(c),圖(d)、(e)、(f)和圖(g)、(h)、(i)分別為利用MNIST、CIFAR10 和CelebA64 數據集訓練的GAN 模型生成的圖像。SAGAN 模型因為同樣使用了注意力機制,其生成的圖像風格與TAGAN 的圖像相似,但SAGAN 生成的圖像出現較多的異常結構圖像,尤其是在復雜的CIFAR10 數據集上,如圖(d)所示。究其原因,SAGAN 雖然通過注意力模型捕獲了單張特征圖上的特征依賴關系,但無法捕捉各通道之間的聯系,無法整合各個類別間的依賴信息,故未能成功捕獲圖像的所有幾何特征和結構。從圖(h)可明顯看出,WGAN-GP 生成的圖像有尖銳的鋸齒狀邊緣,沒有引入注意力機制的GAN 框架生成的圖像平滑。從3 幅MNIST 圖像也可明顯看出,圖(b)比圖(a)和圖(c)模糊。SAGAN 和WGAN-GP 因為無法完全模擬真實樣本的結構分布而出現較多的無序圖像。與它們相比,TAGAN 圖像表現出更好的有序性,能夠更好地捕捉真實樣本的特征信息去模擬幾何結構,使圖像看起來更逼真,例如圖(i)所示,混亂圖像大大減少,繪畫出的人臉圖像也更逼真更細致。

Fig.6 Comparison of generated images by TAGAN,SAGAN and WGAN-GP圖6 TAGAN 與SAGAN、WGAN-GP 生成圖像對比
此外,GAN 學習作為一個無監督的過程,很難找到一個客觀、可量化的評估指標。有許多指標在數值上雖然高,但生成結果未必好,可能出現數值結果與人的主觀判斷結果相反的現象。為了客觀評價TAGAN,本文采用一種相對有效且被廣泛采用的評估方法——FID(Frechet inception distance)[23]。FID將真實樣本x和生成樣本g建模為高斯隨機變量,其樣本均值為μx和μg,樣本協方差為Σx、Σg。兩個高斯分布的距離可通過式(7)計算。

FID 作為兩個分布之間的距離,數值越低表示兩個分布越接近。生成的MNIST、CelebA64和CIFAR10圖像與真實樣本間的FID 數值如表1 所示。TAGAN在3 個數據集上的表現都優于SAGAN 和WGAN-GP的結果,表明TAGAN 生成的圖像樣本分布與真實樣本分布更接近,能有效捕捉圖像局部與全局特征之間的依賴、單個類別和多個類別之間的依賴關系,生成更高質量的圖像。

Table 1 FIDs with different GAN frameworks on MNIST,CIFAR10 and CelebA64表1 不同GAN 方法在MNIST、CIFAR10和CelebA64 上的FID 值
針對傳統GAN 無法有效提取圖像局部與全局特征間依賴關系以及各類別間依賴關系的問題,提出一種基于孿生注意力機制的生成對抗網絡模型,包含特征注意力和通道注意力兩個子模型。以注意力機制為驅動,兩個子模型分別對局部特征和全局間依賴關系以及各類別間的依賴關系進行建模,用于圖像生成任務。在3 個數據集上進行實驗,結果表明本文提出的框架比其他框架能夠更全面地獲取圖像中的特征信息,生成的圖像結構分布也與真實分布更為接近。在未來的工作中,將致力于生成更復雜的高分辨率圖像。