陳才扣,高 俊
(揚州大學 信息工程學院,江蘇 揚州 225127)
近年來,一種新型生成模型的提出引起了廣泛關注,以Goodfellow 等[1]2014 年提出的生成對抗模型(Generative Adversarial Nets,GAN)為代表,強調生成器(Generator)與判別器(Discriminator)兩者之間進行博弈,最終輸出高精度的圖像。迄今為止,生成對抗網絡已經在圖像生成、語音合成、目標檢測、風格遷移等領域發揮作用。在博弈過程中需要同步優化生成器和判別器,期望達到納什均衡,但在實際過程中,難以要求判別器與生成器同時達到收斂,最終導致生成對抗模型的穩定性不足。在訓練過程中,生成器更偏向于生成單一樣本,而判別器傾向于識別單一樣本,導致生成對抗模型出現模式坍塌(Mode collapse)問題,使生成的圖片不具有多樣性。
為了解決生成對抗模型的穩定性和多樣性問題,學者們在原始生成對抗模型上進行多方面改進[2-6]。其中,最具有代表性的是Wasserstein GAN,首先從理論上解釋了GAN 訓練不穩定的原因,原模型中采用的JS 散度在一定情況下會產生梯度消失問題,因而選擇Wasserstein 距離來度量真實圖像分布與生成圖像分布之間的距離。針對模式坍塌問題,Mescheder 等[7]觀察到GANs 很難通過梯度下降的優化方式訓練到收斂,而WGAN 中引入梯度懲罰項可很好地緩解模式坍塌問題。
在非穩態的環境中,神經網絡模型的遺忘能力會隨著網絡深度的加深而加劇[8]。如果鑒別器忘記了先前的分類邊界,可能會造成訓練不穩定或重復訓練等問題。在復雜數據集下,這些問題變得更加突出。可以說,用監督信息增強鑒別器可鼓勵其學習更穩定的表征,防止災難性的遺忘。將一種基于角度旋轉的自監督模型應用于生成對抗模型中[9],用前置任務從大規模的無監督數據中挖掘自身的監督信息,將樣本圖像旋轉0°、90°、180°、270°作為偽標簽,建立一個平穩的對抗學習環境來抵抗模式坍塌問題,以提高圖像的特征學習能力。
但是,基于旋轉角度自監督的方式是在整體上進行旋轉對比,只考慮到樣本的全局信息,并不能注意到圖片的局部信息,模型細化能力差,生成的圖片不夠清晰。因此,本文基于角度旋轉自監督生成對抗網絡提出一種基于圖像塊對比自監督生成對抗模型,同時解決兩個前置任務:角度旋轉與圖像分割。模型不但能夠注意到整體之間的聯系,而且能從局部細節上獲取信息,使生成器的表征能力得到提升。
生成對抗網絡如圖1 所示。對抗生成模型分為生成器和判別器。生成器通過輸入噪聲產生虛假圖片,判別器通過將真實圖片與生成器輸出的虛假圖片進行對比,使得生成器不斷更新,最終輸出高質量的圖片。生成器不斷輸出虛假的圖片想要試圖騙過判別器,而判別器的判別能力逐步加強,令生成器產生的虛假圖片與真實圖片區分開來,迫使生成器不得不逐步提高自己的能力,生成與真實圖片更相似的圖片。生成器和判別器在對抗中學習,模型的生成能力與判別能力也逐漸增強。
生成器G 捕捉樣本數據的分布,用服從某一均勻分布或高斯分布等的噪聲向量 z 生成一個類似真實訓練數據的樣本,追求效果是與真實樣本越相似越好。

Fig.1 Generative adversarial nets圖1 生成對抗網絡
判別器D 是一個二分類器,估計一個樣本來自于訓練數據的概率。如果樣本來自于真實的訓練數據,則D 輸出大概率,否則D 輸出小概率。
該模型屬于一種基于圖像變換的自監督對抗生成模型,如圖2所示。

Fig.2 Self-supervised model based on angular rotation圖2 基于角度旋轉的自監督模型
生成器通過噪聲隨機生成32*32*3 的虛假圖片,先進行圖片旋轉操作,將真假圖片隨機旋轉0。、90。、180。、270。送入模型中。將未旋轉的圖片送入真假判別器D1中判別圖片真假,旋轉之后的圖片送入角度判別器D2中判別旋轉角度,真假判別器D1與角度判別器D2共享權值。其目標函數定義如下:
其中,x~PG表示圖片來自于生成器,x~Pdata表示圖片是真實的,V(G,D)表示上述的主判別器優化函數,R=r表示裁剪后圖像的旋轉角度標簽,r={0,90,180,270},xr表示經過旋轉后對應標簽所對應的圖,QD(R|xr)表示圖像旋轉角度預測分布,α、β表示判別器損失權重。
考慮到基于角度旋轉自監督的生成對抗模型僅考慮了全局相關性,而忽略了局部特性關聯性,本文在角度旋轉的基礎上引入patches 分割技術,構建基于patches 的自監督生成對抗模型,如圖3 所示,使模型能夠同時注意全局與局部信息。

Fig.3 Self-supervised model based on patches clipping and segmentation圖3 基于patches裁剪分割的自監督模型
該模型將噪聲輸入判別器G(z),產生虛假的圖片,然后將產生的虛假圖片與真實圖片進行隨機分割處理,按順序分別標記為0、1、2、3、4。其中,0 代表未被分割的圖片,1 代表圖片被分割后的第一塊,以此類推。通過給真實圖片與虛假圖片做標記,實現自監督的目的。接下來將標記的圖片送入判別器中進行判別,主判別器用來判別未分割的圖片,與普通生成對抗模型的判別器功能一致,判別圖片是否為真,得到真假損失函數。將分割后的圖片送入位置信息判別器D3,位置信息判別器損失函數可表示為:
其中,x~PG表示圖片來自于生成器,x~Pdata表示圖片是真實的,V(G,D)表示上述的主判別器優化函數,M=m表示裁剪后的圖像分塊位置標簽,m={0,1,2,3,4},xm表示圖像經裁剪過后對應標簽所對應的圖塊,QD(M|xm)表示圖像分塊位置預測分布,η、λ表示判別器損失權重。
此時,模型的總損失函數為:
考慮到將圖像分塊后忽略了局部與局部之間的關系,本文通過patches 圖像重疊的方法又將不同patches 之間的信息聯系起來[14],如圖4 所示。原輸入為左上角4*4 邊框patches,大小為,通過改變分割區域大小,將輸入patches 的大小增加至,此時輸入圖像的信息包含了另外3 個分塊的部分信息。如圖5 所示,以邊緣重疊后第一塊patches 為例,除原先的4*4 窗口外,分別包含另外3 個輸入patches 窗口的信息。通過這種重疊patches 輸入的方法,可有效增強分塊后局部與局部之間的信息聯系。

Fig.4 Amplify edge information圖4 擴增邊緣信息
IS(Inception Score)[10]是生成模型的一種評價指標,其主要衡量模型兩方面的性能:①生成的圖片是否清晰;②生成的圖片是否多樣。

Fig.5 Information exchange among between patches圖5 不同patches之間的信息交流
FID(Fréchet Inception Distance)[11]用來計算真實圖像與生成圖像的特征向量間距離。將生成圖像與真實圖像輸入分類網絡Inception v3 Network[12],在倒數第二個全連接層輸出1*1*2 048 特征向量,用于度量真實圖像在分類網絡中輸出的2 048 個特征向量集合的均值和協方差矩陣。
其中,μx、∑x表示真實圖像在分類網絡中輸出的 2 048 個特征向量集合的均值和協方差矩陣;μg、∑g表示生成圖像在分類網絡中輸出的2 048 個特征向量集合的均值和協方差矩陣。
CIFAR-10 數據集[13]:如圖6 的左圖所示,CIFAR-10數據集由10 個類的60 000 個32*32 彩色圖像組成,每個類有6 000 個圖像。將數據集分為兩部分,50 000 個訓練圖像和10 000個測試圖像。
STL-10 數據集[14]:如圖6 的右圖所示,STL-10 數據集由10 類100 000 張96*96 彩色圖像構成,設計靈感來自于CIFAR-10 數據集。但與其不同的是,該數據集中每個類的標記訓練示例較少,以便在監督訓練之前學習圖像模型。
實驗平臺為PyCharm,實驗參數如下:使用Resnet 殘差結構以及Adam 自適應學習率的梯度下降算法,設置batch size 為120,learning rate 為0.000 2,迭代次數為25 000。損失權重α=1,β=0.5,η=0.5,λ=0.5。

Fig.6 CIFAR-10 dataset and STL-10 dataset圖6 CIFAR-10數據集與STL-10數據集
如圖7、圖8 所示,上面一排為數據集中的真實圖片,下面一排為本文自監督模型生成的圖片。生成的圖片是根據原數據集中的10 類圖片進行構造的,包括飛機、汽車、鳥、貓、狗等生活中常見的事物,從生成的圖片中仍能清晰看出輪船、狗、汽車等圖像。從生成圖片的視覺效果來看,本文提出的自監督生成對抗模型具有較好的性能。

Fig.7 Images generated by the self-supervised model on the CIFAR-10 dataset圖7 自監督模型在CIFAR-10數據集上生成的圖像

Fig.8 Images generated by the self-supervised model on the STL-10 dataset圖8 自監督模型在STL-10數據集上生成的圖像
如表1 所示,本文在同一設備上、同樣的實驗環境下,分別采用原始生成對抗模型、基于角度旋轉的自監督生成對抗模型(SS-GAN)、基于裁剪分割的自監督生成對抗模型(SSC-GAN)以及基于角度旋轉和裁剪分割的雙自監督生成對抗模型進行實驗。相較于原始的生成對抗模型,基于角度旋轉的自監督模型(SS-GAN)將FID 降低到25.35,同時IS從7.662上升到7.871。
本文提出的基于裁剪分割的自監督模型與基于角度旋轉的自監督模型相比,FID 與IS 獲得的分數相差不大。考慮到裁剪分割自監督只將裁剪圖像塊進行比較,僅考慮了局部信息,而沒有注意到整體之間的聯系,因此在其基礎上將局部與整體結合起來,提出基于角度旋轉和裁剪分割的雙自監督生成對抗模型,相當于提出兩個前置任務,采用兩個輔助判別器。實驗數據如表1 所示,本文模型將FID 降低到了24.47,將IS提高到了7.871,效果相當明顯。

Table 1 Comparison of FID and IS among original GAN,SS-GAN,SSC-GAN and SS+SSC-GAN models表1 原始GAN、SS-GAN、SSC-GAN、SS+SSC-GAN 4種模型FID與IS對比
為了更好地增強局部之間的信息傳遞,以拓展patches分割大小,進行不同塊之間的信息擴增,再次將模型的FID提高到7.952,IS降低到23.34,實驗結果如表2所示。

Table 2 Comparison of FID and IS before and after adding edge overlap表2 增加邊緣重疊的前后FID、IS對比
研究表明,在基礎卷積網絡中采用合適的塊大小分割能夠取得媲美Transformer 的性能,Transformer 具有較好性能并不完全依賴于其注意力層的作用,而在于有效的窗口劃分[15-16]。因此,本文在實驗中也加入不同塊分割進行對比,實驗結果如表3 所示。經過對不同的分割模型進行實驗,發現模型在進行4 次分割之后效果最好,塊的數量低于或高于4 塊,指標都會有所下降。其原因在于過小的patches 分割將使系統過分注重局部之間的聯系,而過大的patches 分割會導致局部的直接關系弱化,最終影響生成圖片的質量。

Table 3 Comparison of FID and IS under different Patches segmentation表3 不同Patches分割情況下的FID、IS對比
本文在角度旋轉自監督模型上進行改進,在角度判別的前置任務基礎上新增patches位置判別任務,使模型能夠兼顧全局相似性與局部相關性。在CIFAR-10 與STL-10數據集上進行對比驗證,最終取得了比角度旋轉自監督生成對抗模型更優的結果。但模型仍有很大的改進空間,例如,在前置任務上還可以有更多建設性想法以提高圖像表征能力,將在以后工作中改進。