谷歌大腦提出對抗正則化方法,改善自編碼器的泛化和表徵學習能力
選自arXiv,機器之心編譯,參與:Pedro、王淑婷。
自編碼器因其優越的降維和無監督表徵學習能力而知名,而過去的研究表明自編碼器具備一定程度的插值能力。來自谷歌大腦的 Ian Goodfellow 等研究者從這一角度提出了一種新方法,顯著改善了自編碼器的平滑插值能力,這不僅能提高自編碼器的泛化能力,對於後續任務的表徵學習也會大有幫助。
1 引言
無監督學習的目標之一是不依靠顯式的標註得到數據集的內在結構。自編碼器是一種用於達成該目標的常見結構,它學習如何將數據點映射到隱編碼中——利用它以最小的信息損失來恢複數據。通常情況下,隱編碼的維度小於數據的維度,這表明自編碼器可以實施某種降維。對於某些特定的結構,隱編碼可以揭示數據集產生差異的關鍵因素,這使得這些模型能夠用於表徵學習 [7,15]。過去,它們還被用於預訓練其它網路:先在無標註的數據上訓練它們,之後將它們疊加起來初始化深層網路 [1,41]。最近的研究表明,通過對隱藏空間施加先驗能使自編碼器用於概率建模或生成模型建模 [18,25,31]。
某些情況下,自編碼器顯示了插值的能力。具體來說,通過在隱藏空間中混合編碼以及對結果進行解碼,自編碼器可以生成對應數據點的語義上有意義的組合。這種行為本身就很有用,例如用於創造性應用 [6]。儘管如此,我們還認為它展示了一種廣義上的「泛化」能力——這意味著自編碼器並不只是簡單地記憶如何重建一小部分數據點。從另一個角度來看,它還表明自編碼器發現了一些數據的內在結構並在其隱藏空間中捕獲了它。這些特點使得插值經常出現在關於自編碼器 [5,11,14,26,27,32] 及隱變數生成模型研究的實驗結果中 [10,30,38]。基於無監督表徵學習 [3] 和正則化 [40] 的插值與「平面」數據流形之間的聯繫已經被探索過。
儘管插值應用廣泛,其定義仍然有些不夠明確,因為它的定義依賴於「語義上有意義的組合」的概念。此外,人們也很難直觀的理解為什麼自編碼器應該具有插值能力——用於自編碼器的目標或結構都沒有明確地對其提出過這種要求。本文主要在自編碼器的規範化以及插值改進方面做出了以下貢獻:
- 提出了一種對抗正則化策略,該策略明確鼓勵自編碼器中的高質量插值(第 2 節)。
- 開發了一個簡單的基準,其中插值定義明確且可以量化(第 3.1 節)。
- 定量地評估了常見的自編碼器模型實施有效插值的能力;同時還展示了本文提出的正則化項更優的插值能力(3.2 節)。
- 證明了正則化項有利於後續任務的表徵學習(第 4 節)。
圖 1:對抗約束自編碼器插值(ACAI)。評估網路試圖預測對應於插值數據點的插值係數 α。訓練自編碼器來欺騙評估網路使輸出 α = 0。
論文:Understanding and Improving Interpolation in Autoencoders via an Adversarial Regularizer
論文鏈接:https://arxiv.org/pdf/1807.07543v2.pdf
通過對隱編碼中重建數據點所需的所有信息進行編碼,自編碼器為學習壓縮表徵提供了強大的框架。某些情況下,自編碼器可以「插值」:通過解碼兩個數據點的隱編碼的凸組合,自編碼器可以產生一個語義上混合各數據點特徵的輸出。本論文提出了一種正則化過程,它鼓勵插值輸出通過欺騙評估網路(critic network)的方式顯得更真實,其中評估網路被訓練用於恢復插值數據的混合係數。論文還提出了一個簡單的基準測試,可以定量測量各種自編碼器可以插值的程度,並表明本文提出的正則化項可以顯著改善此設置中的插值。此外,論文還認為正則化項產生的隱編碼對後續任務更有效,這表明插值能力和學習有用表徵之間可能存在聯繫。
3 自編碼器,以及如何插值
如何衡量自編碼器插值是否有效以及正則化策略是否達到其既定目標?如第 2 節所述,定義插值依賴於「語義相似性」的概念,這是一個模糊且依賴於問題的概念。例如,按照「αz_1 + (1 ? α)z_2 應該映射到 αx_1 + (1 ? α)x_2」定義插值顯得過於簡單,因為數據空間中的插值通常不會產生真實的數據點——用圖像來表現的話,這種情況對應於兩個圖像像素值之間的簡單淡化。然而,我們想要的是自編碼器在特徵不同的 x1 和 x2 之間平滑地變化;換句話說,是希望沿著插值的解碼點平滑地遍曆數據的底層流形而不是簡單地在數據空間中插值。但是,我們很少能夠訪問基礎數據流。為了使這個問題更加具體,本文引入了一個簡單的基準測試,其中數據流形簡單且先驗已知,這使得量化插值質量成為可能。然後,我們評估各種常見自編碼器在基準測試中進行插值的能力。最後,我們在基準測試中測試 ACAI,發現它展示出了顯著改善的性能和定性優越的插值。
圖 2:合成線數據集中的數據和插值示例。(a) 來自數據集的 16 個隨機樣本。(b) 從 Λ=11π/ 14 到 0 的完美插值。(c) 在數據空間而不是「語義」或隱藏空間中插值。顯然,以這種方式插值會產生不在數據流形上的點。(d) 從一幅圖像突然轉換成另一幅圖像、而不是平滑改變的插值。(e) 平滑插值,從開始到結束點的路徑比最短路徑更長。(f) 採用正確路徑但中間點虛化了的插值。
圖 3:以下自編碼器在合成線基準上插值的效果:(a) 標準自編碼器,(b) 對隱藏空間施加 dropout 的標準編碼器,(c) 去噪自編碼器,(d) 變分自編碼器,(e) 對抗自編碼器,(f) 矢量量化變分自編碼器,(g) 對抗約束自編碼器插值(我們的模型)。
表 1:不同自編碼器在合成基準測試中獲得的分數(越低越好)。
4 優化表徵學習
到目前為止,本文只專註於測試不同自編碼器的插值能力。現在,我們想知道改進插值是否與後續任務的性能改進有關。具體來說,我們將評估使用本文提出的正則化項是否會產生隱藏空間表徵,從而改善在監督學習和聚類中的表現。換句話說,我們試圖測試改進插值是否會影響隱藏表徵:它可以揭示數據集產生差異的關鍵因素。為了回答這個問題,我們在 MNIST [21],SVHN [28] 和 CIFAR-10 [20] 數據集上用不同自編碼器訓練過的隱藏空間來進行分類聚類測試。
4.1 單層分類器
表 2:不同自編碼器達到的單層分類器準確率
4.2 聚類
表 3:在不同自編碼器(左)和先前報告的方法(右)的隱藏空間上使用 K-Means 的聚類準確率。右邊的「Data」是指直接對數據執行 K-Means。標 * 的結果來自 [16],標 ** 的結果來自 [42]。
圖 6:MNIST 上的插值示例,隱維數為 256:(a) 標準編碼器,(b)Dropout 編碼器,(c) 去噪編碼器,(d)VAE,(e)AAE,(f)VQ-VAE,(g)ACAI 自編碼器。
圖 10:CelebA 上的插值示例,隱維數為 256:(a) 標準編碼器,(b)Dropout 編碼器,(c) 去噪編碼器,(d)VAE,(e)AAE,(f)VQ-VAE,(g)ACAI 自編碼器。
※AI醫療新突破:增強罕見疾病的影像數據集,大幅提高識別準確率
※AI 賦能,服務智勝-AWS 人工智慧峰會
TAG:機器之心 |