Glow:更佳的可逆生成模型
OpenAI 推出了 Glow,一種利用可逆 1x1 卷積合成高解析度影像的可逆生成模型。此架構簡化了先前的流式模型,使得能夠進行精確的潛在變數推斷、有效的平行抽樣,並發現可用於資料操作的語意特徵。
流式生成模型的優勢
Glow 屬於流式生成模型的一類,較生成對抗網路 (GAN) 與變分自編碼器 (VAE) 具備多項技術優勢:
- 精確推斷與似然度:與提供近似潛在變數推斷的 VAE 不同,或是完全沒有編碼器的 GAN,不可逆模型允許精確的潛在變數推斷,並可優化資料的精確對數似然度。
- 高效平行性:雖然自回歸模型(例如 PixelCNN)是可逆的,但其合成難以平行化。Glow 在推斷與合成兩方面皆能高效平行化。
- 可操作的潛在空間:可逆模型提供一個潛在空間,可直接表示資料點,便於在現有資料點之間進行插值與有意義的修改。這比 GAN 更具韌性,後者可能無法完整支援資料分佈。
- 記憶體效率:根據 RevNet 的原理,在可逆神經網路中計算梯度所需的記憶體與深度呈常數關係,而非線性增長。
技術貢獻與架構
Glow 透過簡化模型並引入全新可逆操作,改進了 RealNVP 架構。
可逆 1x1 卷積
Glow 的主要貢獻在於以學習式 1x1 卷積取代固定的排列。在先前的模型中,通道遮罩依賴剛性的排列來打亂資料。由於通道排列是線性變換的一種特殊情況,Glow 使用輸入與輸出通道數相同的 1x1 卷積來學習最佳排列。這些權重以隨機旋轉矩陣初始化,並透過 LU 分解高效優化。
架構簡化
- 移除棋盤遮罩:Glow 移除了 RealNVP 中使用的棋盤遮罩層,以簡化整體架構。
- 激活正規化:模型以激活正規化層取代批次正規化。此層透過資料依賴的初始化來平移與縮放激活,使模型能在僅一筆小批次的情況下擴大規模與運作,這對處理大型影像是必要的。
效能與結果
Glow 在多項基準測試中相較於 RealNVP 展示了顯著的量化改進,以每維位元為衡量指標:
| 資料集 | RealNVP | Glow |
|---|---|---|
| CIFAR-10 | 3.49 | 3.55 |
| Imagenet 32x32 | 4.28 | 4.09 |
| Imagenet 64x64 | 3.98 | 3.81 |
| LSUN (bedroom) | 2.72 | 2.38 |
| LSUN (tower) | 2.81 | 2.46 |
| LSUN (church outdoor) | 3.08 | 2.67 |
影像合成與潛在操作
在 30,000 張高解析度人臉資料集上訓練後,Glow 能在 NVIDIA 1080 Ti GPU 上以約 130 毫秒產生 256×256 的樣本。研究人員發現,將潛在變數的標準差以 0.7 的溫度縮放,常能提升樣本品質。
由於 Glow 具備完美的編碼器,可用於無監督的屬性操作。透過對有與無特定屬性(例如金髮)的影像進行編碼,並計算其平均潛在向量的差異,即可產生「操作向量」。將此向量加至任意輸入影像的潛在表示,即可修改該特定屬性,且在初始訓練階段不需標籤。
規模與未來研究
為了訓練超過一億參數的模型,OpenAI 在五台每台配備八塊 GPU 的叢集上使用 Horovod,並採用梯度檢查點技術來管理記憶體。
團隊指出的未來研究方向包括:
- 似然度競爭力:將流式模型與 VAE 及自回歸模型結合,以匹配其對數似然度表現,同時保留高效抽樣。
- 計算效率:探索自注意力架構或漸進式訓練,以降低目前高解析度影像所需的深度(約 600 層卷積)與參數量(約 2 億)的需求。
SUMMARY: OpenAI 推出 Glow,一種使用可逆 1x1 卷積的流式生成模型,能以精確的潛在變數推斷與高效抽樣產生高解析度影像。
TITLE: Glow:更佳的可逆生成模型