AI 造圖新境界!OpenAI 提出的可逆生成模型,比 GAN 更具潛力?
昨天,著名人工智慧研究組織 OpenAI 發布了其最新工作:《Glow: 更好的可逆生成模型》(《Glow :Better Reversible Generative Models》)。
據文章介紹,Glow 是一個可逆的生成模型,它使用了可逆的 1×1 卷積。它基於以前關於可逆生成模型的研究,並簡化了體系結構。該模型能夠生成逼真的高解析度圖像,支持有效的採樣,並能發現可用於數據處理的特徵。研究人員公開了模型代碼和一個在線可視化工具,以便人們能夠使用這個模型並繼續開展研究。
生成模型是基於觀察數據,然後學習出如何生成這些數據的模型。學習數據生成過程需要學習數據中存在的結構,成功的模型應該能夠生成與數據相似的輸出。精確生成模型具有廣泛的應用,包括語音合成、文本分析與合成、半監督學習和基於模型的控制。研究人員提出的技術也可以應用於這些問題。
Glow 是一種可逆的生成模型,也稱為基於流的生成模型,是 NICE 和 RealNVP 技術的延伸。相比於 GAN 和 VAES,基於流的生成模型在研究領域中關注較少。
而基於流的生成模型的優點包括:
精確的潛變數推斷和最大似然估計。在 VAE 中,只能近似推斷對應於數據點的潛變數的值。GAN 根本沒有編碼器來推斷潛在的情況。在可逆的生成模型中,推斷潛在情況可以在沒有近似的情況下精確完成。這不僅可以導致精確的推斷,而且還可以優化最大似然估計。
有效推理和有效生成。自回歸模型,例如 PixelCNN,也是可逆的,但是從這些模型很難並行化,而且通常在並行時效率很低。基於流的生成模型,如 Glow 和 RealNVP,對於推理和生成來說都是高效的並行化模型。
下游任務可用的潛在空間。自回歸模型的隱藏層具有未知的邊緣分布,使得對數據的有效處理變得更加困難。在 GANs 中,數據點通常不能在潛在空間中直接表示。對於可逆的生成模型和 VAE 則不是這樣,它們允許各種操作,例如數據插值和數據修改。
節省內存。在可逆神經網路中計算梯度需要一定數量的內存,在 RevNet 文章中有所解釋。
圖丨 Glow 對兩名研究人員臉部圖像的屬性操作。訓練過程中,模型沒有提供眼睛、年齡等屬性標籤等情況下,自己學習潛在空間,部分特定方向對應鬍鬚密度,年齡,頭髮顏色等屬性的變化。
結果
RealNVP 是以前基於流的生成模型最好的結果,研究人員的方法與 RealNVP 相比取得了顯著的改進。
對於 RealNVP 模型和 Glow 模型,在不同數據集的測試集上進行了量化性能評估。
Glow 模型可以高效生成逼真的高解析度圖像。這個模型在 NVIDIA 1080 Ti GPU 上產生一個 256×256 的樣品需要 130 毫秒。
潛空間內插
研究人員還可以在任意人臉之間進行插值,使用編碼器對兩幅圖像進行編碼,並從中間點進行採樣。請注意,輸入是任意的人臉,而不是來自模型的樣本,從而證明了模型支持整個目標分布。
潛空間操作
研究人員可以在沒有標籤的情況下訓練一個基於流的模型,然後將學習到的模型用於後續任務,比如處理輸入的屬性。這些語義屬性可以是面部或頭髮的顏色、圖像的風格、聲音的音高,或者文本句子的情感。由於基於流的模型有一個非常好的編碼器,因此可以對輸入進行編碼,並計算有和不帶屬性的輸入的平均潛在向量。然後,可以使用兩者之間的向量方向來操作對該屬性的任意輸入。
貢獻
研究人員的主要貢獻同時也是與 RealNVP 模型的不同之處在於增加了一個可逆的 1x1 卷積,以及刪除了一些組件,從而簡化了整個體系結構。
RealNVP 體系結構由兩種類型的層組成:具有棋盤掩碼的層和具有通道掩碼的層。研究人員移除了棋盤掩碼的層,簡化了體系結構。具有通道掩碼的層重複執行以下步驟可以等效:
通過在通道維度上逆轉輸入的順序來改變輸入。
按照特徵維數將輸入對分成 A 和 B 兩個部分。
將 A 輸入淺層卷積神經網路。根據神經網路的輸出線性變換 B。
連接 A 和 B。
通過連接這些層,A 更新 B,B 更新 A,然後 A 更新 B。這種信息的雙向流動顯然是相當僵化的。研究人員發現,通過將步驟 (1) 的反向排列改變為隨機全排列,模型的性能得到了改善。
更進一步,研究人員還可以學習最優排列。學習置換矩陣是一種離散優化,不能適用到梯度上升。但由於置換操作只是具有平方矩陣的線性變換的特例,所以可以用卷積神經網路來實現,因為置換通道等價於輸入和輸出通道數相等的 1x1 卷積運算。因此,研究人員用學習的 1x1 卷積運算代替固定置換。將 1x1 卷積的權值初始化為隨機旋轉矩陣。此操作帶來了顯著的模型改進。研究人員還證明了通過對權值進行 LU 分解,可以有效地完成目標函數優化所涉及的計算。
另外,研究者還刪除了批歸一化,並將其替換為激活歸一化層。這一層只是簡單地轉移和縮放激活函數,給定數據的初始 minibatch,該層具備依靠數據的初始化技術可對激活函數進行歸一化操作。這允許將 minibatch 的大小縮小到 1(對於大型圖像),並擴大模型的大小。
規模
研究人員的體系結構結合了各種優化,例如梯度檢查點,使其能夠更大的規模地訓練基於流的生成模型。研究人員使用 Horovod 在集群上輕鬆地訓練研究人員的模型;研究人員演示中使用的模型在 5 台機器上進行了訓練,每台機器有 8 個 GPU。使用這個配置,研究人員可以訓練超過一億個參數的模型。
研究方向
研究人員的工作表明,可以訓練基於流的模型來生成逼真的高解析度圖像,並可以很容易地學習到隱藏表徵。研究人員為今後的工作提出了幾個方向:
在似然函數上與其他模型比較。在對數似然方面,自回歸模型和 VAE 模型的性能優於基於流的模型,但它們分別存在採樣效率低和推理不精確的缺點。研究人員可以將基於流的模型、VAE 模型和自回歸模型結合起來,以權衡它們的優勢,這將是未來工作的一個有趣的方向。
改進體系結構,提高計算效率和參數效率。為了生成逼真的高解析度圖像,人臉生成模型使用了 200 億參數和 600 層卷積層,這使得訓練的成本很高。深度較小的模型在學習長期依存關係方面表現較差。使用自注意架構,或者進行漸進式的訓練來擴展到高解析度,可以使訓練 Glow 模型的成本降低。
-End-
編輯:LXQ
參考:https://blog.openai.com/glow/
※DNF:玩家用幾個字從馬哥手裡賺3000塊 十分鐘後卻決定要卸載遊戲
※《十三號星期五》因原版電影糾紛 後續更新被迫取消
TAG:DeepTech深科技 |