1. 程式人生 > >【GAN ZOO翻譯系列】InfoGAN: Interpretable Representation Learning by Information Maximizing GAN

【GAN ZOO翻譯系列】InfoGAN: Interpretable Representation Learning by Information Maximizing GAN

本文是InfoGAN的翻譯,原文地址:https://arxiv.org/abs/1606.03657
相當一部分部分翻譯參照於:https://blog.csdn.net/pingguolou/article/details/72920970

infoGAN:通過最大化生成對抗網路中資訊的可解釋性表徵學習

Xi Chen†‡, Yan Duan†‡, Rein Houthooft†‡, John Schulman†‡, Ilya Sutskever‡, Pieter Abbeel†‡
† UC Berkeley, Department of Electrical Engineering and Computer Sciences ‡ OpenAI

摘要

本文介紹了InfoGAN,它是一種對生成對抗網路的資訊理論擴充套件,能夠以完全無監督的方式學習特徵分離表示。 InfoGAN也是一個生成對抗網路,它能最大化潛在變數的一小部分與觀察(生成)結果之間的互資訊。作者得出了一種可以有效優化的互資訊目標的下界。具體來說,InfoGAN成功地從MNIST資料集中提取了手寫數字的風格,從有照明的3D渲染圖中提取了目標的姿勢,從SVHN資料集中提取了房屋號碼。InfoGAN還能夠發掘髮型、是否存在眼鏡、CelebA面部資料集上的表情等視覺概念。實驗表明,InfoGAN可以學習與現有監督方法學習得到了具有競爭力的可解釋性表徵。

引言

無監督學習一般可以被描述為從大量存在的未標記資料中提取數值的問題。無監督學習的流行框架是表徵學習 [1,2] ,其目標是使用未標記的資料來學習一種表示,以從重要語義特徵中找到易於解釋的要素。學習這種表徵的方法是可能存在的[2],並且對於許多下游任務(包括分類,迴歸,視覺化,和強化學習的策略學習)是有用的。

雖然無監督的學習是病態的(不一定正確)的,因為相關的下游任務在訓練時期是未知的,但是特徵分離的表示(一個數據實例的顯著屬性的明確表示)應該對相關但未知的任務有幫助。例如,對於面部資料集,有用的分解的表示可以為以下每個屬性分配一組單獨的維度:面部表情,眼睛顏色,髮型,眼鏡的存在與否,以及相應人物的身份。特徵分離的表示對於需要知道資料的顯著屬性的自然任務可能是有用的,包括面部識別和物件識別等任務。非自然的監督任務,例如去確定影象中的紅色畫素的數量是偶數還是奇數。因此,無監督學習演算法必須對下游分類任務有正確的效果(在不直接接觸下游任務的情況下)。

無監督學習研究的很大一部分是由生成模型驅動的。它們的動力源於對生成模型能力的相信,或為觀察資料“創造”某種形式的理解,並希望良好的生成模型能自動學習一個有區分度的表示,即便通過隨便一個不好的表示也容易構造完美的生成模型。最突出的生成模型是變分自動編碼器(VAE)[3]和生成對抗網路(GAN)[4]。

本文對生成對抗網路目標進行了簡單的修改,鼓勵其學習可解釋和有意義的表示。通過最大化GAN噪聲變數的固定小子集與觀測值之間的互資訊來實現,這一點相對比較直觀。儘管它很簡單,但這個方法驚人的有效,它能夠在許多影象資料集中發現高度語義和有意義的隱藏表示:數字(MNIST),面孔(CelebA),和房屋號碼(SVHN)。作者將本文無監督的特徵分離表示的質量與先前使用的有監督標籤資訊[5-9]相比較。比較結果表明,增加互資訊成本的生成模型是學習特徵表示的有效途徑。

在本文的其餘部分,首先對相關工作進行回顧,並注意到以前用於學習特徵分離表示的方法所需要的監督。然後回顧了GAN,它是InfoGAN的基礎。之後描述如何最大化互資訊來實現可解釋的表示,並匯出一個簡單而有效的演算法。最後,在實驗部分中,首先將InfoGAN在相對乾淨的資料集上與先前方法進行比較,然後顯示InfoGAN可以在複雜資料集上學習可解釋的表示,沒有已知的無監督方法可以學習到與本文可比質量的表示。

2 相關工作

現在存在大量關於無監督表示學習的工作。早期的方法是基於堆疊的(通常是去噪)自動編碼器或受限玻爾茲曼機[10-13]。很多有前景的近期工作源自Skip-gram模型[14],這啟發了skip-thought vectors[15]和幾種影象無監督特徵學習技術的發展[16]。

另一個有趣的工作包括階梯網路[17],它在MNIST資料集的半監督變學習上取得了驚人的成果。最近,基於VAE的模型在MNIST上實現了更好的半監督結果[18]。 Radford等[19]已經使用GAN[4]來學習支援編碼空間上的基本的線性的代數影象表示。 Lake等已經能夠使用對貝葉斯規劃的概率推理來學習一些表示,這在OMNI資料集上實現了令人信服的one-shot學習結果。

此外,先前的研究試圖使用監督資料來學習分離的特徵表示。一類方法是使用監督學習訓練表示的一部分來匹配所提供的標籤:用於分離樣式和內容得到雙線性模型[21];用於分離視覺特徵與視點的多視覺感知器[22];楊等人[23]開發了一種產生潛在因素變換的遞迴變體。類似地,VAE[5]和對抗自動編碼器[9]被用於學習特徵表示,其中類標籤與其他變數分離。

最近開發了幾種弱監督方法來消除對明確標記變數的需要。disBM[24]是一種更高階的玻爾茲曼(Boltzmann)機,它通過為一對資料點進行“鉗住”隱藏單元的一部分來學習有區分度的表示。DC-IGN[7]將這種“鉗住”的理念擴充套件到VAE,併成功地學習了可以在3D渲染影象中表示姿態和光的圖形編碼。這一系列工作產生了令人印象深刻的成果,但它們依賴於通常不可用的資料的監督分組。惠特尼等人[8]提出通過從連續的影象幀學習並使用時間連續性作為監督訊號來減輕分組的要求。

不同於所引用的那些努力恢復有分離性的表示的工作,InfoGAN不需要任何形式的監督。唯一的其他無監督學習有區分度表示的方法是hossRBM[13],一種限制玻爾茲曼機的高階擴充套件可以在多倫多面部資料集[25]上解析出情感與身份[25]的特徵。然而,hossRBM只能分離開離散潛在因素,其計算成本隨著因素的數目呈指數增長。InfoGAN可以分離離散和連續的潛在因素,擴充套件到複雜的資料集,並且通常不需要比常規GAN更多的訓練時間。

3 背景:生成對抗網路

Goodfellow等提出了生成對抗網路[4],一種使用minimax遊戲來學習深度生成模型的框架。它的目標是學習能夠匹配真實資料分佈 P d a t a ( x ) P_{data}(x) 的生成資料分佈 P G ( x ) P_G(x) 。與明確的為每個資料分佈中的樣本點 x x 分配概率不同,生成對抗網路學習一種生成器 G G G G 能通過變換噪聲 z P n o i s e ( z ) z\sim P_{noise}(z) 來生成分佈 P G P_G 中的樣本。生成器的訓練過程是通過與能夠區分從 P d a t a P_{data} 所產生的原始樣本和從 P G P_G 生成資料的判別網路 D D 的對抗來實現的。最優的判別器是 D ( x ) = P d a t a ( x ) P d a t a ( x ) + P G ( x ) D(x)=\frac {P_{data}(x)} {P_{data}(x)+P_G(x)}

從形式上來說,minimax遊戲的過程可以通過以下公式描述:
(1) min G max D V ( G , D ) = E x P d a t a [ log D ( x ) ] + E z n o i s e [ log ( 1 D ( G ( z ) ) ) ] \min_G\max_D V(G,D)=\mathbb E_{x\sim P_{data}}[\log D(x)]+\mathbb E_{z\sim noise}[\log(1-D(G(z)))]\tag{1}

4 用於匯出隱含編碼的互資訊

GAN公式使用簡單因素的連續噪聲輸入向量 z z ,而不對生成器可能使用該噪聲的方式施加限制。結果,生成器可能以高度糾結的方式使用噪聲,導致 z z 的各個維度不對應於資料的語義特徵。

然而,許多定義域可以自然而然地分解成一組具有語義意義的變數因子。例如,當從MNIST資料集生成影象時,如果模型自動選擇分配一個離散隨機變數來表示數字(0-9)的數字標識,選擇兩個可加的連續變數來代表數字角度和筆畫厚度。在這種情況下,這些屬性是獨立的和顯著的,如果可以無監督的從獨立的1到10變數和兩個獨立的連續性變數恢復MNIST數字,那麼這些屬性就是有用的。

本文作者提出將輸入噪聲向量分成為兩部分:
(i) z z ,被視為不可壓縮的噪聲源;
(ii) c c ,將其稱為潛在程式碼,其目的在於資料分佈的顯著結構化的語義特徵。

在數學上,用 c 1 , c 2 , . . . , c L c_1,c_2,...,c_L 表示結構化潛在變數的集合。在其最簡單的形式中,可以假設一個因式分佈,由 P ( c 1 , c 2 , . . . , c L ) = Π i = 1 L P ( c i ) P(c_1,c_2,...,c_L)= \Pi_{i=1}^L P(c_i) 給出。為了便於表示,使用潛在程式碼 c c 來表示所有潛在變數 c i c_i 的聯合。

作者提出一種以無監督的方式發現這些潛在因子的方法:為生成器網路提供不可壓縮噪聲 z z 和潛在編碼 c c ,因此生成器的形式變為 G ( z , c ) G(z,c) 。然而,在標準GAN中,通過找到滿足 P G ( x c ) = P G ( x ) P_G(x|c)= P_G(x) 的解,生成器可以自由地忽略附加潛在程式碼 c c 。為了解決潛在編碼平凡化的問題,作者提出了一種基於資訊理論的正則化方法:潛在碼 c c 和生成分佈 G ( z c ) G(z,c) 之間應該有很高的互資訊。因此 I ( c ; G ( z , c ) ) I(c;G(z,c)) 應該很高。

在資訊理論中,X和Y之間的互資訊 I ( X ; Y ) I(X;Y) 測量從隨機變數Y的知識中學習的關於另一個隨機變數X的“資訊量”。互資訊可以表示為兩個熵項的差值:
(2) I ( X ; Y ) = H ( X ) H ( X Y ) = H ( Y ) H ( Y X ) I(X;Y)=H(X)-H(X|Y)=H(Y)-H(Y|X)\tag{2}

這個定義有一個直觀的解釋: I ( X , Y ) I(X,Y) 是觀察到 Y Y 時, X X 的不確定性的減少量。如果 X X