Glow: より良い可逆的生成モデル

OpenAIはGlowを導入した。これは可逆的生成モデルで、可逆的1x1畳み込みを利用して高解像度画像を合成する。従来のフロー型モデルを簡素化し、正確な潜在変数推論、効率的な並列サンプリング、データ操作のための意味的特徴の発見を可能にする。

フロー型生成モデルの利点

Glowはフロー型生成モデルに属し、生成的敵対ネットワーク(GAN)や変分オートエンコーダ(VAE)に比べていくつかの技術的利点を提供する。

  • 正確な推論と尤度: VAEが潜在変数推論を近似的に行うのに対し、GANはエンコーダーを全く持たないが、可逆モデルは正確な潜在変数推論とデータの正確な対数尤度の最適化を可能にする。
  • 効率的な並列処理: オートレグレッシブモデル(PixelCNNなど)は可逆であるが、合成は並列化が困難。Glowは推論と合成の両方で効率的に並列化できる。
  • 操作可能な潜在空間: 可逆モデルはデータポイントを直接表現できる潜在空間を提供し、補間や既存データポイントの意味的な変更を容易にする。これはデータ分布全体をサポートしない可能性のあるGANよりも頑健である。
  • メモリ効率: RevNetの原理に基づき、可逆ニューラルネットワークの勾配計算は深さに対して一定量のメモリしか必要とせず、線形メモリ増加を回避できる。

技術的貢献とアーキテクチャ

GlowはRealNVPアーキテクチャを改良し、モデルを簡素化するとともに新しい可逆操作を導入した。

可逆的 1x1 畳み込み

Glowの主な貢献は、固定された置換を学習可能な1x1畳み込み操作に置き換えることです。以前のモデルでは、チャネルごとのマスキングは硬直した置換に依存してデータをシャッフルしていました。チャネルの置換は線形変換の特殊ケースであるため、Glowは入力と出力チャネル数が等しい1x1畳み込みを用いて最適な置換を学習します。これらの重みはランダムな回転行列として初期化され、LU分解を用いて効率的に最適化されます。

アーキテクチャの簡素化

  • チェッカーボードマスキングの除去: GlowはRealNVPで使用されていたチェッカーボードマスキング層を削除し、全体のアーキテクチャを簡素化します。
  • アクティベーション正規化: モデルはバッチ正規化をアクティベーション正規化層に置き換えます。この層はデータ依存の初期化を用いてアクティベーションをシフトおよびスケールし、ミニバッチサイズが1でも動作できるようにし、大規模画像の処理を可能にします。

パフォーマンスと結果

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上で約130msで256×256のサンプルを生成できる。研究者は、潜在変数の標準偏差を温度0.7でスケーリングするとサンプル品質が向上することが多いと報告した。

Glowは完全なエンコーダを持つため、教師なし属性操作に利用できる。特定の属性(例:金髪)を持つ画像と持たない画像をエンコードし、平均潜在ベクトルの差分から「操作ベクトル」を作成する。このベクトルを任意の入力画像の潜在表現に加えることで、初期訓練時にラベルを必要とせずにその属性を変更できる。

スケールと今後の研究

1億パラメータを超えるモデルを訓練するため、OpenAIは5台のマシン(各8GPU)からなるクラスターでHorovodを使用し、勾配チェックポイントを活用してメモリを管理した。

チームが特定した今後の研究課題は以下の通り。

  1. 尤度の競争力: フロー型モデルをVAEやオートレグレッシブモデルと組み合わせ、対数尤度性能を維持しつつ効率的なサンプリングを保つ。
  2. 計算効率: 現在必要とされる深さ(約600層の畳み込み)やパラメータ数(約2億)を削減するため、自己注意アーキテクチャやプログレッシブ学習を検討する。

SUMMARY: OpenAIは、可逆的1x1畳み込みを用いたフロー型生成モデルGlowを紹介する。Glowは高解像度画像を生成し、正確な潜在変数推論と効率的なサンプリングを実現する。

TITLE: Glow: より良い可逆的生成モデル

Sources