曾青耀,鄭茜穎,俞金玲
(福州大學物理與信息工程學院,福建 福州 350108)
隨著神經網絡的不斷發展,深度生成已經成為一項創建和操縱數據的強大工具.潛變量空間解耦這一研究方向大多是基于圖像或音樂數據集的數據可控性研究.基于潛在表示的模型,例如文獻[1]中變分自動編碼器(variational auto-encoder,VAE)在潛變量空間解耦方面顯示出卓越性能.
當前大多數無監督解耦方法都是基于VAE框架的變化.無監督方法試圖解離數據中不同的變化因素,學習其表示形式.此類模型對單個基礎變化因子的更改會導致學習到表示形式的單個因子發生更改.例如文獻[2]中對潛在空間信息容量施加約束的β-VAE模型,文獻[3]中最大化潛在編碼子集和觀測值之間互信息的生成式對抗網絡模型(簡稱Info-GAN模型),以及文獻[4]中最大化潛在編碼之間獨立性潛在變量的解耦增強VAE模型(簡稱β-TCVAE模型)等.
監督方法是通過學習轉換關系來控制屬性的一類研究.文獻[5]中屬性正則化VAE模型(簡稱AR-VAE模型)試圖沿著不同維度編碼不同的數據屬性.文獻[6]中的樂器數字接口VAE模型(簡稱MIDI-VAE模型)將潛在空間分解為不同的部分,每個部分去對應特定的屬性.文獻[7]中的非對稱多模式VAE模型(簡稱AM-VAE模型)則是通過學習潛變量空間和屬性值之間的轉換關系來控制數據屬性.以上的監督學習方法也存在一些局限性,例如某些方法僅適用于某種類型的數據屬性,或者模型需要通過獨立改變屬性來采樣數據點等.同時,上述多數方法能夠學習到在每一維度具體的、不相干意義的潛在表示,但其潛在表示的可解釋性[8]仍不夠強,其可控性和可拓展性較弱.然而在實現潛變量空間解耦的過程中,最重要的是讓學習到的表征具備人類可理解的意義,讓生成的數據屬性更為可控.
本研究工作的主要包括以下4個方面:
1) 提出一種基于潛變量空間解耦的圖像生成方法——自注意力屬性VAE模型(簡稱TA-VAE模型),通過改變編碼結構和設計新穎的損失函數實現更優越的解耦性能;
2) 編碼器階段運用了自注意力機制[9],使得本模型對長期依賴關系有著更強的捕捉能力,比起序列模型而言對層次結構信息能夠進行更有效的表達;
3) 殘差網絡[10]使模型中信息的前后向傳播更加順暢,也讓更深層的網絡訓練成為可能;
4) 標準數據集上的實驗結果表明,本模型在訓練過程中隨著潛空間的變化,屬性值變化更均勻,損失也更易于優化.
提出一種自注意力機制下的潛變量空間解耦模型.在原始編碼器的基礎上使用了自注意力機制和殘差網絡來實現編碼,在解耦方面也使用了新的損失來實現結構化潛在空間,從而沿著不同維度編碼不同的數據屬性.
1.1.1 編碼器自注意力模型
本編碼器結構模型如圖1所示.在編碼器上,運用了4層卷積層和1層線性層對圖像數據進行特征映射和參數調整,能夠有效地實現數據降維,并且高度保留圖像特征.隨后,將處理后的數據傳入自注意力機制模型,捕捉數據特征的內部相關性.

圖1 編碼器模型Fig.1 Encoder model
第一階段,通過線性層將學到的數據分布式特征表示映射到樣本標記空間,得到查詢矩陣Q(query)、鍵矩陣K(key)和值矩陣V(value).
第二階段,將Q和K網絡的輸出矩陣相乘,計算兩者相關性,得到Q-K矩陣如下:
Similarity(Q,Ki)=Q·Ki
(1)
第三階段,使用Softmax激活函數得到w,對第一階段的原始分值進行歸一化處理,將Q和K的縮放點積轉化為注意力的相對測量.這里的計算結果ai即為V對應的權重系數,即:

(2)
第四階段,根據權重系數對V進行加權求和,將Softmax激活后的w與v矩陣相乘,得:

(3)
第五階段,將得到的w-v矩陣和輸入圖像X進行元素級相乘,得到自注意力機制的輸出w-v.總的自注意力機制計算公式為:

(4)
1.1.2 編碼器殘差網絡
在得到QKV網絡的輸出后,將這一部分輸出與輸入圖像相加,構成殘差連接傳到線性層,并從線性層輸出模型所需的潛變量空間編碼z.
在圖1模型中的resnet部分,運用殘差網絡把輸入圖像直接映射到后面的網絡層中,確保后面的網絡層一定比前面包含更多的圖像信息.這樣能夠避免網絡退化現象,也能夠避免可能存在的梯度消失問題.
1.1.3 解碼器
本解碼器結構模型如圖2所示.在解碼器階段,使用三層線性層和四層轉置卷積層將潛變量空間編碼z解碼,實現圖像的重構.在每一個線性層和卷積層后都選擇使用RELU函數進行激活.RELU函數在一定程度上增加了網絡模型的稀疏性,使得模型提取出來的特征更具代表性.在相對小的運算量區間內成功提高網絡的泛化性能.值得一提的是,在編碼器和解碼器階段因參數量更少,較AR-VAE而言實現了更為輕量級的模型架構.

圖2 解碼器模型Fig.2 Decoder model
提出一種新穎的潛變量空間解耦損失算法.在潛變量空間中采樣z~p(z),得到潛在空間上的先驗分布.在高維數據空間采樣x~pθ(x|z),得到由θ參數化的解碼器網絡.本研究后驗分布qφ(z|x)由編碼器用參數φ近似.變分推理通過最大化證據下界(ELBO)來最小化近似后驗和真實后驗之間的KL散度,即:

(5)
上式第一項,可被解釋為最大化重構精度.第二項則是確保使用先驗p(z)對潛在向量進行采樣時生成真實樣本.
綜上,VAE的損失函數為:
LVAE(θ,φ)=Lrecons(θ,φ)+LKLD(θ,φ)
(6)
其中,重構損失為:

(7)

KL散度損失為:

(8)
接下來向VAE訓練目標添加一項與屬性值相關的損失:將一個潛在空間的潛在向量表示為z:{zk},其中k∈[0,).本研究目標是能夠沿著潛在空間維度r編碼屬性a.此時,當沿著r遍歷,屬性值a能夠增加.
計算該損失有如下3個主要步驟.
1) 第一步,計算一個屬性距離矩陣:
Da(i,j)=a(xi)-a(xj)
(9)
其中:i,j∈[0,m);m為訓練批量大小.
2) 第二步,為潛在向量正則化維度r計算類似距離矩陣:

(10)
3)第三步,潛變量空間解耦損失為:
Lr,a=mean(exp(-tanh(δDr)·Da))
(11)
其中:δ是決定后驗分布的可調超參數.
該潛變量空間解耦損失能夠實現預計目標,即成功地沿著解耦維度r編碼屬性a,迫使解耦維度潛在編碼與屬性值具有單調關系.本研究中潛變量空間解耦損失變化均勻,且損失十分易于優化.該損失區間明顯,在出現符合預期結果時loss變化劇烈,損失在(0,1)區間范圍,出現不符合預期結果時損失會變為∞.
綜上,總的損失函數為:

(12)
其中:β>1,鼓勵潛在空間維度的獨立性;γ為可調超參數,代表正則化強度;L為屬性個數,l∈[0,).
該損失由三部分構成,分別是VAE重構損失、KLD散度損失和潛變量空間解耦損失.對屬性距離矩陣Da和潛在空間維度距離矩陣Dr的定義部分地參考了AR-VAE.
采用Python 3.7.4編程語言和Pytorch 1.3.0深度學習框架,設計了一系列定量實驗,評估了包括解耦和重構上的若干指標.選取2-d sprites數據集[11]和Morpho-Mnist數據集[12]進行實驗,并使用Adam優化器優化訓練模型.
β-VAE作為一種非監督模型表現出與其他監督模型相當的性能,將其作為潛變量空間解耦領域的基線模型并與之對比.同時,也與使用屬性正則化監督方法的AR-VAE模型進行對比.
本模型在圖像數據集上進行測試,所以模型中運用到了卷積結構而不是循環結構.為了確保一致性,數據集采用相同的優化器、學習速率,并針對相同數量的Epochs進行訓練.
1) 對于2-d sprites和Morpho-Mnist數據集,β-VAE、AR-VAE和TA-VAE模型都用了10種不同的隨機初始化進行了訓練.
2) 對于β-VAE模型,β設置為4.0進行訓練.
3) 對于AR-VAE模型,γ設置為10.0,δ設置為1.0訓練.
4) 對于TA-VAE模型,γ設置為10.0,δ設置為1.0訓練.
使用評估潛變量空間解耦的標準圖像數據集2-d sprites和Morpho-Mnist.2-d sprites包含737 280個簡單變化的二維形狀.每一個二維形狀具有五個屬性,分別為:x軸位置、y軸位置、大小、方向、形狀.
1)x軸位置:在[0,1]的區間范圍均分,取32個不同的值.
2)y軸位置:在[0,1]的區間范圍均分,取32個不同的值.
3) 大小:在[0.5,1]的區間范圍均分,取6個不同的值.
4) 方向:在[0,2π]的區間范圍均分,取40個不同的值.
5) 形狀:有三種形狀,方形、心形和橢圓形.
選取數據集總體的70%作為訓練集(516 096張圖片),取20%作為驗證集(147 456張圖片),取10%作為測試集(73 728張圖片).
Morpho-Mnist包含70 000個手寫MNIST數字,以及使用一種形態測量學獲得的每個數字的復雜形態屬性.這些屬性包括面積、長度、厚度、傾斜度、寬度和高度.文獻[12]中具體形態測量學方法如下.
因MNIST圖像原始分辨率通常不足以支撐良好的形態學處理,并且直接在二值化圖像上測量屬性(例如長度、厚度等)可能不夠準確并且量化嚴重.為了緩解這個問題并在測量中實現亞像素精度,Morpho-Mnist采取了以下處理步驟:1) 將圖片放大;2) 二值化處理:將模糊的放大圖像在其強度范圍的一半進行閾值處理,以確保不會刪除細小的或模糊的數字;3) 計算歐氏距離變換(EDT):數字邊界內的每個像素都包含到其最近邊界點的距離;4) 提取骨架:檢測EDT處理后的紋路,即檢測與兩個或多個邊界點等距的點的軌跡;5) 運用提取出來的骨架信息為每個數字計算多種形態測量屬性;6) 可選地對二值化圖像應用擾動;7) 將二值化或擾動的圖像縮小到原始分辨率.
2.3.1 潛變量空間解耦指標
1) 可解釋性(interpretability)[8].可解釋性指標測量僅使用潛在空間的一個維度i來預測給定屬性j的能力.通過對屬性值j的每個測試樣本點對應的結果概率對數求和,得到該屬性的潛在空間可解釋性得分.
2) 模塊化(modularity)[13].它測量潛在空間的每個維度是否僅依賴于一個屬性.如果編碼維度能夠理想模塊化,它將與單個因子具有高互信息,而與其他因子具有零互信息.使用這個理想化案例的偏差來計算模塊化分數.
3) 互信息間隙(mutual information gap,MIG)[4].它測量給定屬性和與該屬性共享最大互信息的潛在空間的頂部兩個維度之間的互信息差異.
4) 分離屬性可預測(spearman correlation coefficient,SCC)[14].SAP計算對特定屬性的兩個最佳預測維度之間的差值,即研究每個潛在空間維度是否只依賴于一個屬性值.
5) 斯皮曼相關系數得分(spearman correlation coefficient,SCC)[15].其計算屬性值和潛在空間的每個維度之間的斯皮曼相關系數的最大值.
2.3.2 指標對比分析
通過匯總所有屬性的平均值,得到每個指標的得分.圖3顯示本模型TA-VAE與β-VAE、AR-VAE在2-d sprites以及Morpho-Mnist數據集上的解耦性能表現,所示分別是3個模型在5種解耦指標上的量化對比箱型圖.圖中的圓點表示不同的隨機初始化情況下模型在該解耦指標上的分數.

圖 3 3個模型的指標對比Fig.3 Metrics of the three models
數據集2-d sprites上的模型解耦指標對比如表1所示.由表1數據對比分析可發現,本模型TA-VAE在5種指標的表現均遠好于β-VAE.并且這種卓越的性能未來可能擴展到其他數據集,解耦不同領域和不同屬性復雜程度的數據集.

表1 數據集2-d sprites上模型解耦指標對比Tab.1 Comparison of metrics on the 2-d sprites
本模型TA-VAE與AR-VAE進行指標對比.
1) TA-VAE將可解釋性指標從0.85提升到了0.91.這說明TA-VAE使用潛在空間的某一個維度預測給定數據屬性的能力較AR-VAE更優.可解釋性指標是潛變量空間解耦任務中最關鍵的指標.在可解釋性上的大幅提升證明了TA-VAE模型優越的潛變量空間解耦能力.
2) 模塊化度量指標上TA-VAE與AR-VAE持平.這可以通過觀察所使用的指標計算方法進行解釋.其計算過程中分數除以具有潛在維度的所有屬性的互信息的最大值θi.這樣就導致即使AR-VAE模型互信息的值相對較低,卻也能夠得到較高的模塊化得分.
3) 互信息間隔(MIG)指標略低于AR-VAE.這表明潛變量空間中除了解耦屬性的維度之外,還有其他維度與不同屬性共享高度的互信息.
4) 分離屬性可預測性(SAP)從0.85提升到0.91.這說明TA-VAE模型中每個潛變量空間維度更依賴于某一個屬性值,屬性在潛變量空間編碼的分離效果上較AR-VAE更優.
5) 斯皮曼相關系數得分(SCC)從0.88提升到了0.95.這樣的躍升說明TA-VAE模型某一屬性的屬性值與潛變量空間編碼維度之間具有更為良好的單調關系.
數據集Morpho-Mnist上的模型解耦指標對比如表2所示.經表2數據對比分析可發現,TA-VAE在可解釋性、SAP、SCC三種指標上均優于其他兩個模型.但是在模塊化指標上,TA-VAE與β-VAE、AR-VAE持平.在MIG指標上與AR-VAE持平,且低于β-VAE.

表2 數據集Morpho-Mnist上模型解耦指標對比Tab.2 Comparison of metrics on the Morpho-Mnist
從這里可以看出,Morpho-Mnist數據集上TA-VAE的表現也很好,但是2-d sprites數據集上的潛變量空間解耦度量通常會更高.出現這種結果的主要原因是2-d sprites是人工生成的數據集而Mnist是現實數據,2-d sprites數據屬性復雜程度更低.
2.3.3 圖像重構
2-d sprites數據集中有三種形狀類別(正方形、心形和橢圓形).圖4 (a)~(c)分別是3個模型在數據集上的屬性遍歷重構圖像.這里展示心形圖像進行對比.每一組圖像內的不同列對應了沿著潛在空間維度對某種特定屬性進行編碼,從左到右的五列分別遍歷了形狀、大小、方向、x軸位置、y軸位置這5種屬性.

圖 4 2-d sprites的屬性遍歷圖像Fig.4 Controlling different attributes of 2-d sprites
觀察重構圖像可以發現β-VAE重構效果最差.大小屬性遍歷的最后一個圖像以及在心形旋轉時都無法準確還原出心形.這說明β-VAE的潛變量空間解耦程度最低,難以實現很好的屬性遍歷效果.AR-VAE和TA-VAE在重構圖像上明顯更優.但AR-VAE在x軸遍歷的最后一個圖像上生成心形較TA-VAE更為模糊.
Morpho-Mnist數據集中有0~9共10種數字.圖5 (a)~(c)分別列出3個模型在數據集上的屬性遍歷重構.這里展示數字7圖像進行對比.每一組圖像內的不同列對應了沿著潛在空間維度對某種特定屬性進行編碼,從左到右6列分別是面積、長度、厚度、斜度、寬度、高度的遍歷.

圖5 Morpho-Mnist的屬性遍歷圖像Fig.5 Controlling different attributes of Morpho-Mnist
觀察重構圖像可以發現Morpho-Mnist數據集上3個模型的表現都不如2-d sprites數據集.β-VAE的重構圖像最差,生成圖像十分模糊.AR-VAE和TA-VAE在重構圖像的清晰度以及屬性遍歷的完整度上明顯更優.沿著潛變量空間的特定維度進行遍歷,手寫體數字的各種屬性都在不斷變大.但是在長度屬性遍歷中的最后一個圖像上TA-VAE的長度較AR-VAE明顯更長,厚度屬性中TA-VAE的重構圖像也更為清晰,厚度更大.
重構準確率是評估生成模型的重要指標.本實驗測量了3種不同模型對2-d sprites圖像,以及Morpho-Mnist手寫體數據集的重構準確率,如圖6所示.3個模型在2-d sprites數據集的重構準確率都很高.β-VAE為99.65%,AR-VAE和TA-VAE都高達99.90%.在Morpho-Mnist數據集,β-VAE為94.20%,AR-VAE為97.10%,TA-VAE為97.20%.雖然于目前的解耦任務而言重構準確率相對較高,并且提高解耦能力可能要以犧牲重構為代價.但本模型在解耦性能更好的情況下,重構準確率仍遠高于β-VAE,并且高于AR-VAE.這也證明了本模型在潛變量空間解耦上的良好性能.

圖6 3個模型的重構準確率對比Fig.6 Reconstruction metrics of the three models
對編解碼模型和訓練損失進行新穎設計.通過構造沿著潛變量特定維度對數據屬性進行編碼的潛在空間,更好地實現潛變量空間解耦,生成圖像數據.本模型在通用數據集2-d sprites和Morpho-Mnist上取得很好的解耦效果.通過客觀指標對比,在保證重構精度的前提下,本模型在可解釋性、分離屬性可預測性(SAP)、斯皮曼相關系數得分(SCC)指標上取得提升效果,圖像解耦性能優于β-VAE基線模型和AR-VAE先進方法.