郭秋燕,胡磊,2,代勁
(1.重慶醫(yī)科大學(xué)附屬第一醫(yī)院 信息中心,重慶 400016;2.重慶醫(yī)科大學(xué)醫(yī)學(xué)數(shù)據(jù)研究院,重慶 400016;3.重慶郵電大學(xué) 計算智能重慶市重點實驗室,重慶 400065)
隨著圖像數(shù)據(jù)分辨率的提高,數(shù)據(jù)也越來越大,因此找到一種高效的數(shù)據(jù)壓縮方法對于網(wǎng)絡(luò)傳輸來說至關(guān)重要。隨著研究的不斷深入,有了各種場景下的壓縮方法。文獻[1]-[3]通過字典學(xué)習(xí)和壓縮感知的方法來實現(xiàn)數(shù)據(jù)壓縮,如劉迎娜[2]采用K 奇異值分解(KSingular Value Decomposition,K-SVD)字典學(xué)習(xí)方法構(gòu)建出壓縮字典,實現(xiàn)數(shù)據(jù)的壓縮;文獻[4]-[6]通過特征編碼的方式來完成數(shù)據(jù)特征的學(xué)習(xí),并通過重構(gòu)的方式來完成數(shù)據(jù)解壓。如王迎港[4]對特征進行差分編碼實現(xiàn)數(shù)據(jù)壓縮傳輸;還有通過降低數(shù)據(jù)之間的耦合度來實現(xiàn)數(shù)據(jù)壓縮,如夏信等[7]通過卷積神經(jīng)網(wǎng)絡(luò)來降低數(shù)據(jù)間的耦合度從而降低數(shù)據(jù)的傳輸量。另外,文獻[8]通過MVC 模型來實現(xiàn)數(shù)據(jù)壓縮,袁子越[9]等人通過知識圖譜和模糊度分析的方法對數(shù)據(jù)分類,并使用空間重構(gòu)方法實現(xiàn)數(shù)據(jù)的壓縮。
隨著深度學(xué)習(xí)的發(fā)展,其在數(shù)據(jù)特征學(xué)習(xí)的能力突出,擅長處理海量的數(shù)據(jù),數(shù)據(jù)量越多模型的表征能力越強,因此海量的數(shù)據(jù)促進了深度學(xué)習(xí)的進步與發(fā)展。近年來深度學(xué)習(xí)也漸漸被用于數(shù)據(jù)解壓縮任務(wù)。變分自編碼器[10]作為一類重要的數(shù)據(jù)生成模型,可以完成數(shù)據(jù)的特征表征,在數(shù)據(jù)生成方面已經(jīng)有較多的研究。
圖像數(shù)據(jù)的特征空間是具有連續(xù)性的,各特征之間也是有差異性的,變分自編碼器通過特征表征得到數(shù)據(jù)特征,將數(shù)據(jù)特征作為數(shù)據(jù)傳輸?shù)膶ο螅虼私档土藬?shù)據(jù)在傳輸過程中的復(fù)雜度;在數(shù)據(jù)接收端再通過數(shù)據(jù)特征對數(shù)據(jù)進行生成,完成數(shù)據(jù)的傳輸,并且整個模型的網(wǎng)絡(luò)結(jié)構(gòu)較簡單,因此數(shù)據(jù)的壓縮和解壓耗時短,提高了數(shù)據(jù)的壓縮速率及傳輸速率。
本文的主要貢獻為:(1)提出一種基于云模型[11]的變分自編碼器先驗變體模型,提高模型的表征能力;(1)提出一種新的基于生成模型的解壓縮方法,降低特征耦合度,提升模型的壓縮能力。
變分自編碼器(VAEs)[10]借助隱變量空間與真實數(shù)據(jù)的映射關(guān)系,構(gòu)建特征空間,并在該空間中通過采樣生成數(shù)據(jù)生成的樣本點,樣本點通過重構(gòu)生成數(shù)據(jù),通過將隱變量空間與先驗分布的近似完成數(shù)據(jù)隱變量空間的構(gòu)建,其次通過增加重構(gòu)數(shù)據(jù)與原數(shù)據(jù)的近似完成數(shù)據(jù)維度的近似,因此使得生成數(shù)據(jù)與原數(shù)據(jù)的近似。
在圖1 VAEs 的圖型中,x表模示輸入數(shù)據(jù),z表示經(jīng)過VAEs 編碼后得到的隱變量,該過程為編碼過程,可表示為識別模型q?(z|x);x生成z的過程為解碼過程,可表示為生成模型pθ(x|z) 。
圖1 VAEs 圖模型
VAEs 通過對真實樣本x映射到特征空間生成隱變量z,再將隱變量z通過解碼器生成重構(gòu)樣本x',其中需要計算樣本特征pθ(z|x')來生成重構(gòu)樣本,但pθ(z|x')=pθ(x'|z)pθ(z)/pθ(x')涉及復(fù)雜的邊際似然概率計算,VAEs通過引入變分下界來避開難以計算的邊際似然概率計算。具體地做法是:首先假設(shè)q?(z|x) 服從多元高斯分布,引入q?(z|x)來近似pθ(z|x'),通過最小化兩個分布的KL 散度,來減少兩者的差距。
VAEs 的最終目標(biāo)為:
通過不斷地減少該目標(biāo)來實現(xiàn)數(shù)據(jù)的表征與重構(gòu)數(shù)據(jù)的生成,本文利用VAEs 的該特征,通過引入高斯云模型作為近似,更高效地完成數(shù)據(jù)壓縮。
云模型[11]用來刻畫某個概念中的模糊性、隨機性及其關(guān)聯(lián)性。高斯云是眾多云模型的一種,由于正態(tài)分布和高斯隸屬函數(shù)的普適性,使得高斯云得到了廣泛的研究與應(yīng)用。高斯云的云滴分布不同于高斯分布。高斯分布生成數(shù)據(jù)時每次的方差為一個具體的固定值,而高斯云的每一個云滴生成時方差都是隨機的,并且方差符合另一個高斯分布,因此可以將高斯云理解為二次連續(xù)高斯分布[12]。
VAEs 作為生成式模型,在完成數(shù)據(jù)特征表征的基礎(chǔ)上實現(xiàn)數(shù)據(jù)的生成。但VAEs 在面對流型復(fù)雜的數(shù)據(jù)時,隱變量空間僅使用高斯分布作為唯一度量會造成VAEs 的編碼器學(xué)習(xí)到的特征與真實分布存在偏差,數(shù)據(jù)表征不精準(zhǔn)會造成模型無法精準(zhǔn)重建,因此讓正態(tài)分布作為VAEs 的先驗分布有局限性。由于本文的主要目標(biāo)是完成數(shù)據(jù)的解壓縮,因此解壓的目標(biāo)是生成與原數(shù)據(jù)相同的數(shù)據(jù)。為完成VAEs 對數(shù)據(jù)的精準(zhǔn)解壓,需要尋找一種更全面、完備的衡量潛在空間的先驗分布,增強VAEs 的特征表征能力。
本文為完善VAEs 在隱變量空間表征上出現(xiàn)的局限性,結(jié)合數(shù)據(jù)的特征并基于云模型相關(guān)理論,提出一種基于云模型的變分自編碼器CMVAE 優(yōu)化模型,能夠滿足不同數(shù)據(jù)分布的樣本特征表征;另一方面增加面向重構(gòu)樣本的表征學(xué)習(xí),VAEs 只對原圖的隱變量特征進行學(xué)習(xí),加入重構(gòu)圖的特征表征學(xué)習(xí),并讓其隱變量空間與原數(shù)據(jù)的看齊,旨在進一步減少其與原樣本特征的差異。在此基礎(chǔ)上本文提出了基于云模型的變分自編碼器,其整體模型圖如圖2 所示。
圖2 基于云模型的變分自編碼器訓(xùn)練模型
本文使用基于高斯云模型的變分自編碼器優(yōu)化模型作為數(shù)據(jù)解壓縮的工具,該模型的編碼器Encoder 作為數(shù)據(jù)壓縮的部分,數(shù)據(jù)x經(jīng)過Encoder 后得到數(shù)據(jù)的表征特征Ex、En、He,由此表征特征構(gòu)成數(shù)據(jù)的隱變量空間,在此空間內(nèi)經(jīng)過采樣得到數(shù)據(jù)的樣本點,隱變量作為數(shù)據(jù)的傳輸對象,將進入數(shù)據(jù)傳輸階段。該隱變量經(jīng)過CMVAE 模型的解碼器Decoder 得到解碼后的數(shù)據(jù)x',此時的數(shù)據(jù)在該實驗中要求與源數(shù)據(jù)差別盡量小,因此在該實驗中訓(xùn)練整個模型時加入了重構(gòu)數(shù)據(jù)的特征表征,即將數(shù)據(jù)x'經(jīng)過Encoder得到Ex'、En'、He',并且計算其與源數(shù)據(jù)的特征空間的差距,通過不斷地訓(xùn)練網(wǎng)絡(luò),減少兩者的差距。訓(xùn)練好的模型在數(shù)據(jù)解壓縮的真實應(yīng)用中將不再對解壓后的數(shù)據(jù)進行特征表征。
本文通過控制隱變量空間中云模型的個數(shù),來降低各特征之間的耦合度,提升存儲效率,從而完成數(shù)據(jù)的壓縮。同時在壓縮后的特征空間內(nèi)采樣,將樣本點通過Decoder 完成數(shù)據(jù)的重構(gòu),從而實現(xiàn)數(shù)據(jù)的解壓。
本文的損失函數(shù)由兩項組成,其中第一項表示解壓后的樣本與原數(shù)據(jù)的差異,通過計算兩者的均方誤差來衡量兩者的距離;第二項表示樣本隱變量空間之間差距,即兩個云模型的相似性度量。本文通過計算對稱KL 散度來對兩者進行逼近,該項包括兩部分:一部分為原數(shù)據(jù)的分布差異,另一部分為重構(gòu)數(shù)據(jù)的分布差異。
為計算兩個云模型的相似性,本文利用對稱KL 散度Lp[13]來完成。原樣本經(jīng)Encoder 后生成特征高斯云分布,此處使用C1(Ex1,En1,He1)表示,先驗高斯云分布表示為C2(Ex2,En2,He2),如果要計算兩者的對稱KL 散度就需要計算Lp=DJ[C1((Ex1,En1,He1)‖C2(Ex2,En2,He2)]。
C1與C2表示的云模型云滴分布之間的Lp定義如公式(2)所示:
其中,σ1=En1+3He1,σ2=En2+3He2。
同理,重構(gòu)樣本與原樣本隱變量空間之間的差距也使用同樣的方法來計算。
損失函數(shù)僅用于模型訓(xùn)練效果的評估,重構(gòu)數(shù)據(jù)與原數(shù)據(jù)的均方誤差LR(Mean Square Error,MSE)[14]計算方式如式(3)所示,其中N表述參與本次訓(xùn)練的圖像的數(shù)量,所以本文的損失指整張圖像的損失。
其中,μ?(z)表示z的期望。
經(jīng)過Encoder 特征表征之后生成隱變量空間的特征向量:期望向量Ex、熵向量En 和超熵向量He。本文利用兩次重參數(shù)化技巧得到最終的隱變量,第一次重參數(shù)化得到熵變量Enn=En +ε1× He,這里ε1~N(0,1),第二次再通過重參數(shù)化技巧得到隱變量z=Ex +ε2× Enn,這里ε2~N(0,1),經(jīng)過隱變量空間采樣后得到的隱變量作為傳輸對象進行數(shù)據(jù)傳輸。
變分自編碼器通過將高斯分布作為數(shù)據(jù)的先驗分布,完成數(shù)據(jù)的特征表征,即編碼過程;另一方面變分自編碼器的解碼器將數(shù)據(jù)特征進行還原,即解碼過程;該模型首先進行模型的訓(xùn)練,訓(xùn)練的誤差在一定的范圍,再將其用于數(shù)據(jù)的數(shù)據(jù)解壓縮應(yīng)用。
為驗證本文提出的改進模型對于數(shù)據(jù)解壓縮能力的有效性,在名人人臉屬性數(shù)據(jù)集(CelebA)[15]上進行驗證。該數(shù)據(jù)集廣泛應(yīng)用于訓(xùn)練以人臉識別相關(guān)、圖像生成等為任務(wù)構(gòu)建的深度神經(jīng)網(wǎng)絡(luò)。該數(shù)據(jù)集圖像存在光線不均、人臉表情豐富、拍攝角度多樣、人臉遮擋等情況,因此對于模型的表征能力要求高。本實驗選取7 000 張大小相等的圖像,其中女性與男性的圖像數(shù)量相等。
本實驗使用的深度學(xué)習(xí)框架為TensorFlow。由于不同的網(wǎng)絡(luò)結(jié)構(gòu)與特征維度都會影響最終的解壓縮效果,本文使用卷積神經(jīng)網(wǎng)絡(luò)作為編碼器的組成,反卷積神經(jīng)網(wǎng)絡(luò)作為解碼器的組成,根據(jù)壓縮率的不同,卷積神經(jīng)網(wǎng)絡(luò)的層數(shù)不同。
由于該實驗的主要目標(biāo)為數(shù)據(jù)解壓縮,對于數(shù)據(jù)壓縮后的解壓效果要求高,因此本文使用MSE 作為解壓的評價指標(biāo),同時由于在實際應(yīng)用中數(shù)據(jù)壓縮比對于一個解壓縮算法來說至關(guān)重要,因此本文將壓縮比作為解壓縮的另一個評價指標(biāo),兩個指標(biāo)分別從解壓縮的質(zhì)量和效率兩個維度對該實驗算法進行有效性測試。
本文將該算法與VAEs 進行對比,兩者使用的網(wǎng)絡(luò)結(jié)構(gòu)與本文中使用的網(wǎng)絡(luò)模型相同,因此數(shù)據(jù)壓縮率是相同的,在此情況下進行生成數(shù)據(jù)的清晰度比較,以下為以MSE 為評估指標(biāo)下的結(jié)果。
表1 為不同壓縮率的情況下數(shù)據(jù)的解壓效果。從實驗所得結(jié)果中可以看出,隨著特征數(shù)量的減少,數(shù)據(jù)的表征效果會提高,說明特征之間存在的耦合度較高,影響數(shù)據(jù)的解壓效果;但一旦達到一定的維度時,表征效果會變差,說明模型學(xué)習(xí)到的特征不全面,會使得解壓后的數(shù)據(jù)因為缺少某些特征而影響數(shù)據(jù)重構(gòu)。從本文的實驗中可以看出當(dāng)數(shù)據(jù)壓縮率為5.55%時,壓縮效果是最好的,數(shù)據(jù)的特征表征效果較好,并且特征之間的耦合性低。
表1 不同壓縮率的情況下數(shù)據(jù)解壓效果
為了更好地展示本模型的解壓縮效果,本文從可視化的角度出發(fā),隨機抽取壓縮率為5.55%時的壓縮結(jié)果來進行展示,如圖3 所示。本文從可視化的結(jié)果展示中可以看出,本文提出的模型GCMVAE 的生成效果比較好,人物的特征明顯,背景清晰。
本文從數(shù)據(jù)表征出發(fā),利用二階高斯云模型與變分自編碼器進行結(jié)合,完成隱空間與真實數(shù)據(jù)的映射;另一方面通過改變隱空間的維度與個數(shù)降低特征的糾纏關(guān)系,完成數(shù)據(jù)特征的高質(zhì)量表征,從而實現(xiàn)數(shù)據(jù)的壓縮。通過對比實驗,得到最適合的特征維度,并通過變分自編碼器的生成,完成數(shù)據(jù)的解壓。本文通過實驗驗證了該壓縮方法的正確性和有效性,為數(shù)據(jù)壓縮提供了一種思路。