成科揚,孟春運,王文杉,師文喜,3,詹永照
(1.江蘇大學計算機科學與通信工程學院,江蘇鎮(zhèn)江 212013;2.社會安全風險感知與防控大數(shù)據(jù)應用國家工程實驗室(中國電子科學研究院),北京 100041;3.新疆聯(lián)海創(chuàng)智信息科技有限公司,烏魯木齊 830011)
(?通信作者電子郵箱kycheng@ujs.edu.cn)
表征是機器學習中最基本的問題之一,它涉及視覺、語音識別、自然語言處理、強化學習和圖形學等多個領域。然而,什么才是一個好的表征是一個存在爭議性的問題。目前,表征有兩種形式:一種是設計出來的,另一種是從數(shù)據(jù)中學習的。設計的表征可以完美地滿足結構化復用和可解釋性的需求;而學習的表征不需要專業(yè)知識,幾乎在每一個具有足夠數(shù)據(jù)的任務上都優(yōu)于設計表征的功能,并且學習表征的特點取決于它們的預期用途。
近年來,機器學習取得了顯著的進展,特別是在監(jiān)督學習和強化學習方面。然而,許多性能優(yōu)秀的算法常常存在數(shù)據(jù)效率低下的問題,這些算法的表現(xiàn)往往缺乏生物智能所特有的魯棒性和泛化性。為解決單個任務的上述缺陷,應該著力于解決主要特征對該任務適用性的問題。從實踐角度來看,為每一項這樣的任務去學習單獨的表征需要重復設計模型而且浪費大量的時間;從理論角度來看,具有可分解結構、與不同部分相關聯(lián)的一致語義的表征更有可能推廣到新任務。在深度學習領域,已經(jīng)進行了相當一段時間的研究來學習數(shù)據(jù)中的變差因素,通常被稱為解耦表征學習。這一術語雖然沒有規(guī)范的定義,但通常采用2013年Bengio等[1]的定義:一種表征,其中一個維度的變化對應于一個變化因子的變化,而其他因子相對不變。通俗來講,解耦表征學習是對影響數(shù)據(jù)形態(tài)的關鍵因素進行建模,使得某一關鍵因素的變化僅僅引起數(shù)據(jù)在某項特征上的變化,而其他的特征不受影響,在模型可解釋性、對象生成[2]和操作以及零樣本學習等問題上有著巨大優(yōu)勢。
從用戶的角度來看,解耦表征學習在圖像處理方面具有強大優(yōu)勢。相較于傳統(tǒng)的美圖技術,解耦表征在此方面的功能更加豐富,生成的照片比基于生成對抗模型的應用更加逼真。從開發(fā)人員的角度來看,解耦表征在可解釋性方面存在顯著優(yōu)勢,使得基于此技術的應用場景更加廣闊。如在醫(yī)療、金融領域,深度學習因不具備可解釋性的緣故,一旦結果出現(xiàn)誤差(醫(yī)療事故),無法解釋誤差的來源,以及金融部門對不透明模型的廣泛應用可能導致的缺乏解釋性和可審計性表示擔憂。
由此可見,解耦表征學習研究意義重大,使深度學習這樣的黑盒實驗變得具有可解釋性,研究者可以清楚地知道每一層特征提取的具體含義以及每一個決策背后的邏輯推理。本文將從解耦表征學習的歷史與優(yōu)勢著手,并對解耦表征學習的研究現(xiàn)狀以及應用進行歸納總結,同時對解耦表征學習的前景作出展望。
1.1.1 解耦表征研究的起源
隨著心理學和人工智能領域的蓬勃發(fā)展,研究人員試圖將這樣一種觀點正式化,即世界上不同的變差因素可以從原始的感知輸入中恢復。在早期視覺研究中認為某些變換會使對象特性不變,且這樣的變換都是相互獨立的,并隨著這些變換的進行,視覺系統(tǒng)如何形成不變的表征對于理解感知至關重要。例如1979 年J.J.Gibson 所寫的《視覺感知的生態(tài)方法》[3]一書中有關于形成不變表征方面的介紹。繼Gibson 的研究之后,心理學家立刻就注意到了群論的數(shù)學框架,將其作為一種把不變量和對稱性概念正式化的方法[4]。
許多關于感知和表征學習的研究,特別是在物體識別方面,都遵循Gibson 等[3]所強調(diào)的姿勢或光照等特征,這些特征變換具有獨立性[5-8],在此框架中,變換被視為要丟棄的變量。然而,其他研究人員提倡一種表征學習的方法來保留這些變換的信息[9]。在感知的等價變換方法中,特征的一些子集對于某些特定的變換可能是不變的,但總體表征仍保留所有信息。特別是在無監(jiān)督的環(huán)境中,這些表征可能用于許多不同的任務,因此等價變換的感知方法似乎更有效。解耦表征學習的工作就屬于這一研究范疇,標志著解耦表征學習的起源。
1.1.2 不變特征對解耦表征的推動
在許多機器學習任務中,數(shù)據(jù)來源于涉及多因素復雜交互的生成過程。單獨來看,每個因素都是數(shù)據(jù)可變性的一個來源。各個因素的交互共同帶來了豐富的結構特征。為了應對這些變化因素,在機器學習和諸如計算機視覺的應用領域中出現(xiàn)了一種研究熱潮,即轉向研究數(shù)據(jù)變化源中保持不變的手工工程特性集。這股熱潮推動了LeCun 等[10]在1989 年提出卷積網(wǎng)絡結構中特征池化階段的表征和2009 年Wang等[11]基于大規(guī)模低級別特征池化表征的發(fā)展。這些方法都源于一個想法,即通過匯集一組簡單的濾波響應來歸納數(shù)據(jù)的不變特征。2011年Courville等[12]從無監(jiān)督數(shù)據(jù)中弄清了哪些過濾器可以合并在一起,從而提取了匯集特征不變的方差方向。1996 年Kohonen[13]提 出 了ASSOM(Adaptive-Subspace Self-Organizing Map)模型,首次確立了這樣的原則,即不變特征實際上可以通過無監(jiān)督學習的方式從特征的子空間中產(chǎn)生。從那時起,相同的基本策略出現(xiàn)在一些不同的模型和學習范式中,包括2000 年Hyv?rinen 等[14]提出的拓撲獨立成分分析、2009 年Kavukcuoglu 等[15]提出的不變預測稀疏分解以及2010 年Ranzato 等[16]提出的基于玻爾茲曼機的方法。在每種情況下,基本策略都是通過使用一個變量來將過濾器分組在一起,該變量為組中所有元素的激活提供門控。對于不變特征的研究推動了解耦表征的發(fā)展,并為接下來變分自編碼器(Variational Auto-Encoder,VAE)在解耦表征中的應用提供了良好的理論基礎。
解耦表征學習實際上是將傳統(tǒng)數(shù)學建模和機器學習建模的優(yōu)缺點相結合的方法。傳統(tǒng)數(shù)學建模方法是數(shù)學家們基于專家經(jīng)驗和對現(xiàn)實世界的理解進行建模,而機器學習建模則是另一種完全不同的建模方式。機器學習算法以一種更加隱蔽的方式來描述一些客觀事實,盡管人類并不能完全理解模型的描述過程,但在大多數(shù)情況下,機器學習模型要比人類專家構建的數(shù)學模型更加精確。更重要的是,在諸多應用領域(如醫(yī)療、金融、軍事等)[17],機器學習算法尤其是深度學習模型并不能滿足當下需要清晰且易于理解的決策需求。
深度學習技術的發(fā)展在許多領域都對神經(jīng)網(wǎng)絡的應用進行了嘗試。在一些重要的領域,使用神經(jīng)網(wǎng)絡確實是合理的,并且獲得了較好的應用效果,包括計算機視覺、自然語言處理、語音分析和信號處理等[18-21]。在上述應用中,深度學習方法都是利用線性和非線性轉換對復雜的數(shù)據(jù)進行自動特征提取,并將特征表示為“向量”(vector),這一過程一般也稱為“嵌入”(embedding)。之后,神經(jīng)網(wǎng)絡對這些向量進行運算,并完成相應的分類或回歸任務。從特征提取和準確度來看,這種“嵌入”的方法非常有效,但在許多方面也存在不足,如:
1)可解釋性:嵌入所使用的N維向量無法對模型分類的原理和過程進行很好的解釋,只有通過逆向工程才能找到輸入數(shù)據(jù)中對模型分類影響較大的內(nèi)容。
2)數(shù)據(jù)需求量龐大:如果只有10~100 個樣本,深度學習無法使用[22-23]。
3)無監(jiān)督學習:大多數(shù)深度學習模型都需要有標簽的訓練數(shù)據(jù)。
4)零樣本學習:這是一個很關鍵的問題,基于一個數(shù)據(jù)集所訓練出的神經(jīng)網(wǎng)絡,若不經(jīng)過重新訓練,很難直接應用在另一個數(shù)據(jù)集上。
5)對象生成:除了生成對抗網(wǎng)絡(Generative Adversarial Network,GAN)以外,其他模型都很難生成一個真實的對象[24-27]。
6)對象操作:難以通過嵌入調(diào)整輸入對象的具體屬性。
7)理論基礎:雖然目前已經(jīng)掌握了比較通用的逼近理論,但還遠遠不夠。
針對這些棘手的問題,數(shù)學建模恰好可以解決。在幾十年以前,大多數(shù)數(shù)學家都沒有遇到過上述問題,因為他們主要關注數(shù)學建模(mathematical modeling),并通過數(shù)學抽象來描述現(xiàn)實世界中的對象和過程,如使用分布、公式和各種各樣的方程式。在這個過程中,數(shù)學家定義了常微分方程(Ordinary Differential Equation,ODE)。本文通過指出深度學習存在的問題,對數(shù)學建模的特點進行了分析。需要注意的是,“嵌入”代表數(shù)學模型的參數(shù),如微分方程的自由度集合。對于機器學習的不足,相應的數(shù)學建模在上述幾個方面都得到了有效的解決,如:
1)可解釋性:每個數(shù)學模型都是基于科學家對客觀事物的描述而建立的,建模過程包含數(shù)學家對客觀事物的描述動機和深入理解。
2)數(shù)據(jù)需求量:大多數(shù)數(shù)學建模上的突破并不需要基于巨大的數(shù)據(jù)集進行。
3)無監(jiān)督學習:對數(shù)學建模來說也不適用。
4)零樣本學習:一些隨機微分方程(如幾何布朗運動)適用于金融、生物或物理領域,只需要對參數(shù)進行重新命名。
5)對象生成:不受限制,對參數(shù)進行采樣即可。
6)對象操作:不受限制,對參數(shù)進行操作即可。
7)理論基礎:百年數(shù)學的奠基。
如果在處理復雜數(shù)據(jù)時把表現(xiàn)較好的神經(jīng)網(wǎng)絡和人工建模方法結合起來,可解釋性、生成和操作對象的能力、無監(jiān)督特征學習和零樣本學習的問題,都可以在一定程度上得到解決。對于微分方程和其他人工建模方法來說,圖像處理很難進行,但通過和深度學習進行結合,上述模型允許我們進行對象的生成和操作、增強模型的可解釋性[28-30],最重要的是,該模型可以在其他數(shù)據(jù)集上完成相同的工作。但該模型也有一些不足之處,如建模過程不是完全無監(jiān)督的,目前半監(jiān)督、自監(jiān)督的方法很好地彌補了這一短板[31-33]。
下面本文將著重介紹分析VAE 這個結合了傳統(tǒng)數(shù)學建模和機器學習優(yōu)缺點的模型來實現(xiàn)解耦表征,也就是讓嵌入中的每個元素對應一個單獨的影響因素,并能夠?qū)⒃撉度胗糜诜诸悺⑸珊土銟颖緦W習。
解耦表征學習不同于分類等其他機器學習任務,其難點之一是難以建立明確的目標或訓練目標。在分類任務的情況下,目標是顯而易見的,即把訓練數(shù)據(jù)集上的錯誤分類數(shù)量降至最低。在解耦表征學習的情況下,其目標與最終目標相去甚遠,最終目標通常是學習分類器或其他預測器,而解耦表征學習的目標是一種解開變化的潛在因素的表征;同時另一個值得考慮的問題是如何將其轉化為合適的訓練標準。下面從變差因素這個研究方向進行歸納總結:一方面,這屬于解耦表征學習的主要研究方向,從中可以了解到目前的研究現(xiàn)狀;另一方面,也是解耦表征學習的主要應用,在有限的數(shù)據(jù)資源中減少模型的訓練次數(shù)并獲得更大的泛化效果。
2.1.1 基于生成耦合解開變差因素的研究
2011 年Courville 等[34]提出了釘板約束的玻爾茲曼機(spike-and-slab Restricted Boltzmann Machine,ssRBM)被證明是一種很有前途的自然圖像數(shù)據(jù)模型。在這里,為了學習如何理清數(shù)據(jù)中明顯的變差因素,Courville 等將ssRBM 推廣到多個二元隱變量的高階相互作用中。從生成角度來看,二元隱變量的乘法相互作用模擬了產(chǎn)生數(shù)據(jù)因素的耦合。相反,模型中的推理可以被視為試圖將各種相互作用的因素歸因于它們對數(shù)據(jù)的綜合描述,從而在效果上解耦變差因素。這種方法只依賴模型參數(shù)的無監(jiān)督近似最大似然學習,因此在定義要解耦的因素時不需要使用任何標簽信息。
基于生成耦合解開變差因素的方法源于釘板約束的玻爾茲曼機,并將其推廣到多個潛在變量的高階相互作用中[35]。從生成的角度看,乘法的相互作用模擬了變差因素的耦合。與以往的潛在因素分析方法不同,基于生成耦合解開變差因素的方法不使用潛在因素的監(jiān)督信息進行訓練,例如考慮面部表情識別的目的。一方面,具有相同面部表情的不同個體的兩個圖像可能會使圖像在像素空間中被很好地分開;另一方面,顯示不同表情的相同個體的兩個圖像很可能在像素空間中被放置在非常接近的位置。重要的是,這些相互作用的因素通常不會組合成簡單的疊加,通過選擇適當?shù)臄?shù)據(jù)仿射投影就可以很容易地將其分開,這些因素往往看起來與原始數(shù)據(jù)緊密相關,這其實是一種基于生成耦合解開變差因素的研究方法。
基于生成耦合解開變差因素的進一步研究是2011 年Hinton等[36]提出通過學習提取與姿勢參數(shù)相關聯(lián)的特征來分離變差因素,其中姿勢參數(shù)的變化在訓練時是已知的。該模型也與2010 年Memisevic 等[37]提出的高階玻爾茲曼機用作圖像中的空間變換模型密切相關。雖然這兩種模型有許多不同之處,最顯著的區(qū)別是前者使用了潛在變量的乘法交互作用。雖然在玻爾茲曼能量函數(shù)中包含了更高階的相互作用,但只在觀察到的變量之間使用,極大地簡化了推理和學習過程。如上所述,使用基于生成耦合解開變差因素的方法可以分離出相互作用的潛在變量組。以這種方式保持交互的局部性,是僅使用無監(jiān)督數(shù)據(jù)成功學習的關鍵組成部分。
2.1.2 基于流形相互作用解耦變差因素的研究
2000 年Tenenbaum 等[38]提出流形學習方法,通過學習低維結構或嵌入實現(xiàn)數(shù)據(jù)建模?,F(xiàn)有的流形學習方法可以從單個人的人臉圖像中學習本質(zhì)上的低維結構,如視點流形,但要對復雜的高維流形建模,如數(shù)百萬人的人臉圖像空間,則變得具有挑戰(zhàn)性。然而,正如2011 年Rifai 等[39]所建議的那樣,深度學習已經(jīng)證明在學習高維數(shù)據(jù)流形方面是有效的,但是對多個變差因素及其相互作用的流形進行聯(lián)合建模仍然是一個挑戰(zhàn)。有幾個相關的工作使用了多個隱變量的高階交互作用。例如,2000 年Tenenbaum 等[38]提出的雙線性模型用來分離面部圖像和語音信號中的風格和內(nèi)容;2013年Tang等[40]提出的張量分析器,通過引入因子加載張量來對多組潛在因子單元的交互作用進行建模,從而擴展了因子分析,并被應用于光照和臉部形態(tài)的建模。
一個能夠具有解耦變差因素的生成模型應該能夠保持遍歷一個因素流形的同時固定其他因素的狀態(tài)[41]。例如對于人臉圖像生成模型,在固定身份的同時可以生成不同姿勢或表情的圖片,并且還具備在子流形內(nèi)插值,將固定的姿勢或表情遷移給不同身份的人。2013 年Bengio 等[42]指出,與像素或單層模型等淺層表征相比,跨越深層表征的線性插值可以更接近圖像流形。當輸入圖像是由多個變差因素生成時,它們往往位于一個復雜的流形上,這使得學習有用的表征具有較高的難度。通過將每個變差因素視為自身形成一個子流形來處理這個問題,并對各因素之間的聯(lián)合作用進行建模。如圖1所示,從不同方位角(固定高度)拍攝的單個人的人臉圖像時,圖像的軌跡將形成環(huán)形。
圖1 面部圖像中建模姿勢和身份變化的方法Fig.1 Approach for modeling pose and identity variations in face images
許多潛在的變差因素相互作用可產(chǎn)生視覺數(shù)據(jù),因此,可以學習相關變差因素的流形坐標,并對它們的聯(lián)合作用進行建模?,F(xiàn)有的許多特征學習算法都集中在單個任務上,提取對任務的相關因素敏感、對其他因素不變的特征。然而,只提取一組不變特征的模型并沒有很好地利用潛在因素之間的關系。為了解決這個問題,2014年Reed等[43]提出了一種高階玻爾茲曼機,它結合了隱藏單元組之間的乘法交互作用,每個隱藏單元組都學習編碼不同的變差因素。此外,Reed 等還提出了基于通信的訓練策略模型,該模型在多倫多人臉數(shù)據(jù)庫上實現(xiàn)了高效的情感識別和人臉驗證性能。
2.1.3 運用對抗性訓練解耦深層表征變差因素的研究
2009 年Bengio 等[44]認為理解感官數(shù)據(jù)的一個根本挑戰(zhàn)是學會解開潛在的變差因素。例如,生成語音記錄所涉及的變差因素包括說話人的屬性,如性別、年齡或口音,以及語調(diào)和正在說話的內(nèi)容。類似地,圖像的潛在變差因素包括圖像的物理表現(xiàn)和觀察條件。解開這些隱藏因素的困難在于多數(shù)情況下,每一個因素都會以不同的、不可預測的方式影響觀察,很難有人可以將接觸到這些影響的性質(zhì)明確給出標簽數(shù)據(jù)。通常情況下,收集數(shù)據(jù)集的目的是進一步解決某個有監(jiān)督的學習任務,且這種類型的任務學習完全是由標簽驅(qū)動的。對抗性訓練解耦深層表征是讓學習到的表征對手頭沒有提供信息任務的變差因素保持不變。2019 年Li 等[45]提出了一種名為相似性限制的生成式對抗網(wǎng)絡(Similarity Constraint Generative Adversarial Network,SCGAN),它能夠以完全無人監(jiān)督的方式學習解耦表征。他們的靈感來自平滑度假設以及對圖像內(nèi)容和表征的假設,并設計了有效的相似性約束。SCGAN 可以通過在條件和合成圖像之間添加相似度約束來解耦出具有可解釋性的表征。實際上,相似性約束是作為指導生成網(wǎng)絡來理解基于條件表征差異的一種監(jiān)督。SCGAN成功區(qū)分了許多數(shù)據(jù)集的不同表征。雖然最近的監(jiān)督學習方法取得了巨大的成功,但它們是以放棄解決其他相關任務的可復用性為代價的。
許多其他的應用需要使用生成模型,這些生成模型能夠合成新的實例,并將某些關鍵的變差因素保持恒定。與分類不同,生成式建模需要保留所有變差因素。但對于許多任務來說,僅僅保留這些因素是不夠的。例如,在語音合成中將一個人的對話轉換成另一個人的聲音;以及圖像處理中的逆問題,如去噪和超分辨率?;谏鲜隹紤],2016 年Mathieu 等[46]引入了一個條件生成模型來學習如何從一組標記的觀測中解開隱藏的變差因素,并將它們分離成互補碼。一份代碼總結了與標簽相關的特定變差因素,另一份總結了剩余的未指明的可變性。在訓練期間,唯一可用的監(jiān)督來自區(qū)分同一類別的不同觀察能力。這種觀察力包括在不同視角捕獲的一組標記對象的圖像,或者口述多個短語的一組說話者的記錄。在這兩種情況下,類內(nèi)差異是未指明的變差因素的來源:每個對象在多個視角被觀察,每個說話者口述多個短語。當進行強有力的監(jiān)督時,將特定因素與未指定因素區(qū)分開也變得更加簡單快捷。然而,在數(shù)據(jù)采集不受嚴格控制的情況下,未指明因素的標簽通常是不可用的,所以通過將深度卷積自編碼器和另一種形式的對抗性訓練相結合的方式來解決在更一般情況中的解耦問題。
目前,先進的解耦學習很大程度上基于VAE:假定隱空間(latent space)特定的先驗概率P(z),然后使用一個深度神經(jīng)網(wǎng)絡參數(shù)化條件概率P(x|z)。類似的,分布P(x|z)是使用變分分布Q(z|x)近似得到,該變分分布也是由深度神經(jīng)網(wǎng)絡參數(shù)化得到的。通過最小化負對數(shù)相似度的近似來訓練模型。r(x)的表示通常取近似后驗分布Q(z|x)的均值。為了獲得更好的解耦性,幾種不同的VAE 模型被提出,但這些方法的共同點都是試圖分解聚合后驗∫xQ(z|x)P(x)dx,這可以幫助解耦[47-48]。
生成模型能否學習到解耦表征的常見標準是能否將其數(shù)據(jù)集的形式和內(nèi)容作為獨立變差因素來進行學習。為了利用VAE 實現(xiàn)這種解耦,標簽信息通常以完全監(jiān)督或半監(jiān)督的方式提供,然而,變分目標不足以解釋所觀察到的形式及內(nèi)容的解耦,因此,通過不同形式的自編碼器的變種可以有效解決這種問題[49]。下面將介紹一些自編碼器的變種在解耦表征方面的研究。
2.2.1 代表性的變分自編碼器變體
在無監(jiān)督的情況下學習解耦表征是有難度的。分離的變量通常被認為包含可解釋的語義信息和獨立作用于生成過程的組合。與主成分分析(Principal Component Analysis,PCA)類似,一方面自編碼器最初被視為一種降維技術,因而在使用上有一定瓶頸;另一方面,稀疏編碼和限制玻爾茲曼機(Restricted Boltzmann Machine,RBM)方法的成功使用傾向于支持完整表征,這可以允許自編碼器簡單地復制特征中的輸入,具有完美的重構。在此基礎上,2013年,Kingma 等[50]提出了VAE,該模型還能夠捕捉到圖像的結構變化(傾斜角度、圈的位置、形狀變化、表情變化等)。2016年Higgins等[51]提出的β-VAE 是一種無監(jiān)督視覺解耦表征學習模型,它是對VAE 目標函數(shù)的修改,是為了了解圖像x及其潛在生成因子z聯(lián)合分布的一種生成方法。β-VAE 在VAE 目標上增加了一個額外的超參數(shù)β,這限制了潛在瓶頸的有效編碼能力,并鼓勵了潛在表征的更多因式分解。β-VAE 所學習的解耦表征對于學習抽象視覺概念層次[52]、提高強化學習策略的遷移性能(包括機器人學中模擬現(xiàn)實遷移)具有重要意義。β-VAE 有助于將解耦因子學習擴展到更復雜的數(shù)據(jù)集上。特別是與標準的VAE相比,β-VAE 學習的因子表征可以與人類對數(shù)據(jù)生成因子的直覺軸對齊。不過,β-VAE也有其局限性,如重建保真度比標準VAE 差。這是由修改后的訓練目標引入的權重導致的,該目標函數(shù)變相地降低了重建損失的權重,以便鼓勵在潛在表征中解耦。與標準的VAE目標相比,Higgins等[53]對β-VAE學習視覺數(shù)據(jù)生成因素的軸對齊解耦表征的原因有了新的見解。特別是鼓勵β-VAE 找到一組代表性軸,這些軸能夠更好地保持數(shù)據(jù)點的局部性,并且與提高數(shù)據(jù)記錄可能性的變差因素保持一致。該方法通過允許先驗的平均KL(Kullback-Leibler)散度從零逐漸增加,而不是原始β-VAE 目標中固定的β加權KL 項,因此使得訓練過程中可以控制潛在后驗編碼容量的增加。結果表明,與原始公式中獲得的結果相比,這提高了解耦表征的魯棒性和更好的重建保真度。2018 年Burgess等[54]對VAE 中的解耦表征提出了新的理論評估方法,從速率失真理論的角度展示了當修改證據(jù)下界優(yōu)化β-VAE 時,隨著訓練的進行,出現(xiàn)了與數(shù)據(jù)變化的潛在生成因素相一致的表征的情況?;谶@些認識,對β-VAE 的訓練機制提出了一種改進方案,即在訓練過程中逐步增加潛碼的信息容量。這種修改加強了β-VAE 中解耦表征的魯棒性,而不需要過多考慮先前在重建精度方面的權衡。
學習數(shù)據(jù)語義是人工智能的一個重要分支。這種表征方式不僅對標準下行任務有用,如監(jiān)督學習和強化學習,還對遷移學習和zero-shot學習這種人類勝于機器的學習有用。在深度學習領域,科研人員在數(shù)據(jù)的變差因素方面付出了艱苦努力。實際上,假設數(shù)據(jù)從一個有著固定數(shù)量的變差因素中生成,在集中處理圖像數(shù)據(jù)的過程中,其變量中因素的影響更容易可視化。使用生成模型表明了在圖像中學習解耦表征的巨大希望。2018 年Kim 等[55]定義并解決了對獨立變差因素產(chǎn)生的數(shù)據(jù)進行解耦表征學習的問題,并提出了FactorVAE。算法通過激勵表征的分布,使之成為因式,并在整個維度中獨立。FactorVAE 改進了β-VAE,在解耦和重構質(zhì)量之間提供了更好的折中,并且引入了一種常用的解耦度量。圖2 是FactorVAE 的架構,即一個可變的自動編碼器,階乘鼓勵代碼的分布(encouraging the code distribution to be factorial)。圖2上方是一個帶有卷積編碼器和解碼器VAE,下方是一個多層感知機(Multi-Layer Perceptron,MLP)分類器,即判別器,它是用來區(qū)分輸入進來的是邊緣碼分布還是邊長的乘積。
圖2 FactorVAE的架構Fig.2 Architecture of FactorVAE
在VAE 中,解耦就會導致重構不是很好,F(xiàn)actorVAE 希望可以做到在不降低重構質(zhì)量的情況下,得到較好的解耦效果。導致VAE 解耦效果不佳主要歸因于其KL 散度分解完包含兩個函數(shù),即I(x;z)和KL(q(z)‖p(z)),前者互信息是指z中包含多少x的信息,后者是讓q(z)與p(z)接近一點,由于p(z)各向同性的性質(zhì),q(z)向p(z)靠近會導致z的各維度之間也是獨立的,這就是FactorVAE 想要達到的目的;所以在β-VAE 里面直接對兩項一起懲罰會導致解耦效果變好,而重構效果就會下降,因此FactorVAE 希望將其分開。最后,F(xiàn)actorVAE 提出使用總相關懲罰系數(shù)(Total Correlation Penalty,TCP),就是在傳統(tǒng)VAE 的下界再加一TC 項,它可以促進z的每個維度之間盡可能獨立。
在過去的幾年中,在利用生成模型解耦潛在表示方面取得了重要進展,其中兩種主要方法是GAN 和VAE。但值得注意的是,標準的自編碼器和緊密相關的結構模型仍然很流行,因為它們易于訓練并且可以適應不同的任務。所以引出了一個有趣的問題:能否讓自編碼器在保持其良好性能的同時實現(xiàn)優(yōu)秀的解耦能力。2020 年Patacchiola 等[56]提出了新模型Y-AutoEncoder(Y-AE)來解決了上述的問題。Y-AE 的結構將表征形式分為隱性和顯性兩個部分:隱性部分類似于AE的輸出,顯性部分與訓練集中的標簽密切相關。通過在解碼和重新編碼之前將編碼器的輸出分成兩條路徑(形成Y 形),在潛在空間中將這兩部分分開,然后施加多種損失,例如重建損失,以及隱性和顯性部分之間依賴性的損失。從各個方面的實驗結果來看,例如樣式和內(nèi)容的分離、圖像到圖像的轉換等都有顯著的提升。
2.2.2 不同解耦度量的側重
不同的解耦模型針對不同的下游任務會導致各個模型解耦性能的差異。雖然對解耦表征希望有一個全面、統(tǒng)一的評估,但還沒有一個單一、被普遍接受的定義。一般說來,如果不是完整的基本事實生成模型的話,所有這些方法都假設它們可以獲得基本事實因素。在以下內(nèi)容中,將簡要回顧在研究中考慮的解耦度量。
2016年Higgins等[57]提出了β-VAE度量,建議在基本生成模型常數(shù)中固定隨機變差因素,采樣兩個小批次的觀測樣本;然后,利用線性分類器的精度來表示模型的解耦性能,該線性分類器基于兩個小批次中表征向量之間的平均差值來預測固定因子的指數(shù)。隨后2018 年Kim 等[55]提出了FactorVAE 度量,通過使用多數(shù)投票分類器來解決該度量的幾個問題,該分類器基于具有最小方差的表征向量的索引來預測固定基礎事實因子的索引。同年Chen 等[58]提出了互信息間隔(Mutual Information Gap,MIG),即具有最高互信息的表征因子和次高互信息的表征因子之間的歸一化均方誤差,并認為β-VAE 度量和FactorVAE 度量并不具備一般性,因為它們依賴于一些超參數(shù)。Chen 等比較表征中的每個基本事實因子和其他因子的成對互信息,然后考慮其中具有最高互信息的兩個因子。2018 年Ridgeway 等[59]提出了應該考慮表征的兩個不同性質(zhì),即模塊性和顯性。在模表征中,表征出來的每個維度至多取決于單個變差因素;在顯式表征中,變差因數(shù)的值很容易從模表征中預測。Ridgeway等提出用模表征的互信息間隔來衡量模數(shù)。在測量顯性時,利用一對邏輯回歸分類器的ROC-AUC(Receiver Operating Characteristic-Area Under Curve)來預測變差因素。2019 年Kumar 等[60]提出了分離屬性可預測性(Separated Attribute Predictability,SAP)分數(shù),即從學習表征的每個維度預測因子值中計算線性回歸的R2 分數(shù)(決定系數(shù))。對于離散數(shù)據(jù)的情況,他們建議訓練分類器。SAP分數(shù)是每個因素的兩個最具預測性的潛在維度的預測誤差的平均值。
通常情況下,比較模型性能的優(yōu)劣應當使用普遍接受的度量方法。目前,解耦表征針對不同研究方向提出了各種不同的具體度量標準,每個度量標準的目的都是以稍微不同的方式來形式化度量的概念。
3.1.1 解耦表征從圖像到圖像轉換上的應用
深度學習極大地提高了圖像到圖像轉換方法的質(zhì)量。這些方法旨在學習將圖像從一個域轉換到另一個域的映射。如:彩色化,其目的是將灰度圖像映射到相同場景的彩色圖像[61];語義分割,其目的是將RGB 圖像被轉換為指示RGB 圖像中的每個像素的語義類別的映射[62]。但是這類映射有兩個主要挑戰(zhàn):一是缺少對齊的訓練對;二是來自單個輸入圖像的多種可能的輸出。2017 年Isola 等[63]提出了一種從圖像到圖像轉換的通用方法。當配對數(shù)據(jù)可用時,該方法可以成功應用于各種問題。通過引入循環(huán)一致性損失,該理論進一步擴展到未配對數(shù)據(jù)的情況下[64]。U-Net 架構[65]通常用于圖像到圖像的轉換。該網(wǎng)絡可以解釋為編碼解碼器網(wǎng)絡,編碼器從輸入域提取相關信息,并將其傳遞給解碼器,然后解碼器將該信息轉換到輸出域。盡管這些模型目前很流行,但學習到的表征(編碼器的輸出)只針對一些特定任務[66]。然而,解耦表征可以對圖像到圖像轉換模型中學習到的特定表征進行結構化。將偶然的場景事件(如光照、陰影、視點和對象方向)從場景的固有屬性中分離出來一直是計算機視覺希望達成的目標[67]。當應用于深度學習時,會使得深度模型能夠意識到獨立的變化因素[68]影響所表示的實體。因此,如果信息與手頭的任務不相關,模型可以沿著特定的變化因素將信息邊緣化。這樣的過程對于被特定因素(例如,對象識別中變化的照明條件)而阻礙的任務將會大有益處。
如圖3 所示,左邊為一對域的示例,其中包含黑色背景上帶有彩色數(shù)字或彩色背景上帶有白色數(shù)字的圖像;右邊為解耦表征,分為跨域共享部分(數(shù)字)和域獨占部分(背景或數(shù)字上的顏色)。將解耦目標與圖像到圖像的轉換相結合,引入了跨域解耦表征的概念,其目的是將特定領域的因素從跨域共享的因素中分離出來。為此,將表征劃分為三個部分:共享部分包含兩個域共有的信息,而兩個獨占部分僅表示每個域特有的變化因素。2018年Gonzalez-Garcia 等[69]提出了基于跨域的雙向圖像轉換模型,該模型使用一對生成性對抗網(wǎng)絡,通過充分結合多個損失和一個稱為跨域自編碼器的新網(wǎng)絡組件,在學習表征中實施解耦結構。由于解耦表征具有更好的可控性和通用性,因此取得了比現(xiàn)有方法[70]更好的結果。為解決圖像轉化過程中缺少對齊的訓練對且出現(xiàn)多種可能的輸出問題,2020年Lee等[71]基于解耦表征的方法,在未配對訓練圖像的情況下綜合了各種輸出。該模型采用從給定輸入中提取的編碼內(nèi)容特征和從屬性空間中采樣的屬性向量,以在訓練時綜合各種輸出;并且引入了一種跨周期一致性損失函數(shù)來處理未配對的訓練數(shù)據(jù)。結果表明,該模型可以在沒有配對訓練數(shù)據(jù)的情況下在廣泛的任務中產(chǎn)生多樣化的現(xiàn)實圖像。用于圖像到圖像轉換的跨域解耦表征模型[72]具有幾個優(yōu)點:1)樣本多樣性,可以根據(jù)輸入圖像生成圖像的分布,而大多數(shù)圖像到圖像架構只能生成確定性結果,雖然明確地對兩個域中的變化進行建模,而它們只考慮輸出域中的變化;2)跨域檢索,可以基于域之間共享表征的部分來檢索兩個域中的相似圖像,而不需要標記數(shù)據(jù)來學習共享表征;3)特定域的圖像傳輸,特定域的特征可以在圖像之間傳輸;4)特定域的插值,可以基于特定域在兩個圖像的特征之間進行插值。
圖3 圖像到圖像的轉換Fig.3 Image-to-image translation
3.1.2 解耦表征在視頻中進行無監(jiān)督學習的應用
從視頻中進行無監(jiān)督學習是計算機視覺和機器學習的一個研究熱點。其目標是在不使用顯式標簽的情況下學習一種表征方法,這種方法可以有效地概括以前未見過的任務范圍,例如對當前對象的語義分類、預測視頻的未來幀數(shù)或?qū)φ诎l(fā)生的動態(tài)活動進行分類。有幾種流行的范例:第一種稱為自我監(jiān)督,使用領域知識隱式地提供標簽(例如,預測對象上補丁的相對位置或使用特征軌跡),這允許將問題作為自生成標簽的分類任務來處理;第二種方法依賴于輔助動作標簽,在真實或模擬的機器人環(huán)境中可用,這種方法可以用來訓練未來幀的動作條件預測模型[73],也可以用來訓練從當前和未來幀中對預測動作的反向運動學模型[74];第三種也是最普遍的方法,即預測性的自編碼器,試圖根據(jù)當前幀預測未來幀。為了學習有效的表征,需要對潛在表征進行某種約束。
這里引入一種預測性的自編碼器[75],它使用一種新的對抗性損失來將每個視頻幀的潛在表征分解為兩個分量:一個分量大致與時間無關(在整個剪輯中大致不變);另一個分量捕捉序列的動態(tài)方面,因此能夠?qū)崿F(xiàn)隨時間而變化。這里分別將它們稱為內(nèi)容組件和姿態(tài)組件。對抗性的損失依賴于這樣一種直覺,即盡管內(nèi)容特征應該針對于特定剪輯,但個體的姿態(tài)特征不應該如此。因此,損失函數(shù)鼓勵姿勢特征攜帶沒有關于剪輯身份的信息。從經(jīng)驗上看,這種損失的訓練對于誘導所需的因式分解是至關重要的。兩個獨立的編碼器為每個幀產(chǎn)生內(nèi)容和姿勢的不同特征進行表征,通過幀xt的內(nèi)容表征和未來幀xt+k的姿勢表征組合并解碼以預測未來幀xt+k的像素來訓練它們。然而,僅此重構約束不足以在兩個編碼器之間誘導所需的因子分解。因此,2019 年徐思[76]在姿勢特征上引入了一種新的對抗性損失,從而確保了它們不能包含內(nèi)容信息,且另一個約束是內(nèi)容信息應該隨時間緩慢變化,這一概念鼓勵在時間上相近的內(nèi)容向量彼此相似。利用視頻的時間相干性和一種新的對抗性損失來學習一種表征方法,該方法將每一幀分解為一個固定部分和一個時間變化的組件。因此,與該方法類似的解耦表征可用于一系列任務,如將標準長短期記憶(Long Short-Term Memory,LSTM)應用于時變分量可實現(xiàn)對未來幀的預測。但是這種方法無法保證網(wǎng)絡學習到低耦合度的特征,所以2020 年Sun 等[77]提出了循環(huán)表征分解網(wǎng)絡來解決這一問題,采用屬性交換和視頻重構的策略將視頻分解成靜止和時間變化的分量,并在幾個視頻理解任務上獲得了比現(xiàn)有技術更好的結果,在技術上做到了從視頻理解的角度進行視頻解耦表征學習。
3.1.3 解耦表征在3D建模方面的應用
深度生成模型可以合成逼真的圖像,然而,大多數(shù)方法只專注于生成2D 圖像,而忽略了世界的3D 本質(zhì)。因此,用于生成2D圖像的模型無法回答一些對人類來說毫不費力的問題,例如:從不同的角度看汽車會是什么樣子?或者如果把小汽車的紋理應用到一輛卡車上呢?又或者可以混合不同的3D設計嗎?因此,2D 視角不可避免地限制了模型在機器人、虛擬現(xiàn)實和游戲等領域的實際應用。
2018年Zhu等[78]提出了一種端到端的生成模型——可視對象網(wǎng)絡(Visual Object Network,VON),該模型能夠?qū)⑽矬w的自然圖像與解耦3D 表征的形式結合起來,聯(lián)合生成3D 形狀和2D 圖像。具體地說,借鑒經(jīng)典圖形渲染引擎的思想,將圖像生成模型分解為三個條件獨立的因素:形狀、視角和紋理。該模型首先學習生成像真實物體形狀一樣幾乎難以區(qū)分的3D形狀;然后用一個可微投影模塊從一個采樣的視角計算它的2.5D 草圖;最后,在2.5D 草圖上添加不同的、逼真的紋理,并生成與真實照片難以區(qū)分的2D圖像。
同時,條件獨立連接減少了密集標注數(shù)據(jù)的需求,與經(jīng)典的可變形面部模型不同,可視對象網(wǎng)絡的訓練不需要2D圖像和3D 形狀之間的配對數(shù)據(jù),也不需要3D 數(shù)據(jù)中密集的對應標注。這一優(yōu)勢使可視對象網(wǎng)絡能夠利用2D 圖像數(shù)據(jù)集和3D形狀集合,并生成不同形狀和紋理的對象。
3.2.1 對歸納偏好和隱性、顯性監(jiān)督的探索
無監(jiān)督解耦表征學習背后的想法:真實世界的數(shù)據(jù)是由一些可解釋的變差因素所生成的,并且這些變差因素可以通過無監(jiān)督學習算法來恢復。因此,使得模型更好的解耦是各類解耦方法的主要動機。這就提出了一個問題,即“模型選擇、超參數(shù)選擇和隨機性(以不同隨機種子的形式)是如何影響解耦效果的?”為了研究這個問題,2018 年Locatello 等[79]為訓練過的模型計算出分離式度量,定量分析并歸納偏好設置。他們展示了Cars3D 數(shù)據(jù)集上每種方法的FactorVAE 得分范圍,并且這些范圍對于不同的模型是嚴重重疊的,所以得出這樣的結論:超參數(shù)和隨機種子的選擇似乎比目標函數(shù)的選擇重要得多。他們還進一步展示了隨機種子形式的隨機性對解耦效果的影響,并表示隨機性(以不同的隨機種子的形式)對獲得的結果有很大的影響。
由于目前在解耦表征的無監(jiān)督學習中似乎沒有一個可靠的選擇超參數(shù)的策略,純粹的無監(jiān)督解耦學習似乎從根本上是不可能的。2020年Locatello等[80]首先從理論上證明了如果沒有模型和數(shù)據(jù)的歸納偏好,無監(jiān)督的解耦表征學習是不可能的。從他們的實驗結果來看,盡管使用不同的方法都成功地實現(xiàn)了由相應的損失函數(shù)優(yōu)化出對應的屬性,但似乎沒有監(jiān)督就無法確定很好的解耦模型。此外,不同的評估指標并不總是在解耦的問題上達成一致,且在估算中表現(xiàn)出系統(tǒng)性差異。最后,模型解耦性的提高似乎并沒有必然導致下游任務的學習樣本復雜度降低。所以有關解耦表征學習的未來工作應明確歸納性偏好和(隱性、顯性)監(jiān)督的作用,加強對所學解耦表征具體好處的探索,并考慮涵蓋多個數(shù)據(jù)集可重現(xiàn)的實驗設置。目前,具有交互性的解耦學習是一種很有前景的學習方式,如利用弱監(jiān)督或數(shù)據(jù)時序結構用于學習問題。考慮到非線性獨立成分分析(Independent Component Analysis,ICA)模型中的可識別性結果,對數(shù)據(jù)時序結構進行解耦表征學習似乎特別有趣,這可能表明,如果能夠利用數(shù)據(jù)的順序結構,則基于自動編碼的方法可能會有顯著的改進。
3.2.2 對解耦表征可解釋性、公平性、互動環(huán)境及可復現(xiàn)實驗設置方面的探索
未來的工作應該著眼于放大解耦表征學習的幾個具體優(yōu)勢,如可解釋性、公平性以及互動環(huán)境等方面,包含歸納偏好、提供可解釋性和概括性的一個潛在方法是開創(chuàng)獨立因果機制和因果推理的框架。2019 年Van Steenkiste 等[81]進行了一個大規(guī)模的實驗研究,以實驗解耦表征是否更適合于抽象推理任務。因此要想強調(diào)對各種數(shù)據(jù)集進行合理、可靠、可重復的實驗設置,以便得出有效的結論,首先,必須謹慎對待實驗設計,為所有不同的方法和解耦度指標選擇了完全相同的訓練和評估協(xié)議。其次,如果僅考慮方法、指標和數(shù)據(jù)集的子集,很容易從實驗結果中得出虛假結論,數(shù)據(jù)集的更改可能會導致得出截然不同的結論,因此,對未來的工作而言,對各種數(shù)據(jù)集進行實驗以查看結論和見解是否普遍適用至關重要。這在解耦學習的設置中特別重要,因為實驗主要是在類似玩具數(shù)據(jù)集上進行的,因此,目標應當是對多個數(shù)據(jù)集進行概括的能力,而不是對特定數(shù)據(jù)集的絕對性能。
3.2.3 對解耦表征深層理論和評價指標方面的探索
解耦表征學習的關鍵是從觀察中理解世界、在不同任務和領域之間轉移知識和學習組成概念。雖然近年來取得了相當大的進展,但關于陳述解耦表征的常見假設的合理性似乎是不夠的。至少有兩個主要原因?qū)е履壳暗慕怦畋碚鳡顟B(tài)不令人滿意:一是缺乏正式的解耦表征概念來支持適當目標函數(shù)的設計;二是缺乏有效的評估度量來實現(xiàn)模型之間的公平比較。
2020年Do等[82]從信息性、可分離性和可解釋性三個維度描述了在監(jiān)督和無監(jiān)督方法中使用解耦表征的概念,這些概念可以用信息論的結構明確地表示和量化。然后,他們還提出了用于度量信息性、可分離性和可解釋性的評價指標。目前,在解耦表征的理論和評價指標這兩方面的探索還處在初步階段,鼓勵設計更多理論驅(qū)動的模型來探索解耦表征是未來非常重要的一個研究方向。
人工智能技術的蓬勃發(fā)展,改變了人們生活的方方面面。機器和人類在很多復雜認知任務上的表現(xiàn)已經(jīng)不分伯仲。然而,單一模型只能解決單一問題,目前學界對解耦學習的研究尚處于起步階段。從當前研究現(xiàn)狀看,研究者們普遍意識到提高模型利用率的重要性,并已展開了諸多有意義的研究。在未來,解耦表征學習的研究應該更加著力于對歸納偏好、無監(jiān)督或者自監(jiān)督學習的探索上來。對解耦表征可解釋性、公平性、互動環(huán)境以及其深層理論和評估方式上還有很長的路要走。本文從解耦表征學習的歷史與動機、研究方向和現(xiàn)狀以及解耦表征學習的應用與展望這幾方面對當前解耦表征學習的研究進行總結,讓讀者了解解耦表征學習的發(fā)展脈絡、研究方向、取得的成果和未來的發(fā)展趨勢。相信今后隨著對解耦表征學習深入的研究,在模型的泛化能力、提升處理非單一任務時的利用率以及深度學習可解釋性等方面一定會有所突破。