Glow具有可逆1×1卷積的生成流 | 論文分享

極驗發表於2019-03-19

由於精確的對數似然易處理性、精確的潛變數推斷易處理性、訓練合成並行性,使得基於流的生成模型具有概念上的吸引力。本文提出Glow,一個使用可逆1x1卷積的簡單生成流。文中模型證明了基準標準測試中對數似然的顯著改進。也許最引人注目的是,其證明了針對普通對數似然目標優化的生成模型能夠實現高效影象的逼真合成和操作。

背景:基於流的生成模型

設x為一個在未知真實分佈Glow具有可逆1×1卷積的生成流 | 論文分享下的高維隨機向量。我們收集一個獨立同分布的資料集D,並選擇一個帶引數Ɵ的模型Glow具有可逆1×1卷積的生成流 | 論文分享。在離散資料x的情況下,對數似然目標等於最小化下列等式:

Glow具有可逆1×1卷積的生成流 | 論文分享

在連續資料x的情況下,我們最小化目標函式如下:

Glow具有可逆1×1卷積的生成流 | 論文分享

這裡Glow具有可逆1×1卷積的生成流 | 論文分享Glow具有可逆1×1卷積的生成流 | 論文分享Glow具有可逆1×1卷積的生成流 | 論文分享,其中a由資料的離散化水平決定,M是x的維度。兩個目標函式都在測量位元的壓縮成本。優化通過最小批次隨機梯度下降完成。

在大多數基於流的生成模型中,生成過程被定義如下:

Glow具有可逆1×1卷積的生成流 | 論文分享

其中z是潛在變數並且Glow具有可逆1×1卷積的生成流 | 論文分享有一個易處理的密度。函式Glow具有可逆1×1卷積的生成流 | 論文分享是可逆的,也叫“雙射的”,例如給一個資料點x,潛在變數推斷通過Glow具有可逆1×1卷積的生成流 | 論文分享得到。

我們關注的函式f由一系列轉換組成,使得x和z的關係被寫成:

Glow具有可逆1×1卷積的生成流 | 論文分享

這種可逆轉換的序列被稱之為“流”。改變等式4的變數,模型的概率密度函式被寫作:

Glow具有可逆1×1卷積的生成流 | 論文分享

其中,我們定義Glow具有可逆1×1卷積的生成流 | 論文分享Glow具有可逆1×1卷積的生成流 | 論文分享。標量Glow具有可逆1×1卷積的生成流 | 論文分享是Jacobian矩陣Glow具有可逆1×1卷積的生成流 | 論文分享的行列式的絕對值對數,也叫對數行列式。這個值代表從Glow具有可逆1×1卷積的生成流 | 論文分享Glow具有可逆1×1卷積的生成流 | 論文分享的對數密度的變化。它的值通過明確的轉換函式選擇可以被極大地簡化,其基本思想是選擇Jacobian為三角矩陣的轉換函式。對於這些轉換,對數行列式能被簡化為:

Glow具有可逆1×1卷積的生成流 | 論文分享

被提出的生成流

本文提出的生成流建立在NICE和RealNVP(見文末)的基礎上,它由一系列的流的步驟組成,每一個步驟由actnorm、可逆的1x1卷積、耦合層組成(詳細見後文)。

Glow具有可逆1×1卷積的生成流 | 論文分享

Actnorm

——具有資料依賴初始化的縮放和偏置層

由於batchnorm新增的啟用噪聲的方差和每個處理單元或GPU的最小批量的大小成反比,對於小數目的批量,效能會下降。對於大型影象,由於記憶體限制,我們只能通過批量大小為1的輸入來學習。本文提出actnorm層,通過使用每層的縮放和偏置引數來執行啟用的放射變換,類似於batchnorm。這些引數被初始化,使得在給定一個初始的小批量資料時,每個通道的啟用後平均值和單位方差為零。這是一種資料依賴的初始化。在初始化後,縮放和偏置將被看做規則的可訓練的獨立引數

可逆1x1卷積

(Dinh等人,2014年,2016年)提出了一個包含排列的流,該排列反轉了通道的排序。本文提出通過可逆1x1卷積來代替這種固定的排列,其中權重矩陣被初始化為一個隨機的旋轉矩陣。尺寸為Glow具有可逆1×1卷積的生成流 | 論文分享張量h的可逆1x1卷積的對數行列式包含c x c的權重W,對數行列式被直接計算:

Glow具有可逆1×1卷積的生成流 | 論文分享

Glow具有可逆1×1卷積的生成流 | 論文分享計算或微分的代價為Glow具有可逆1×1卷積的生成流 | 論文分享,相比Glow具有可逆1×1卷積的生成流 | 論文分享的代價為Glow具有可逆1×1卷積的生成流 | 論文分享,我們初始化權重W為一個對數行列式為0的隨機旋轉矩陣,之後通過一個SGD步,這個值開始偏離0。

LU分解。det(W)的代價通過直接在它的LU分解中引數化W能從Glow具有可逆1×1卷積的生成流 | 論文分享減少至O(c)。

Glow具有可逆1×1卷積的生成流 | 論文分享

其中P是一個排序矩陣,L是一個下三角矩陣,其對角線全為1,U是一個上三角矩陣,其對角線全為0,s是一個向量。對數行列式被簡化為:

Glow具有可逆1×1卷積的生成流 | 論文分享

在該引數化中,我們通過首先對隨機旋轉矩陣W進行取樣來初始化引數,然後計算P的對應值(其保持固定)以及L和U和s的相應初始值(其被優化)。

放射耦合層

放射耦合層是一個強大的可逆轉換,其中前向函式、求逆函式和對數行列式是計算有效的。(見表1)。一個附加耦合層是s=1且對數行列式為0的特殊形式。

Glow具有可逆1×1卷積的生成流 | 論文分享

零初始化。我們初始化每一個NN()的最後一個卷積為0,使得每一個放射耦合層最初執行一個身份函式;我們發現這對於訓練非常深的網路有幫助。

拆分和連線。Split()函式沿著channel維度切分輸入張量h為兩個張量,之後concat()操作執行對應逆向操作:連線成一個tensor。

排列。 上面的流程的每一步都應該先進行變數的某種排列,以確保在流動的足夠步驟之後,每個維度都可以影響每個其他維度。在(Dinh等,2014,2016)中特定地進行的排列等同於在執行附加耦合層之前簡單地反轉通道(特徵)的排序。 另一種方法是執行(固定)隨機排列,我們的可逆1x1卷積是這種排列的推廣。 在實驗中,我們比較了這三個選擇。

實驗

定量實驗。在我們的實驗中,我們讓每個NN()都有三個卷積層,其中兩個隱藏層具有ReLU啟用函式和512個通道。 第一個和最後一個卷積是3×3,而中心卷積是1×1,因為它的輸入和輸出都有大量的通道。

Glow具有可逆1×1卷積的生成流 | 論文分享

我們比較了CIFAR-10(Krizhevsky,2009)資料集的平均負對數似然(每維度的位元),保持所有訓練條件不變並對三個隨機種子求平均值。 結果如圖3所示。正如我們所看到的,對於附加耦合和放射耦合,可逆1×1卷積實現了較低的負對數似然並且收斂更快。 放射耦合模型也比附加耦合模型收斂得更快。 僅為7%,因此該操作在計算上也是有效的。

Glow具有可逆1×1卷積的生成流 | 論文分享

與RealNVP在標準基準測試中的比較。我們遵循與(Dinh等,2016)相同的預處理。 對於Imagenet,我們使用ImageNet的32×32和64×64下采樣版本(Oord等,2016),對於LSUN,我們下采樣到96×96並採用64×64的隨機作物。 我們還在我們的定性實驗中使用256×256 CelebA HQ訓練模型的位元/維度。如表2所示,我們的模型在所有資料集上實現了顯著的改進。

定性實驗。我們現在研究模型在高解析度資料集上的定性方面。我們選擇CelebA-HQ資料集(Karras等,2017),它由來自CelebA資料集的30000個高解析度影象組成,並訓練與上面相同的結構,但現在用於解析度為2562,K = 32和L = 6的影象。

Glow具有可逆1×1卷積的生成流 | 論文分享
Glow具有可逆1×1卷積的生成流 | 論文分享

合成和插值。 圖4顯示了從我們的模型中獲得的隨機樣本。 對於基於非自動迴歸可能性的模型,影象具有極高的質量。 為了瞭解我們如何插值,我們採用一對真實影象,用編碼器對它們進行編碼,並在潛伏期之間進行線性插值以獲得樣本。 圖5中的結果表明,發生器分佈的影象流形非常平滑,幾乎所有中間樣本看起來都像真實的面。

語義操縱。 我們現在考慮修改影象的屬性。 為此,我們使用CelebA資料集中的標籤。 每個影象都有一個二進位制標籤,對應於微笑,金髮,年輕等屬性的存在與否。這為每個屬性提供了30000個二進位制標籤。

然後我們計算具有屬性的影象的平均潛在向量Glow具有可逆1×1卷積的生成流 | 論文分享和沒有的影象的Glow具有可逆1×1卷積的生成流 | 論文分享,然後使用差異Glow具有可逆1×1卷積的生成流 | 論文分享作為操縱的方向。 請注意,這是一個相對較少的監督,並且在訓練模型後進行(在訓練時沒有使用標籤),使得對於各種不同的目標屬性非常容易。 結果如圖6所示。

Glow具有可逆1×1卷積的生成流 | 論文分享

相關文獻

Dinh, L., Krueger, D., and Bengio, Y. (2014). Nice: non-linear independent components estimation. arXiv preprint arXiv:1410.8516.

Dinh, L., Sohl-Dickstein, J., and Bengio, S. (2016). Density estimation using Real NVP. arXiv preprint arXiv:1605.08803.

本文

https://arxiv.org/pdf/1807.03039.pdf

相關文章