陳亞瑞,胡世凱,徐肖陽(yáng),張 奇
(天津科技大學(xué)人工智能學(xué)院,天津300457)
深度學(xué)習(xí)的發(fā)展需要探索數(shù)據(jù)特征并解釋其內(nèi)在規(guī)律。在深度學(xué)習(xí)領(lǐng)域?qū)W(xué)習(xí)揭露數(shù)據(jù)特征內(nèi)在規(guī)律的可解釋性表示的研究并不多。這種可解釋性表示可以讓人們觀察到原始數(shù)據(jù)的特征表示并能夠捕捉與最終任務(wù)相關(guān)的潛在(抽象或高級(jí))生成因素,同時(shí)忽略不合理或無(wú)用的因素。這種可解釋性表示在機(jī)器學(xué)習(xí)算法和深度學(xué)習(xí)算法的研究中發(fā)揮著重要作用[1]。這種表示不僅對(duì)監(jiān)督學(xué)習(xí)和強(qiáng)化學(xué)習(xí)等標(biāo)準(zhǔn)下游任務(wù)有用,而且對(duì)那些人類(lèi)擅長(zhǎng)而機(jī)器不擅長(zhǎng)的任務(wù)也有非常大的幫助,比如遷移學(xué)習(xí)和零樣本學(xué)習(xí)等[2]。
解耦表示學(xué)習(xí)是深度學(xué)習(xí)領(lǐng)域中學(xué)習(xí)數(shù)據(jù)特征的可解釋性表示的探索研究。假設(shè)數(shù)據(jù)由多個(gè)維度且數(shù)量固定的獨(dú)立生成因子生成,其中一個(gè)維度的變化只對(duì)應(yīng)一個(gè)數(shù)據(jù)的變化[3]。解耦表示學(xué)習(xí)旨在按照人類(lèi)能夠理解的方式從真實(shí)數(shù)據(jù)中對(duì)具有明確物理含義的生成因子(如類(lèi)別、位置、外觀、紋理等)進(jìn)行解耦,并給出其對(duì)應(yīng)的獨(dú)立表示。解耦表示學(xué)習(xí)不僅在探索數(shù)據(jù)的可解釋性方面存在顯著優(yōu)勢(shì),而且應(yīng)用場(chǎng)景廣闊,比如圖像編輯、圖像生成和3D 建模等。解耦表示學(xué)習(xí)逐漸成為深度學(xué)習(xí)領(lǐng)域的重要研究方向并引起國(guó)內(nèi)外眾多學(xué)者的廣泛關(guān)注[4]。
早期的解耦表示學(xué)習(xí)研究可以追溯到獨(dú)立成分分析(independent component algorithm,ICA)。該方法假設(shè)信號(hào)是由多種獨(dú)立成分線(xiàn)性疊加而成,線(xiàn)性解耦方法的應(yīng)用范圍和深度都極為有限[4]。隨著深度學(xué)習(xí)研究的不斷深入,基于神經(jīng)網(wǎng)絡(luò)的深度生成模型在數(shù)據(jù)(尤其是圖像)解耦表示學(xué)習(xí)方面顯示出巨大的前景,比如在推薦領(lǐng)域中的挖掘用戶(hù)多樣偏好。在解耦表示學(xué)習(xí)的發(fā)展初期,研究者們大多以監(jiān)督學(xué)習(xí)或者半監(jiān)督學(xué)習(xí)的方式在帶有標(biāo)簽或者少量標(biāo)簽的數(shù)據(jù)集上進(jìn)行解耦表示學(xué)習(xí)的研究。由于數(shù)據(jù)量的不斷擴(kuò)大導(dǎo)致人工標(biāo)注的成本不斷增加,同時(shí)人工標(biāo)簽還存在可能與實(shí)際數(shù)據(jù)不一致或遺漏人類(lèi)難以識(shí)別的因素等缺點(diǎn),因此研究者們?cè)絹?lái)越注重以無(wú)監(jiān)督的方式進(jìn)行解耦表示學(xué)習(xí)的研究。
隨著相關(guān)研究的不斷深入,越來(lái)越多無(wú)監(jiān)督方式的解耦表示學(xué)習(xí)算法被提出,其中兩種主流的研究思路是以生成對(duì)抗網(wǎng)絡(luò)(generative adversarial nets,GAN)[5]和變分自編碼(variational auto-encoder,VAE)模型[6]作為基礎(chǔ)進(jìn)行解耦研究?;贕AN 的解耦表示學(xué)習(xí)模型有信息最大化生成對(duì)抗網(wǎng)絡(luò)(information maximizing generative adversarial nets,Info-GAN)和信息蒸餾生成對(duì)抗網(wǎng)絡(luò)(information-distillation generative adversarial network,ID-GAN)。GAN 模型只注重?cái)?shù)據(jù)生成過(guò)程而缺乏推理過(guò)程,并且還存在模型坍塌的問(wèn)題,這些都妨礙了GAN 模型在解耦表示學(xué)習(xí)領(lǐng)域的發(fā)展。VAE 模型有完整的推理過(guò)程和生成過(guò)程,這為解耦表示學(xué)習(xí)的研究打下了良好的基礎(chǔ)。
Higgins 等[9]在2017 年提出了β-VAE 模型,它是在VAE 模型損失函數(shù)的KL 項(xiàng)上添加一個(gè)額外的并且大于1 的超參數(shù)β,這可以使模型學(xué)習(xí)到具有統(tǒng)計(jì)獨(dú)立性的隱變量,從而使模型具有一定的解耦表示學(xué)習(xí)能力。但是,大于1 的超參數(shù)β 會(huì)降低重構(gòu)誤差的權(quán)重,導(dǎo)致模型重建數(shù)據(jù)的能力較差,即生成圖片的質(zhì)量較低。Burgess 等[10]通過(guò)在訓(xùn)練過(guò)程中逐漸增加隱變量的信息容量,解決了β-VAE 模型不能很好地平衡重建數(shù)據(jù)質(zhì)量和解耦表示學(xué)習(xí)能力的問(wèn)題。Chen 等[11]提出了β-TCVAE(β-total correlation variational auto-encoder)模型,它將VAE 模型的KL 項(xiàng)分解為3 項(xiàng),其中的全相關(guān)項(xiàng)(total correlation,TC)是模型解耦能力大小的關(guān)鍵。β-TCVAE 模型通過(guò)一個(gè)大于1 的超參數(shù)β 加大TC 項(xiàng)在模型訓(xùn)練中的權(quán)重,使模型的解耦表示學(xué)習(xí)能力得到大幅度提高。在計(jì)算TC 項(xiàng)時(shí),β-TCVAE 模型基于重要性采樣的思想對(duì)批量樣本進(jìn)行加權(quán)采樣,這種方式具有簡(jiǎn)單、高效且模型訓(xùn)練穩(wěn)定的優(yōu)點(diǎn)。
Kim 等[2]提出的Factor-VAE 模型將VAE 模型損失函數(shù)的KL 項(xiàng)分解為兩項(xiàng),分別為數(shù)據(jù)與隱變量之間的互信息、隱變量的聚合后驗(yàn)分布和先驗(yàn)分布之間的KL 散度。本課題組認(rèn)為加重第二項(xiàng)的權(quán)重可以顯著提升模型的解耦表示學(xué)習(xí)能力,但不同的是本研究并沒(méi)有直接加重第二項(xiàng)的權(quán)重,而是在VAE 模型損失函數(shù)不變的情況下,加入一項(xiàng)TC 項(xiàng)作為約束隱變量的正則化項(xiàng),這同樣可以促使隱空間中各維度之間互相獨(dú)立,從而激勵(lì)模型學(xué)習(xí)更好地解耦表示學(xué)習(xí)能力。這類(lèi)通過(guò)探索隱空間進(jìn)行解耦表示學(xué)習(xí)研究的模型可以總結(jié)為基于非結(jié)構(gòu)化先驗(yàn)的解耦表示學(xué)習(xí)模型。
對(duì)于解耦表示學(xué)習(xí),Montero 等[12]提出了不同的思路,他們認(rèn)為設(shè)計(jì)由人類(lèi)認(rèn)知過(guò)程啟發(fā)的高度顯示結(jié)構(gòu)化的網(wǎng)絡(luò)模型對(duì)解耦表示學(xué)習(xí)進(jìn)行研究尤為重要。通過(guò)現(xiàn)實(shí)世界中許多自然數(shù)據(jù)本身所特有的成分分層特性,設(shè)計(jì)搭建了層次深度梯形網(wǎng)絡(luò)模型,通過(guò)組合較低層的語(yǔ)義特征獲得較高層的語(yǔ)義特征表示[4],這可以總結(jié)為基于結(jié)構(gòu)先驗(yàn)的解耦表示學(xué)習(xí)模型。典型的模型有S?nderby 等[13]將層次深度梯形網(wǎng)絡(luò)與變分自編碼器結(jié)合,提出了層次變分自編碼(ladder variational auto-encoders,LVAE)模型。與傳統(tǒng)VAE 模型不同,LVAE 模型提出推理與生成模型共享自頂向下的依賴(lài)結(jié)構(gòu),使模型的推理過(guò)程只用簡(jiǎn)單的先驗(yàn)分布,將優(yōu)化過(guò)程變得更加容易。
LVAE 建立的層次網(wǎng)絡(luò)結(jié)構(gòu)有局限性:如果這些模型可以訓(xùn)練為最優(yōu),那么第一層的信息就足以重建數(shù)據(jù)分布,而第一層之上的層可以忽略。Zhao 等[14]提出變分層次自編碼(variational ladder autoencoders,VLAE)模型。該模型將不同層次的隱變量與具有不同表達(dá)能力(深度)的網(wǎng)絡(luò)連接,鼓勵(lì)模型在頂部放置高層次、抽象的特征(如身份特征等),在底部放置低層次、簡(jiǎn)單的特征(如邊緣特征等)。這種模型設(shè)計(jì)使得越高層、越抽象的特征需要越復(fù)雜的網(wǎng)絡(luò)捕獲,在不需要特定先驗(yàn)知識(shí)的情況下,能夠?qū)W習(xí)高度可解釋的、解耦的層次特征[4]。
本文在基于VLAE 模型框架下提出了全相關(guān)約束下的變分層次自編碼(variational ladder autoencoder based on total correlation,TC-VLAE)模型,該模型融合了基于非結(jié)構(gòu)先驗(yàn)和結(jié)構(gòu)先驗(yàn)兩種方法。TC-VLAE 模型基于層次化的變分自編碼模型,層次化的網(wǎng)絡(luò)模型可以實(shí)現(xiàn)層次之間的解耦。在每一層的隱空間中都加入非結(jié)構(gòu)先驗(yàn)的TC 項(xiàng)作為正則化項(xiàng),TC 項(xiàng)可以促進(jìn)每一層隱空間中各個(gè)維度的隱變量之間相互獨(dú)立,從而實(shí)現(xiàn)單個(gè)層內(nèi)部的解耦。TCVLAE 模型同時(shí)實(shí)現(xiàn)了層級(jí)之間和層級(jí)內(nèi)部的解耦。TC-VLAE 模型在訓(xùn)練時(shí)使用漸進(jìn)式的訓(xùn)練算法訓(xùn)練模型,如Karras 等[15]和Wang 等[16]的工作。漸進(jìn)式的訓(xùn)練算法通過(guò)分步訓(xùn)練,將多層隱變量逐步加入模型訓(xùn)練中,充分發(fā)揮層次化模型的優(yōu)勢(shì),有利于模型的穩(wěn)定訓(xùn)練。同時(shí),使用隨機(jī)梯度下降算法求解模型參數(shù)。為了驗(yàn)證模型的有效性,分別在3Dshapes 數(shù)據(jù)集、3Dchairs 數(shù)據(jù)集、CelebA 數(shù)據(jù)集和dSprites 數(shù)據(jù)集上設(shè)計(jì)實(shí)驗(yàn),驗(yàn)證TC-VLAE 模型具有更好的解耦表示學(xué)習(xí)能力。
變分層次自編碼模型(VLAE)是在變分自編碼模型的基礎(chǔ)上引入層次化結(jié)構(gòu)先驗(yàn),將隱變量分解到不同層次上,利用層次結(jié)構(gòu)進(jìn)行解耦表示學(xué)習(xí)。
VLAE 將隱變量 z 分解為 L 部分 z={z1,z2,…,zL},每部分隱變量構(gòu)成模型的一層,其具體網(wǎng)絡(luò)結(jié)構(gòu)如圖1 所示。圖1 是一個(gè)有L 層隱變量的VLAE 模型的網(wǎng)絡(luò)架構(gòu),其中x 代表可觀測(cè)數(shù)據(jù),z 表示隱變量,菱形表示確定性的節(jié)點(diǎn),hl和分別表示相應(yīng)層深度神經(jīng)網(wǎng)絡(luò)的確定性輸出。
圖1 VLAE網(wǎng)絡(luò)結(jié)構(gòu)Fig.1 VLAE network structure
模型的推理過(guò)程為
其中:l=1,… ,L,表示VLAE 模型的隱變量層次,gl、μl、σl表示每層所用的神經(jīng)網(wǎng)絡(luò),令 h0≡x。
模型的生成過(guò)程為
其中:fL作為解碼器是參數(shù)化的神經(jīng)網(wǎng)絡(luò),[;]表示兩個(gè)向量的連接,vl、ul表示神經(jīng)網(wǎng)絡(luò)。
模型的推理過(guò)程:模型的輸入數(shù)據(jù)x 通過(guò)神經(jīng)網(wǎng)絡(luò) g1得到 h1,如式(1)所示。h1一方面向左通過(guò)神經(jīng)網(wǎng)絡(luò)μ1、σ1得到第1 層的隱變量 z1,如式(2)所示;另一方面向上通過(guò)神經(jīng)網(wǎng)絡(luò) g2得到 h2。在第2 層 h2執(zhí)行與第1 層相同的操作,得到第2 層的隱變量 z2和 h3。以此類(lèi)推直到第L 層,得到L 層的隱變量z1,z2,…,zL。
模型的生成過(guò)程:從網(wǎng)絡(luò)結(jié)構(gòu)的最頂層第L 層開(kāi)始,首先是第L 層的隱變量 zL經(jīng)過(guò)采樣等操作再通過(guò)神經(jīng)網(wǎng)絡(luò) fL得到,如式(3)所示。第L-1 層的隱變量zL-1也經(jīng)過(guò)采樣等操作再通過(guò)神經(jīng)網(wǎng)絡(luò)vL-1,得到的結(jié)果vL-1(zL-1)與相連接并再次通過(guò)神經(jīng)網(wǎng)絡(luò)uL-1得到zL-1,如式(4)所示,直到求出。此時(shí)的就相當(dāng)于VAE 中的隱變量,對(duì)其進(jìn)行采樣、重參數(shù)化等操作即可重構(gòu)圖像數(shù)據(jù)x。VLAE 模型在訓(xùn)練時(shí)使用傳統(tǒng)VAE 模型的損失函數(shù)。
TC-VLAE 模型在變分層次自編碼模型基礎(chǔ)上,通過(guò)在每層隱變量增加TC 正則化先驗(yàn)約束,促使每一層的隱變量都具有解耦表示學(xué)習(xí)能力,然后通過(guò)網(wǎng)絡(luò)結(jié)構(gòu)將所有隱變量的解耦表示學(xué)習(xí)能力疊加。同時(shí),采用漸進(jìn)式方式進(jìn)行模型訓(xùn)練,提升整個(gè)模型的解耦效果。
TC-VLAE 模型以多層次的變分層次自編碼模型的網(wǎng)絡(luò)結(jié)構(gòu)為基礎(chǔ),并在每一層的隱變量中引入TC正則化先驗(yàn)約束。令x ∈RD表示觀測(cè)向量,z ∈RM表示低維連續(xù)隱向量。假設(shè)圖像數(shù)據(jù)x 是由隱變量z生成,采用具有L 層的多層次網(wǎng)絡(luò)結(jié)構(gòu)將隱變量分為L(zhǎng) 層,即z={z1,z2,…,zL},是經(jīng)神經(jīng)網(wǎng)絡(luò)得到的確定性的節(jié)點(diǎn),l=1,2,…,L 。模型定義為
其中:p (zl)=N(zl;0,I)表示隱變量的先驗(yàn)概率分布,l=1,2,… ,L,I 表示單位矩陣,f1,f2,… ,fL為神經(jīng)網(wǎng)絡(luò);表示條件概率分布。
圖像數(shù)據(jù)通過(guò)較少的卷積神經(jīng)網(wǎng)絡(luò)得到的隱變量只包含比較低層次的粗粒度特征信息,比如圖片的背景、物體的大小等特征信息。圖像數(shù)據(jù)通過(guò)較多的卷積神經(jīng)網(wǎng)絡(luò)得到的隱變量包含較高層次的細(xì)粒度特征信息,比如物體的顏色、形狀和紋理等特征信息。VLAE 模型的多層次網(wǎng)絡(luò)結(jié)構(gòu)可以在不同層次捕捉不同的數(shù)據(jù)特征信息。
在此模型中每一層的隱變量都引入一個(gè)TC 項(xiàng)作為約束項(xiàng)[11],促使模型具有更好的解耦表示學(xué)習(xí)能力。TC 項(xiàng)為
其中:()q z 是聚合后驗(yàn),也就是隱空間;i 是隱空間中隱變量的維度。KL 散度代表了兩個(gè)分布之間的距離,上式的TC 項(xiàng)越小,聚合后驗(yàn)分布與隱空間中各維隱變量分布乘積之間的距離就越小,兩個(gè)分布就越相似,隱空間中各維隱變量之間就越獨(dú)立,模型就具有了更強(qiáng)的解耦表示學(xué)習(xí)能力。
完整模型網(wǎng)絡(luò)架構(gòu)如圖2 所示,其中x 為可觀測(cè)數(shù)據(jù),h1,h2,…,hL和為確定性的節(jié)點(diǎn),z1,z2,…,zL為隱變量;紅色虛線(xiàn)框是TC 項(xiàng),梯形框是神經(jīng)網(wǎng)絡(luò)。
圖2 TC-VLAE網(wǎng)絡(luò)結(jié)構(gòu)Fig.2 TC-VLAE network structure
在模型推理過(guò)程中,數(shù)據(jù)x 經(jīng)過(guò)卷積神經(jīng)網(wǎng)絡(luò)得到 h1,h1向下通過(guò)神經(jīng)網(wǎng)絡(luò)得到隱變量 z1;h1再向右經(jīng)過(guò)卷積神經(jīng)網(wǎng)絡(luò)得到 h2,h2再通過(guò)神經(jīng)網(wǎng)絡(luò)計(jì)算得到 z2;以此類(lèi)推到第L 層。不同層次的隱變量包含了不同層次的數(shù)據(jù)信息,較低的層次包含了粗粒度的數(shù)據(jù)特征信息,較高的層次包含了細(xì)粒度的數(shù)據(jù)特征信息。
本文在L 層隱變量中的每一層都引入TC 項(xiàng)作為正則化項(xiàng)(如圖2 中紅色虛線(xiàn)框所示)約束隱變量。這使每一個(gè)層次的隱變量都具有一定的解耦表示學(xué)習(xí)能力,低層次的隱變量具有解耦粗粒度特征的能力,高層次的隱變量具有解耦細(xì)粒度特征的能力,再通過(guò)模型的生成過(guò)程將所有隱變量的信息包含在一起,生成新的數(shù)據(jù),最終使模型既能夠解耦粗粒度特征,又能夠解耦細(xì)粒度特征。
為了避免直接修改傳統(tǒng)模型損失函數(shù)對(duì)模型生成質(zhì)量的影響,本文在保持傳統(tǒng)模型損失函數(shù)不變的基礎(chǔ)上在每一層隱變量中都加入一個(gè)帶有超參數(shù)的TC 項(xiàng)作為正則化項(xiàng),用來(lái)約束此層的隱變量,模型有幾層就加幾個(gè)。這樣既可以使模型具有解耦表示學(xué)習(xí)能力,又不影響模型的重構(gòu)質(zhì)量。模型的損失函數(shù)包括:
模型的重構(gòu)誤差 Lre,為
KL 項(xiàng) LKL,為
所有層的隱變量的TC 項(xiàng)和控制其權(quán)重的超參數(shù)積的和 Lregular,為
其中:j 是每層隱變量的維度,β1,β2,…,βL是超 參數(shù)。
TC-VLAE 模型損失函數(shù)為
在本文模型訓(xùn)練時(shí)引入一種漸進(jìn)式的訓(xùn)練方式,漸進(jìn)式的訓(xùn)練方式將整個(gè)模型訓(xùn)練分為L(zhǎng) 步,即模型結(jié)構(gòu)有幾層隱變量訓(xùn)練就分為幾步,每一步都是一個(gè)完整的模型訓(xùn)練過(guò)程,訓(xùn)練結(jié)束后得到模型參數(shù)。漸進(jìn)式的訓(xùn)練方式如圖3 所示。
圖3 漸進(jìn)式的訓(xùn)練方式Fig.3 Progressive training style
第1 步,訓(xùn)練時(shí)隨機(jī)初始化參數(shù),在訓(xùn)練過(guò)程中只使用第L 層的隱變量訓(xùn)練模型,第1 層到第L-1層的隱變量不參加模型訓(xùn)練,訓(xùn)練完成后得到模型參數(shù),缺少的參數(shù)使用隨機(jī)數(shù)或0 代替。第2 步,訓(xùn)練時(shí)將第1 步的結(jié)果作為本步的初始參數(shù)開(kāi)始訓(xùn)練,訓(xùn)練時(shí)使用第L 層與第L-1 層的隱變量訓(xùn)練模型,第1層到第L-2 層的隱變量不參加模型訓(xùn)練,訓(xùn)練完成后得到本步的模型參數(shù),缺少的參數(shù)使用隨機(jī)數(shù)或0代替。第3 步,訓(xùn)練時(shí)將第2 步的結(jié)果作為本步的初始參數(shù)開(kāi)始訓(xùn)練,訓(xùn)練時(shí)使用第L 層、第L-1 層和第L-2 層的隱變量,其他層的隱變量不參加訓(xùn)練。以此類(lèi)推,直到最后一步所有的隱變量都參加模型訓(xùn)練并完成模型訓(xùn)練。
關(guān)于模型優(yōu)化求解,首先對(duì)含有期望的損失函數(shù)使用蒙特卡洛采樣和重參數(shù)化策略估計(jì),然后再使用隨機(jī)梯度下降的方法進(jìn)行參數(shù)更新。
針對(duì)常見(jiàn)的解耦數(shù)據(jù)集設(shè)計(jì)對(duì)比實(shí)驗(yàn),證明TCVLAE 模型與TC-VAE 模型、VLAE 模型相比具有更強(qiáng)的解耦表示學(xué)習(xí)能力。具體包括3 個(gè)實(shí)驗(yàn):在3Dshapes 數(shù)據(jù)集上比較3 個(gè)模型TC-VLAE、TCVAE 和VLAE 的解耦表示學(xué)習(xí)能力,在3Dchairs 數(shù)據(jù)集和CelebA 人臉數(shù)據(jù)集上驗(yàn)證TC-VLAE 模型與單獨(dú)基于非結(jié)構(gòu)化先驗(yàn)?zāi)P驮诮怦畋硎緦W(xué)習(xí)方面的優(yōu)勢(shì),在dSprites 數(shù)據(jù)集上驗(yàn)證TC-VLAE 模型與單獨(dú)基于結(jié)構(gòu)化先驗(yàn)?zāi)P驮诮怦畋硎緦W(xué)習(xí)方面的優(yōu)勢(shì)。最后,通過(guò)互信息差(mutual information gap,MIG)定量衡量模型在數(shù)據(jù)集上的解耦表示學(xué)習(xí)能力。
實(shí)驗(yàn)使用當(dāng)下常見(jiàn)的用于評(píng)估模型解耦表示學(xué)習(xí)能力的數(shù)據(jù)集3Dshapes 數(shù)據(jù)集[17]、3Dchairs 數(shù)據(jù)集[18]、CelebA 人臉數(shù)據(jù)集[19]和dSprites 數(shù)據(jù)集[9]。
3Dshapes 數(shù)據(jù)集[18]是由6 個(gè)真實(shí)獨(dú)立的潛在因素生成的三維形狀數(shù)據(jù)集,該數(shù)據(jù)集中的潛在因素有地板顏色、墻壁顏色、物體顏色、物體尺寸、物體形狀和物體角度。該數(shù)據(jù)集由480 000 張大小為(64,64,3)的RGB 圖像組成。數(shù)據(jù)集可視化如圖4 所示。
圖4 3Dshapes數(shù)據(jù)集可視化Fig.4 Visualization of 3Dshapes datasets
3Dchairs 數(shù)據(jù)集[19]由1 000 個(gè)不同的3D 椅子模型的渲染圖像組成,是解耦表示學(xué)習(xí)研究中經(jīng)常用到的數(shù)據(jù)集。數(shù)據(jù)集可視化如圖5 所示。
圖5 3Dchairs數(shù)據(jù)集可視化Fig.5 Visualization of 3Dchairs datasets
CelebA 人臉數(shù)據(jù)集[20]是香港中文大學(xué)開(kāi)源的一個(gè)數(shù)據(jù)集,它包含了10 177 個(gè)名人身份的202 599 張大小為(64,64,3)的RGB 圖像。數(shù)據(jù)集可視化如圖6 所示。
圖6 CelebA數(shù)據(jù)集可視化Fig.6 Visualization of CelebA datasets
dSprites 數(shù)據(jù)集[9]是一個(gè)二維形狀數(shù)據(jù)集,由5個(gè)真實(shí)獨(dú)立的潛在因素生成。這些因素包括精靈的形狀、比例、旋轉(zhuǎn)和物體的橫向、縱向的位置。數(shù)據(jù)集共有737 280 張大小為(64,64)的圖像。數(shù)據(jù)集可視化如圖7 所示。
圖7 dSprites數(shù)據(jù)集可視化Fig.7 Visualization of dSprites datasets
TC-VLAE 模型在3Dshapes 數(shù)據(jù)集的實(shí)驗(yàn)設(shè)置為:推理模型和生成模型均采用卷積神經(jīng)網(wǎng)絡(luò),訓(xùn)練迭代次數(shù)為15,批大小為100,模型的神經(jīng)網(wǎng)絡(luò)架構(gòu)為3 層,每層隱空間維度為3,訓(xùn)練中的超參數(shù)β=(8,8,8),模型訓(xùn)練過(guò)程中使用Adam 優(yōu)化訓(xùn)練,學(xué)習(xí)率為0.000 1。實(shí)驗(yàn)結(jié)果如圖8 所示。
圖8 TC-VLAE 模型在3Dshapes 數(shù)據(jù)集上解耦生成效果Fig.8 Disentanglement generation effect of TC-VLAE model on the 3Dshapes datasets
TC-VAE 模型[20]在3Dshapes 數(shù)據(jù)集的實(shí)驗(yàn)設(shè)置為:推理模型和生成模型均采用卷積神經(jīng)網(wǎng)絡(luò),訓(xùn)練迭代次數(shù)為15,批大小為100,隱空間維度為9,訓(xùn)練中的超參數(shù)8β=,模型訓(xùn)練過(guò)程中使用Adam 優(yōu)化訓(xùn)練,學(xué)習(xí)率為0.000 1。實(shí)驗(yàn)結(jié)果如圖9 所示。
圖9 TC-VAE模型在3Dshapes數(shù)據(jù)集上解耦生成效果Fig.9 Disentanglement generation effect of TC-VAE model on the 3Dshapes datasets
VLAE 模型[21]在3Dshapes 數(shù)據(jù)集的實(shí)驗(yàn)設(shè)置為:推理模型和生成模型均采用卷積神經(jīng)網(wǎng)絡(luò),訓(xùn)練迭代次數(shù)為15,批大小為100,模型的神經(jīng)網(wǎng)絡(luò)架構(gòu)為3 層,每層隱空間維度為3,訓(xùn)練中的超參數(shù)β=(8,8,8),模型訓(xùn)練過(guò)程中使用Adam 優(yōu)化訓(xùn)練,學(xué)習(xí)率為0.000 1。實(shí)驗(yàn)結(jié)果如圖10 所示。
圖10 VLAE模型在3Dshapes數(shù)據(jù)集上解耦生成效果Fig.10 Disentanglement generation effect of VLAE model on the 3Dshapes datasets
如圖8 所示,TC-VLAE 模型解耦生成效果自下而上分別為:z1— z3對(duì)應(yīng)第1 層隱變量,這一層模型重構(gòu)生成的圖像并沒(méi)有完全解耦,每一維度至少都有2 個(gè)數(shù)據(jù)特征在變化,比如第1 維度地板的顏色和物體的形狀同時(shí)在變;z4— z6對(duì)應(yīng)第2 層隱變量,這一層模型學(xué)習(xí)到比較低級(jí)層次的數(shù)據(jù)特征,實(shí)現(xiàn)了粗粒度解耦,比如第4 維度學(xué)習(xí)到物體的尺寸逐漸由大變小,而其他的特征則相對(duì)不變,第5 維和第6 維分別學(xué)到物體朝向的角度和物體形狀;z7— z9對(duì)應(yīng)第3層隱變量,這一層模型學(xué)習(xí)到高層次的數(shù)據(jù)特征,實(shí)現(xiàn)了細(xì)粒度的解耦,第3 層的3 個(gè)維度分別學(xué)習(xí)到物體的顏色、地板的顏色和背景的顏色。圖9 中TCVAE 模型在3Dshapes 數(shù)據(jù)集上沒(méi)有學(xué)習(xí)到有用的特征信息。圖10 中VLAE 模型在 z7— z9學(xué)習(xí)到有用的特征信息。
上述實(shí)驗(yàn)結(jié)果表明,基于結(jié)構(gòu)化先驗(yàn)的 TCVLAE 模型和VLAE 模型在3Dshapes 數(shù)據(jù)集上具有一定的解耦表示學(xué)習(xí)能力。這代表多層次的網(wǎng)絡(luò)結(jié)構(gòu)在形狀規(guī)則的數(shù)據(jù)集(比如3Dshapes 數(shù)據(jù)集)上有較強(qiáng)的解耦表示學(xué)習(xí)能力。TC-VLAE 模型在多層次的網(wǎng)絡(luò)結(jié)構(gòu)的基礎(chǔ)上引入了基于非結(jié)構(gòu)化的TC 項(xiàng),所以比VLAE 模型能夠?qū)W習(xí)到更多有用的特征信息,具有更強(qiáng)的解耦表示學(xué)習(xí)能力。
3.3.1 在3Dchairs 數(shù)據(jù)集上的比較
TC-VLAE 模型在3Dchairs 數(shù)據(jù)集的實(shí)驗(yàn)設(shè)置為:推理模型和生成模型均采用卷積神經(jīng)網(wǎng)絡(luò),訓(xùn)練迭代次數(shù)為15,批大小為100,模型的神經(jīng)網(wǎng)絡(luò)架構(gòu)為3 層,每層隱空間維度為3,訓(xùn)練中的超參數(shù)β=(8,8,8),模型訓(xùn)練過(guò)程中使用Adam 優(yōu)化訓(xùn)練,學(xué)習(xí)率為0.000 1。
TC-VAE 模型在3Dchairs 數(shù)據(jù)集的實(shí)驗(yàn)設(shè)置為:推理模型和生成模型均采用卷積神經(jīng)網(wǎng)絡(luò),訓(xùn)練迭代次數(shù)為15,批大小為100,模型隱空間維度為9,訓(xùn)練中的超參數(shù)8β=,模型訓(xùn)練過(guò)程中使用Adam 優(yōu)化訓(xùn)練,學(xué)習(xí)率為0.000 1。
實(shí)驗(yàn)結(jié)果如圖11 所示。
圖11 在3Dchairs數(shù)據(jù)集上解耦生成效果Fig.11 Disentanglement generation effect on the 3Dchairs datasets
在圖11(a)中,z1— z3對(duì)應(yīng)第1 層隱變量,這一層解耦效果并不明顯,更多的是沒(méi)有發(fā)生變化;z4—z6對(duì)應(yīng)第2 層隱變量,這一層模型學(xué)習(xí)到一些數(shù)據(jù)特征,比如第4 維學(xué)習(xí)到椅子的類(lèi)型,第5 維學(xué)習(xí)到椅子腳的類(lèi)型,雖然第6 維依舊學(xué)習(xí)到的是椅子的類(lèi)型,但是該維度椅子類(lèi)型的變化與第4 維學(xué)習(xí)到的椅子類(lèi)型并不相同;z7— z9對(duì)應(yīng)第3 層隱變量,這一層學(xué)習(xí)到更加復(fù)雜的數(shù)據(jù)特征,第7 維和第8 維都學(xué)習(xí)到椅子朝向的角度,但兩者又有所區(qū)別,并不完全相同,第9 維學(xué)習(xí)到椅子的尺寸。
在圖11(b)中TC-VAE 模型的實(shí)驗(yàn)結(jié)果有9 個(gè)維度,但并不是每個(gè)維度都學(xué)習(xí)到有意義的數(shù)據(jù)特征變化。雖然實(shí)驗(yàn)結(jié)果表示該模型在3Dchairs 數(shù)據(jù)上能夠?qū)W習(xí)到椅子朝向的方向(第9 維)、椅子的類(lèi)型(第8 維)和椅子腳的類(lèi)型(第6 維)等多個(gè)數(shù)據(jù)特征,但是通過(guò)兩圖的對(duì)比可以看出,在3Dchairs 數(shù)據(jù)集上,TC-VLAE 模型不僅比TC-VAE 模型生成圖片的質(zhì)量高,而且能夠?qū)W習(xí)到更加豐富且有意義的數(shù)據(jù)特征,具有更好的解耦表示學(xué)習(xí)能力。
3.3.3 在CelebA 人臉數(shù)據(jù)集上的比較
TC-VLAE 模型在CelebA 人臉數(shù)據(jù)集的實(shí)驗(yàn)設(shè)置為:推理模型和生成模型均采用卷積神經(jīng)網(wǎng)絡(luò),訓(xùn)練迭代次數(shù)為10,批大小為128,模型的神經(jīng)網(wǎng)絡(luò)架構(gòu)為4 層,每層隱空間維度為7,訓(xùn)練中的超參數(shù)β=(5,5,5,5),模型訓(xùn)練過(guò)程中使用Adam 優(yōu)化訓(xùn)練,學(xué)習(xí)率為0.000 1。
TC-VAE 模型在CelebA 人臉數(shù)據(jù)集的實(shí)驗(yàn)設(shè)置為:推理模型和生成模型均采用卷積神經(jīng)網(wǎng)絡(luò),訓(xùn)練迭代次數(shù)為10,批大小為128,模型的隱空間維度為28,訓(xùn)練中的超參數(shù)5β=,模型訓(xùn)練過(guò)程中使用Adam 優(yōu)化訓(xùn)練,學(xué)習(xí)率為0.000 1。
實(shí)驗(yàn)結(jié)果如圖12 所示。本文模型在CelebA 人臉數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果表明:模型在第1 層沒(méi)有學(xué)習(xí)到有意義的數(shù)據(jù)特征,在第2 層學(xué)習(xí)到人微笑的特征變化,在第3 層學(xué)習(xí)到人的性別(第4 行,自上而下)、人的發(fā)型(第3 行)以及人臉朝向的角度變化(第1 行和第2 行),在第4 層從上到下分別學(xué)習(xí)到頭發(fā)的顏色、人臉的顏色和圖片背景的顏色。對(duì)比本文模型與TC-VAE 模型的實(shí)驗(yàn)結(jié)果可以發(fā)現(xiàn),雖然TCVAE 模型也能夠?qū)W習(xí)到人臉朝向的角度、背景顏色和人的性別等數(shù)據(jù)特征,但本文模型不僅生成的圖像質(zhì)量好,而且能夠?qū)W習(xí)到更豐富、更細(xì)膩的數(shù)據(jù)特征。
圖12 在CelebA數(shù)據(jù)集上解耦生成效果Fig.12 Disentanglement generation effect on the CelebA datasets
上述實(shí)驗(yàn)結(jié)果表明,將結(jié)構(gòu)化先驗(yàn)與非結(jié)構(gòu)化先驗(yàn)相結(jié)合的TC-VLAE 模型在3Dchairs 數(shù)據(jù)集和CelebA 數(shù)據(jù)集上的解耦效果比單獨(dú)基于非結(jié)構(gòu)化先驗(yàn)的TC-VAE 模型更好。
TC-VLAE 模型在dSprite 數(shù)據(jù)集的實(shí)驗(yàn)設(shè)置為:推理模型和生成模型均采用卷積神經(jīng)網(wǎng)絡(luò),訓(xùn)練迭代次數(shù)為10,批大小為128,模型的神經(jīng)網(wǎng)絡(luò)架構(gòu)為3層,每層隱空間維度為 2,訓(xùn)練中的超參數(shù)β=(5,5,5),模型訓(xùn)練過(guò)程中使用Adam 優(yōu)化訓(xùn)練,學(xué)習(xí)率為0.000 1。
VLAE 模型在dSprite 數(shù)據(jù)集的實(shí)驗(yàn)設(shè)置為:推理模型和生成模型均采用卷積神經(jīng)網(wǎng)絡(luò),訓(xùn)練迭代次數(shù)為10,批大小為128,模型的神經(jīng)網(wǎng)絡(luò)架構(gòu)為3層,每層隱空間維度為 2,訓(xùn)練中的超參數(shù)β=(5,5,5),模型訓(xùn)練過(guò)程中使用Adam 優(yōu)化訓(xùn)練,學(xué)習(xí)率為0.000 1。
實(shí)驗(yàn)結(jié)果如圖13 所示。
圖13 dSprite在數(shù)據(jù)集上解耦生成效果Fig.13 Disentanglement generation effect on the dSprite datasets
在圖13 中,自下而上分為3 層,z1—z2對(duì)應(yīng)第1 層隱變量,z3— z4對(duì)應(yīng)第2 層隱變量,z5— z6對(duì)應(yīng)第3 層隱變量。結(jié)果表明:本文模型能夠在第1 層學(xué)習(xí)到物體的方向,在第2 層學(xué)習(xí)到物體的類(lèi)型和物體的大小,在第3 層學(xué)習(xí)到物體的位置移動(dòng)。圖13(b)顯示VLAE 模型在此數(shù)據(jù)集上并沒(méi)有明顯的解耦表示學(xué)習(xí)能力。
上述實(shí)驗(yàn)結(jié)果表明,將結(jié)構(gòu)化先驗(yàn)與非結(jié)構(gòu)化先驗(yàn)相結(jié)合的TC-VLAE 模型在dSprite 數(shù)據(jù)集上的解耦效果要比單獨(dú)基于結(jié)構(gòu)化先驗(yàn)的VLAE 模型更好。
互信息差是一種可以定量衡量無(wú)監(jiān)督模型的解耦表示學(xué)習(xí)能力的度量方式[11],它是0~1 之間的一個(gè)數(shù),數(shù)值越大表示模型解耦表示學(xué)習(xí)能力越強(qiáng)。理論上一個(gè)無(wú)監(jiān)督模型的解耦表示學(xué)習(xí)能力不會(huì)到1。在解耦表示學(xué)習(xí)領(lǐng)域中,模型的解耦評(píng)估指標(biāo)一直是一個(gè)重要的研究方向,許多研究者都提出了自己的解耦評(píng)估指標(biāo),比如Kim 等[2]的工作,互信息差是其中使用較為廣泛的一個(gè)。
將本文模型TC-VLAE 和TC-VAE 模型、VLAE模型在3Dshapes 數(shù)據(jù)集、3Dchairs 數(shù)據(jù)集、CelebA人臉數(shù)據(jù)集和dSprites 數(shù)據(jù)集上的互信息差進(jìn)行匯總,結(jié)果見(jiàn)表1。
表1 各個(gè)模型在各個(gè)數(shù)據(jù)集上的互信息差Tab.1 Mutual information gap of each model on the datasets
TC-VLAE 模型比任何一個(gè)單思路的模型都具有更大的互信息差,說(shuō)明TC-VLAE 模型具有更強(qiáng)的解耦表示學(xué)習(xí)能力。
本文提出了TC-VLAE 模型。TC-VLAE 模型是基于層次化的變分自編碼模型,使模型實(shí)現(xiàn)不同層級(jí)間的特征解耦。在多層次模型結(jié)構(gòu)中的每一層隱空間中都加入TC 項(xiàng)作為正則化項(xiàng),使模型實(shí)現(xiàn)各層級(jí)隱空間內(nèi)部的特征解耦。訓(xùn)練時(shí)使用漸進(jìn)式的訓(xùn)練方式充分發(fā)揮層次化網(wǎng)絡(luò)模型的優(yōu)勢(shì),同時(shí)使用蒙特卡洛法采樣、重參數(shù)化策略以及隨機(jī)梯度下降算法求解優(yōu)化問(wèn)題。本文在4 個(gè)常用解耦數(shù)據(jù)集上進(jìn)行對(duì)比實(shí)驗(yàn),結(jié)果表明:將層次化結(jié)構(gòu)與TC 先驗(yàn)相結(jié)合的TC-VLAE 模型的解耦表示學(xué)習(xí)能力比單一的層次化結(jié)構(gòu)模型和只有TC 先驗(yàn)的非結(jié)構(gòu)化模型都更優(yōu)異。