この一連のブログ投稿はディープ ラーニング/コンピューター ビジョン論文のメモです。転載する場合は出典を明記してください。
标题:StackGAN: スタックされた敵対的生成ネットワークを使用したテキストからフォトリアリスティックな画像への合成
链接:[ 1612.03242] StackGAN: スタック型敵対的生成ネットワークを使用したテキストからフォトリアリスティックな画像への合成 (arxiv.org)
まとめ
テキストの説明から高品質の画像を合成することは、多くの実用的なアプリケーションを伴うコンピューター ビジョンにおける困難な問題です。既存のテキストから画像への方法では、特定の説明の意味を大まかに反映するサンプルが生成されますが、必要な詳細や鮮明なオブジェクト部分が不足しています。この論文では、テキスト記述に基づいて 256×256 のフォトリアリスティックな画像を生成する Stacked Generative Adversarial Networks (StackGAN) を提案します。スケッチの改良プロセスを通じて、このパズルをより管理しやすいサブ問題に分解します。第 1 段階生成対立ネットワーク (Stage-I GAN) は、与えられたテキスト記述に従ってオブジェクトの元の形状と色の輪郭を描き、第 1 段階の低解像度画像を生成します。第 2 段階の敵対的生成ネットワーク (Stage-II GAN) は、第 1 段階の結果とテキスト記述を入力として受け取り、フォトリアリスティックな詳細を備えた高解像度画像を生成します。第一段階の結果の欠陥を修正し、改良のプロセスを通じて説得力のある詳細を追加することができます。合成画像の多様性を高め、条件付き GAN のトレーニングを安定させるために、潜在条件付き空間の滑らかさを促進する新しい条件付き拡張手法を導入します。ベンチマーク データセットに関する広範な実験と最先端の方法との比較により、提案された方法がテキストの説明に基づいてフォトリアリスティックな画像を生成する際に大幅な改善が達成されることが実証されています。
1 はじめに
テキストからリアルな画像を生成することは、写真編集、コンピュータ支援デザインなどを含む幅広いアプリケーションにとって重要な問題です。近年、敵対的生成ネットワーク (GAN) [8、5、23] は、現実世界の画像の合成において有望な結果を達成しました。テキストの説明が与えられると、条件付き敵対的生成ネットワーク (条件付き GAN) [26、24] は、テキストの意味と高度に相関する画像を生成できます。
ただし、テキストの説明から高解像度のリアルな画像を生成するように GAN をトレーニングすることは非常に困難です。最先端の GAN モデルで高解像度 (例: 256×256) 画像を生成するために単にアップサンプリング レイヤーを追加すると、多くの場合、トレーニングが不安定になり、不合理な出力が生成されます (図 1© を参照)。GAN が高解像度画像を生成する際の主な問題は、自然画像分布からのサポートと隠れモデル分布からのサポートが高次元ピクセル空間で重複しない可能性があることです [31、1]。この問題は、画像の解像度が増加するにつれてさらに深刻になります。Reed らは、テキストによる説明だけを与えて、信じられるような 64×64 の画像を生成することに成功しました [26] が、これらの画像には、鳥の口や目などの詳細や鮮明なオブジェクトの部分が欠けていることがよくあります。さらに、追加のオブジェクト注釈を提供しない限り、より高い解像度 (例: 128×128) の画像を合成することはできませんでした [24]。
図1。提案された StackGAN のパフォーマンスを、256×256 画像を生成する一般的な単一ステージ GAN と比較します。(a) テキストによる説明が与えられると、StackGAN の第 1 段階でオブジェクトの大まかな形状と基本色がスケッチされ、低解像度の画像が生成されます。(b) StackGAN の第 2 ステージでは、第 1 ステージの結果とテキスト記述を入力として受け取り、リアルな詳細を備えた高解像度画像を生成します。(c) 既存の GAN-INT-CLS [26] の上にアップサンプリング レイヤーを単純に追加した単純な 256×256 GAN の結果。256×256 の解像度では信頼できる画像を生成できません。
人間の画家が絵を描く方法と同様に、スタック型敵対的生成ネットワーク (StackGAN) を使用して、テキストからリアルな画像への合成問題をさらに 2 つの扱いやすい部分問題に分解します。まず、第 1 段階の敵対的生成ネットワーク (Stage-I GAN) によって低解像度画像が生成されます (図 1(a) を参照)。第 1 段階の敵対的生成ネットワークの上に、第 2 段階の敵対的生成ネットワーク (Stage-II GAN) をスタックし、第 1 段階の結果とテキストの説明に基づいて現実的な高解像度 (例: 256×256) 画像を生成します (図 1(b) を参照)。第 1 段階の結果とテキストによる説明を再度条件付けることで、第 2 段階の GAN は、第 1 段階の GAN が見逃したテキスト情報を取得する方法を学習し、オブジェクトの詳細をさらに描画します。大まかに位置合わせされた低解像度画像から生成されたモデル分布サポートは、画像分布のサポートと交差する可能性が高くなります。これが、第 2 段階の GAN がより優れた高解像度画像を生成できる根本的な理由です。
さらに、テキストから画像への生成タスクでは、トレーニング用のテキストと画像のペアの数が限られているため、テキスト条件付け空間がまばらになり、GAN のトレーニングが困難になることがよくあります。したがって、潜在的な条件付き空間の滑らかさを促進するための新しい条件付き拡張手法を提案します。これにより、条件付き空間で小さなランダムな摂動が可能になり、合成画像の多様性が高まります。
提案された方法の貢献は 3 つあります。
- 我々は、テキスト記述からリアルな画像を合成するための、新しいスタック型敵対的生成ネットワークを提案します。これは、高解像度の画像を生成するという困難な問題をより管理しやすいサブ問題に分解し、最先端技術を大幅に改善します。StackGAN は初めて、テキストの説明からリアルな詳細を備えた 256×256 解像度の画像を生成できるようになりました。
- 生成されるサンプルの多様性を高めながら、条件付き敵対的生成ネットワークのトレーニングを安定化するための、新しい条件付き拡張手法が提案されています。
- 広範な定性的および定量的実験により、モデル全体の設計の有効性だけでなく、個々のコンポーネントの効果も実証され、将来の条件付き敵対的生成ネットワーク モデルの設計に役立つ情報が提供されます。私たちのコードは https://github.com/hanzhanggit/StackGAN で入手できます。
2.関連作品
画像モデルの生成は、コンピューター ビジョンの基本的な問題です。深層学習技術の出現により、この方向では目覚ましい進歩が見られました。変分オートエンコーダ (VAE) [13、28] は、確率的グラフィカル モデルを使用して問題を定式化し、その目的はデータの尤度の下限を最大化することです。ニューラル ネットワークを活用してピクセル空間内の条件付き分布をモデル化する自己回帰モデル (PixelRNN など) [33] も、魅力的な合成画像を生成します。最近、敵対的生成ネットワーク (GAN) [8] は、より鮮明な画像の生成において有望なパフォーマンスを示しています。ただし、トレーニングの不安定性により、GAN モデルが高解像度 (例: 256×256) の画像を生成することが困難になります。トレーニングプロセスを安定させ、説得力のある結果を生成するために、いくつかの手法 [23、29、18、1、3] が提案されています。エネルギーベースの GAN [38] も、より安定したトレーニング動作のために提案されています。
これらの生成モデルに基づいて、条件付き画像生成も調査されます。ほとんどのメソッドは、属性やクラス ラベルなどの単純な条件変数を使用します [37、34、4、22]。写真編集 [2, 39]、ドメイン転送 [32, 12]、超解像度 [31, 15] など、画像を条件とした画像生成に関する研究もあります。ただし、超解像度手法 [31、15] は、低解像度画像に限られた詳細しか追加できず、私たちが提案した StackGAN のような大きな欠陥を修正することはできません。最近、非構造化テキストから画像を生成するいくつかの方法が開発されました。Mansimov et al. [17] は、テキストと生成されたキャンバスの間の位置合わせを推定する方法を学習することで、AlignDRAW モデルを構築しました。Reed et al. [27] は、条件付き PixelCNN を使用して、テキストの説明とオブジェクトの位置の制約に基づいて画像を生成します。Nguyen et al. [20] は、近似ランジュバン サンプリング法を使用してテキストベースの画像を生成しました。ただし、そのサンプリング方法では、非効率的な反復的な最適化プロセスが必要になります。Reed et al. [26] は、条件付き GAN を使用して、テキストの説明に基づいて鳥や花のもっともらしい 64×64 画像を生成することに成功しました。彼らのフォローアップ研究 [24] では、オブジェクト部分の位置の追加の注釈を利用することで 128×128 の画像を生成することができました。
単一の GAN を使用して画像を生成することに加えて、一連の GAN を使用して画像を生成する作品もいくつかあります [36、5、10]。Wang et al. [36] は、提案されたS 2 − GANS^2-GANを使用しました。S2−GANは、屋内シーンの生成プロセスを構造生成とスタイル生成に分解します。対照的に、StackGAN の第 2 段階では、テキストの説明に基づいてオブジェクトの詳細を調整し、第 1 段階の結果の欠点を修正することを目的としています。Denton ら [5] は、ラプラシアン ピラミッドのフレームワーク内で一連の GAN を構築しました。ピラミッドの各レベルで、前のステージの画像調整に基づいて残差画像が生成され、それが入力画像に加算されて次のステージの入力が生成されます。私たちの研究と並行して、Huang et al. [10] も、複数の GAN をスタックして、事前トレーニングされた識別モデルのマルチレベル表現を再構築することで、より良い画像が得られることを示しました。ただし、彼らは 32×32 の画像しか生成できませんでした。一方、私たちの方法はより単純なアーキテクチャを活用して、ピクセル数が 64 倍に増加し、リアルな詳細を備えた 256×256 の画像を生成します。
3. 積み重ねられた敵対的生成ネットワーク
リアルな詳細を備えた高解像度画像を生成するために、シンプルだが効果的なスタック型敵対的生成ネットワーク (スタック型 GAN) を提案します。テキストから画像への生成プロセスは 2 つの段階に分かれています (図 2 を参照)。
図2。提案されている StackGAN のアーキテクチャ。第 1 段階のジェネレーターは、指定されたテキストからオブジェクトの大まかな形状と基本色をスケッチし、ランダム ノイズ ベクトルから背景を描画することにより、低解像度の画像を生成します。第 1 段階の結果に基づいて、第 2 段階のジェネレーターは欠陥を修復し、第 1 段階の結果に説得力のある詳細を追加して、より現実的な高解像度画像を生成します。
- 最初のステージでは対立ネットワーク (ステージ I GAN) を生成します。指定されたテキストの説明に従ってオブジェクトの元の形状と基本色の輪郭を描き、ランダム ノイズ ベクトルから背景レイアウトを生成して、低解像度の画像を生成します。
- 第 2 段階では、対立ネットワーク (ステージ II GAN) を生成します。第 1 段階の低解像度画像の欠陥を修正し、テキストの説明を再度読み取ることでオブジェクトの詳細を洗練し、高解像度のフォトリアリスティックな画像を生成します。画像。
3.1. 予備知識
Generative Adversarial Networks (GAN) [8] は、相互に競合するように交互にトレーニングされる 2 つのモデルで構成されます。ジェネレータ G は、ディスクリミネータ D にとって実際の画像と区別できない画像を生成することによって、実際のデータ分布 pdata を再現するように最適化されています。同時に、識別器 D は、実画像と生成器 G によって生成された合成画像を区別するように最適化されます。全体として、トレーニング プロセスは 2 人用のゼロサム ゲームに似ており、その目的関数は次のとおりです。
min G max DV ( D , G ) = E x 〜 p データ [ log D ( x ) ] + E z 〜 pz [ log ( 1 − D ( G ( z ) ) ) ] (1) \min_G \max_D V(D, G) = \mathbb{E}_{x \sim p_{\text{data}}}[\log D(x)] + \mathbb{E}_{z \sim p_z}[ \log(1 - D(G(z)))] \tag{1}G分DマックスV ( D 、G )=Ex 〜pデータ[ログ_D ( × )]+Ez 〜pz[ログ( 1 _−D ( G ( z )))]( 1 )
ここでxxxは実データ分布pdata p_{data}pダタ_ _ _zzの実像zはディストリビューションpz p_zpz(一様分布またはガウス分布など) ノイズ ベクトルをサンプリングします。
条件付き GAN [7, 19] は、ジェネレーターとディスクリミネーターの両方が追加の条件変数ccを受け取る GAN の拡張です。c , getG ( z , c ) G(z, c)G ( z ,c )およびD ( x , c ) D(x, c)D ( x ,c )。この定式化により、ジェネレータ G を変数ccc画像を生成します。
3.2. 条件強化
図2に示すように、まずエンコーダを通してテキストttを記述します。t は、ϕ t \phi_tを埋め込んだテキストを取得するためにエンコードされます。ϕた。以前の研究 [26、24] では、テキスト埋め込みはジェネレーター入力の条件付き潜在変数に非線形に変換されました。ただし、テキスト埋め込みの潜在スペースは通常、高次元 (>100 次元) です。データ量が有限であると、基礎となるデータ多様体に不連続性が生じることが多く、これはジェネレーターの学習にとって望ましくないことです。この問題を軽減するために、追加の条件変数c ^ \hat{c}を生成する「条件拡張」手法を導入します。c^。[26, 24] の固定条件付きテキスト変数cccは異なります。独立したガウス分布N ( μ ( ϕ t ) , Σ ( ϕ t ) ) N(\mu(\phi_t), \Sigma(\phi_t)) から開始します。N ( μ ( ϕた)、S ( ϕた))潜在変数をランダムにサンプリングc ^ \hat{c}c^、ここで平均値μ ( ϕ t ) \mu(\phi_t)m ( ϕた)と対角共分散行列Σ ( ϕ t ) \Sigma(\phi_t)S ( ϕた)はϕ t \phi_tを埋め込むテキストですϕた関数。提案された条件付き拡張は、少数の画像とテキストのペアを含むより多くのトレーニング ペアを生成するため、条件付き多様体上の小さな摂動に対するロバスト性が促進されます。条件付き多様体の滑らかさをさらに強化し、過学習を回避するために [6、14]、トレーニング中にジェネレーターの目的関数に次の正則化項を追加します。
DKL ( N ( μ ( ϕ t ) , Σ ( ϕ t ) ) ∣ ∣ N ( 0 , I ) ) (2) D_{KL}(N(\mu(\phi_t ), \Sigma(\phi_t)) | |N(0, I)) \tag{2}DKL _( N ( μ ( ϕた)、S ( ϕた)) ∣∣ N ( 0 ,私))( 2 )
ここで、DKL D_{KL}DKL _標準ガウス分布と条件付きガウス分布の間のカルバック・ライブラー発散 (KL 発散) です。条件付き拡張によって導入されるランダム性は、同じ文が異なる姿勢や外観を持つオブジェクトに対応することが多いため、テキストから画像への変換をモデル化するのに役立ちます。
3.3. 第 1 段階では対立ネットワークを生成します (Stage-I GAN)
テキストの説明に基づいて高解像度の画像を直接生成する代わりに、第 1 段階の GAN を使用して最初に低解像度の画像を生成するというタスクを簡素化します。これは、オブジェクトの大まかな形状の描画と色の修正のみに重点を置いています。
テキストで説明しましょうtttのテキスト埋め込みはϕ t \phi_tϕた、この論文では事前トレーニングされたエンコーダ [25] によって生成されます。テキスト埋め込み用のガウス条件付け変数c 0 ^ \hat{c_0}c0^N ( μ 0 ( ϕ t ) , Σ 0 ( ϕ t ) ) N(\mu_0(\phi_t), \Sigma_0(\phi_t))からN (m0( ϕた)、S0( ϕた)) ϕ t \phi_tをキャプチャするϕた意味とその変化。c 0 ^ \hat{c_0}とするとc0^と確率変数zzzの条件下で、LD 0 LD0式 (4) のL D 0とLG 0 LG0L G 0 、生成対立ネットワーク トレーニング弁別器D 0 D0の第 1 段階D 0とジェネレーターG 0 G0G0: _
LD 0 = E ( I 0 , t ) ∼ p データ [ log D 0 ( I 0 , ϕ t ) ] + E ( z , t ) ∼ pz , p データ [ log ( 1 − D 0 ( G 0 ( z , c 0 ^ ) , ϕ t ) ) ] (3) L_{D_0} = \mathbb{E}_{(I_0,t) \sim p_{\text{data}}}[ \log D_0(I_0, \phi_t)] + \mathbb{E}_{(z,t) \sim p_z, p_{\text{data}}}[ \log(1 - D_0(G_0(z, \hat{c_0}), \ phi_t))] \tag{3}LD0=E(私0、t ) 〜pデータ[ログ_D0(私0、ϕた)]+E( z , t ) 〜pz、pデータ[ログ( 1 _−D0( G0( z 、c0^)、ϕた))]( 3 )
LG 0 = E ( z , t ) 〜 pz , p data [log ( 1 − D 0 ( G 0 ( z , c 0 ^ ) , ϕ t ) ) ] + λ DKL ( N ( μ 0 ( ϕ t ) ) . , Σ 0 ( ϕ t ) ) ∣ ∣ N ( 0 , I ) ) (4) L_{G_0} = \mathbb{E}_{(z,t)\sim p_z, p_{\text{data} }} [ \log(1 - D_0(G_0(z, \hat{c_0}), \phi_t))] + \lambda D_{KL}(N(\mu_0(\phi_t), \Sigma_0(\phi_t)) || N(0, I)) \tag{4}LG0=E( z , t ) 〜pz、pデータ[ログ( 1 _−D0( G0( z 、c0^)、ϕた))]+λD _KL _( N ( m0( ϕた)、S0( ϕた)) ∣∣ N ( 0 ,私))( 4 )
ここで、実像I 0 I0I 0とテキストの説明ttt は実際のデータ分布p data p_{\text{data}}pデータ。_zは指定された分布pz p_zpz(この場合はガウス分布) ランダムにサンプリングされたノイズ ベクトル λ \ラムダλは、式 (4) の 2 つの項のバランスをとる正則化パラメータです。すべての実験でλ \lambdaλ は1 に設定されます。[13] で導入された再パラメータ化トリックを使用すると、μ 0 ( ϕ t ) \mu_0(\phi_t)メートル0( ϕた)和Σ 0 ( ϕ t ) \Sigma_0(\phi_t )S0( ϕた)はネットワークの残りの部分と共同して学習されます。
モデル アーキテクチャ: ジェネレーターG 0 G0の場合G 0 、テキスト条件変数c 0 ^ \hat{c_0}を取得するためc0^、最初にテキストϕ t \phi_tを埋め込みますϕた全結合層に入力してガウス分布N ( μ 0 , Σ 0 ) N(\mu_0, \Sigma_0) を生成します。N (m0、S0)のμ 0 \mu_0メートル0とΣ 0 \Sigma_0S0(Σ 0 \Sigma_0S0Σ 0 \Sigma_0ですS0対角線上の値)。次に、ガウス分布からサンプリングしてc 0 ^ \hat{c_0}を取得します。c0^。Ng 次元の条件付きベクトルc 0 ^ \hat{c_0}c0^c 0 ^ = μ 0 + Σ 0 ⊙ ε \hat{c_0} = \mu_0 + \Sigma_0 \odot \varepsilonよりc0^=メートル0+S0⊙εが計算されます (ここで⊙ \odot⊙は要素ごとの乗算、ε 〜 N ( 0 , I ) \varepsilon \sim N(0, I)e〜N ( 0 ,私))。次に、一連のアップサンプリング ブロックによってW 0 × H 0 W_0 × H_0W0×H0画像、ここでc 0 ^ \hat{c_0}c0^N z N_z付きNz次元ノイズ ベクトルが連結されます。
ディスクリミネータD 0 D_0の場合D0、最初に完全に接続されたレイヤーを使用してテキストϕ t \phi_tを埋め込みます。ϕたNd 次元に圧縮され、空間的に複製されてM d × M d × N d M_d × M_d × N_dが形成されます。Md×Md×Ndテンソル。同時に、画像はM d × M d M_d × M_dになるまで一連のダウンサンプリング ブロックを通過します。Md×Mdスペースのサイズ。次に、画像フィルター マップがチャネル次元に沿ってテキスト テンソルと連結されます。結果のテンソルはさらに1×1 1×1に入力されます。1×画像とテキスト間の特徴を共同学習するための1 つの畳み込み層。最後に、1 つのノードの完全に接続された層を使用して決定スコアが生成されます。
3.4. 第 2 段階では対立ネットワークを生成します (Stage-II GAN)
第 1 段階の GAN によって生成された低解像度の画像には、オブジェクトの鮮明な部分が欠けていることが多く、形状の歪みが含まれる場合があります。テキスト内の一部の詳細も最初の段階では無視される場合がありますが、これはリアルな画像を生成するために重要です。第 2 段階の敵対的生成ネットワークは、第 1 段階の結果に基づいて高解像度の画像を生成します。低解像度の画像に基づいて、再度テキストの埋め込みを使用して、第 1 段階の結果の欠陥を修正します。第 2 段階の敵対的生成ネットワークは、これまで無視されていたテキスト情報を洗練して、より現実的な詳細を生成します。
低解像度の結果はs 0 = G 0 ( z , c 0 ^ ) s0 = G0(z, \hat{c_0})s0 _=G 0 ( z ,c0^)とガウス潜在変数c ^ \hat{c}c^、式 (5) LD の LD を式 (6) のLDと最小化LG LGL G、第 2 段階敵対的生成ネットワーク トレーニング ディスクリミネーターDDDとジェネレーターGGG:
LD = E ( I , t ) ∼ p データ [ log D ( I , ϕ t ) ] + E ( s 0 , t ) ∼ p G 0 , p データ [ log ( 1 − D ( G ( s 0 , c ^ ) , ϕ t ) ) ] (5) L_D = \mathbb{E}_{(I,t) \sim p_{\text{data}}}[ \log D(I, \phi_t)] + \ mathbb{E}_{(s_0,t) \sim p_{G_0}, p_{\text{data}}}[ \log(1 - D(G(s_0, c^), \phi_t))] \tag{ 5}LD=E( I , t ) 〜pデータ[ログ_D (私、ϕた)]+E( s0、t ) 〜pG0、pデータ[ログ( 1 _−D ( G ( s0、c ^) 、ϕた))]( 5 )
LG = E(s0,t) ∼ p G0, p データ [log(1−D(G(s0,c^),ϕt))] + λ DKL(N(μ(ϕt), Σ ( ϕ t ) ) ∣ ∣ N ( 0 , I ) ) (6) L_G = \mathbb{E}_{(s_0,t) \sim p_{G0}, p_{\text{data}}}[ \ log(1 - D( G(s_0, c^), \phi_t))] + \lambda D_{KL}(N(\mu(\phi_t), \Sigma(\phi_t))|| N(0, I); ) \tag{6 }LG=E( s0、t ) 〜pG0 _、pデータ[ログ( 1 _−D ( G ( s0、c ^) 、ϕた))]+λD _KL _( N ( μ ( ϕた)、S ( ϕた)) ∣∣ N ( 0 ,私))( 6 )
元の GAN の定式化とは異なり、ランダム ノイズzzを前提としています。ランダム性がs 0 s0によって変更されているため、 zはこの段階では使用されません。■ 0は予約されています。この段階で使用されるc ^ \hat{c}c^と最初のステージの c 0^ \hat{c_0}c0^同じ事前トレーニング済みテキスト エンコーダーを共有し、同じテキスト埋め込みϕ t \phi_tを生成します。ϕた。ただし、第 1 段階と第 2 段階の条件付き拡張では、異なる全結合層を使用して、異なる平均値と標準偏差が生成されます。このようにして、第 2 段階の敵対的生成ネットワークは、第 1 段階で無視されたテキスト埋め込み内の有用な情報を取得する方法を学習します。
モデル アーキテクチャ: 第 2 段階のジェネレーターを、残差ブロックを備えたエンコーダー/デコーダー ネットワークとして設計します [9]。前の段階と同様に、テキストを埋め込むϕ t \phi_tϕたN g N_gの生成に使用されますNg寸法テキスト条件ベクトルc ^ \hat{c}c^、空間的に複製されてM g × M g × N g M_g×M_g×N_gMg×Mg×Ngテンソル。同時に、第 1 段階の敵対的生成ネットワークによって生成されたs 0 s_0s0Mg × Mg M_g × M_gになるまで、複数のダウンサンプリング ブロック (つまり、エンコーダー) を通過します。Mg×Mgスペースのサイズ。画像特徴とテキスト特徴はチャネル次元に沿って連結されます。エンコードされた画像の特徴はテキストの特徴と結合され、画像とテキストの特徴にわたるマルチモーダル表現を学習することを目的とした複数の残差ブロックに渡されます。最後に、一連のアップサンプリング レイヤー (つまり、デコーダー) を使用して、W × HW × HW×Hの高解像度画像 このようなジェネレーターは、入力画像の不完全性を修正しながら、詳細を追加してリアルな高解像度画像を生成できます。
弁別器の構造は、画像サイズが大きいため、この段階でダウンサンプリング ブロックが追加されることを除いて、第 1 段階の弁別器の構造と似ています。従来の識別器を使用するのではなく、画像と条件付きテキストの間のより適切な位置合わせを学習するように GAN に明示的に強制するために、両方の段階で Reed ら [26] によって提案された一致認識識別器を採用します。トレーニング中に、ディスクリミネーターは実際の画像とそれに対応するテキストの説明をポジティブ サンプル ペアとして取得し、ネガティブ サンプル ペアは 2 つのグループで構成されます。最初のセットは不一致のテキスト埋め込みを含む実際の画像であり、2 番目のセットは対応するテキスト埋め込みを含む合成画像です。
3.5. 実装の詳細
アップサンプリング ブロックは、最近傍アップサンプリングと3×3 3×3で構成されます。3×ステップ サイズ 1 の3 つの畳み込み。バッチ正規化 [11] および ReLU 活性化関数は、各畳み込みの後に適用され、最後の畳み込みの後は適用されません。残りのブロックは3 × 3 3 × 33×1、バッチ正規化、ReLU の3ステップの畳み込み。128×128で128×128の StackGAN モデルでは 2 つの残差ブロックが使用されますが、256 × 256 では256 × 256256×256モデルは 4 つの残差ブロックを使用します。ダウンサンプリング ブロックは4×4 4×44×4ストライド 2、バッチ正規化、LeakyReLU の畳み込み。最初のダウンサンプリング ブロックのみバッチ正規化されません。
デフォルトでは、N g = 128 N_g = 128Ng=128、N z = 100 N_z = 100Nz=100、M g = 16 M_g = 16Mg=16、M d = 4 M_d = 4Md=4、N d = 128 N_d = 128Nd=128、W 0 = H 0 = 64 W_0 = H_0 = 64W0=H0=64、W = H = 256 W = H = 256W=H=256 . トレーニングでは、まず第 2 段階の GAN を固定して、第 1 段階の GAN のD 0 D_0D0そしてG 0 G_0G0、合計 600 エポック。次に、第 1 段階の敵対的生成ネットワークを修正することで、第 2 段階の敵対的生成ネットワークのDD を反復的にトレーニングします。DとGGG、合計でさらに 600 エポック。すべてのネットワークは、バッチ サイズ 64、初期学習率 0.0002 の ADAM ソルバーを使用してトレーニングされました。学習率は 100 エポックごとに前の値の半分に減衰します。
4. 実験
私たちの手法を検証するために、広範な定量的および定性的評価を実施します。私たちの手法を 2 つの最先端のテキストから画像への合成手法である GAN-INT-CLS [26] および GAWWN [24] と比較します。これら 2 つの比較方法の作成者によって公開されたコードを使用して結果を生成しました。さらに、提案する StackGAN の全体的な設計と重要なコンポーネントを調査するために、いくつかのベースライン モデルを設計します。まず、提案されたスタッキング構造と条件付き拡張が有益かどうかを調査するために、Stage-I GAN を直接トレーニングして 64×64 および 256×256 の画像を生成します。次に、StackGAN を変更して 128×128 および 256×256 の画像を生成し、私たちの方法でより大きな画像を生成することが画質の向上につながるかどうかを調査しました。また、StackGAN の両方の段階でテキストをフィードすることが有用かどうかも調査しました。
4.1. データセットと評価指標
CUB [35] には、200 種の鳥類と合計 11,788 枚の画像が含まれています。このデータセット内の鳥の 80% はオブジェクトと画像のサイズ比が 0.5 より小さいため [35]、前処理ステップとして、鳥の境界ボックスがオブジェクトと画像のサイズになるようにすべての画像をトリミングします。比率が0.75より大きい。Oxford-102 [21] には、102 の異なるカテゴリからの 8,189 枚の花の画像が含まれています。私たちの方法の一般化能力を実証するために、評価にはより困難な MS COCO データセット [16] も使用します。CUB や Oxford-102 とは異なり、MS COCO データセットには、複数のオブジェクトとさまざまな背景を持つ画像が含まれています。80,000 枚の画像のトレーニング セットと 40,000 枚の画像の検証セットがあります。COCO データセットの各画像には 5 つの説明があり、CUB および Oxford-102 データセットの各画像には 10 の説明があります。[26] の実験設定に従って、COCO データセットのトレーニング セットと検証セットを直接使用し、CUB および Oxford-102 データセットをクラス素のトレーニング セットとテスト セットに分割しました。
評価指標。GAN などの生成モデルのパフォーマンスを評価するのは困難です。定量的な評価には、最近提案された数値評価手法「Inception Score」[29]を採用する。
I = exp ( E x D KL ( p ( y ∣ x ) ∣ ∣ p ( y ) ) ) I = \exp\left(\mathbb{E}_x D_{\text{KL}}\left(p( y|x) || p(y)\right)\right)私=経験値( E×Dクアラルンプール( p ( y ∣ x ) ∣∣ p ( y ) ) _
その中で××x は生成されたサンプル、yyyは、インセプション モデル [30] によって予測されたラベルです。この指標の背後にある考え方は、優れたモデルは多様かつ意味のある画像を生成する必要があるということです。したがって、周辺分布p ( y ) p(y)p ( y )と条件付き分布p ( y ∣ x ) p(y|x)p ( y ∣ x )間の KL 発散は私たちの実験では、事前トレーニング済みのインセプション モデルを直接使用して COCO データセットを評価します。詳細なデータセット CUB および Oxford-102 については、各データセットのインセプション モデルを微調整しました。[29] で提案されているように、多数のサンプル (たとえば、ランダムに選択された 30,000 個のサンプル) を使用して、モデルごとにこのメトリックを評価します。
インセプション スコアは、サンプルの視覚的品質に対する人間の認識とよく相関することが示されていますが [29]、テキストによる説明を考慮すると、生成された画像が良好であるかどうかを反映することはできません。そこで人による評価も行いました。CUB と Oxford-102 の各カテゴリのテスト セットから 50 個のテキスト説明をランダムに選択しました。COCO データセットの場合、検証セットから 4,000 個のテキスト説明をランダムに選択しました。各文について、10 人のユーザー (著者を除く) によるさまざまな方法の結果をランク付けします。人間のユーザーの平均ランクを計算して、比較されたすべてのメソッドを評価します。
4.2. 定量的および定性的結果
CUB、Oxford-102、COCO データセットで StackGAN を最先端のテキストから画像への変換方法 [24、26] と比較します。当社が提供する StackGAN と比較したメソッドのインセプション スコアと人間の平均ランクを表 1 に報告します。いくつかの代表的な例を図 3 と図 4 で比較します。
表1。CUB、Oxford-102、および MS-COCO データセット上の StackGAN、GAWWN [24]、および GAN-INT-CLS [26] のインセプション スコアと平均人間ランク。
画像3。CUB テスト セット内のテキスト記述を条件として、StackGAN、GAWWN [24]、および GAN-INT-CLS [26] によって生成された結果の例。
図4. Oxford-102 テスト セット (左端の 4 列) と COCO 検証セット (右端の 4 列) のテキスト記述を条件として使用して、StackGAN および GAN-INT-CLS [26] によって生成された結果の例。
私たちの StackGAN は、3 つのデータセットすべてで最高のインセプション スコアと平均人間ランクを達成しました。GAN-INT-CLS [26] と比較すると、CUB データセットでは StackGAN のインセプション スコアが 28.47% (2.88 から 3.70) 増加し、Oxford-102 では 20.30% (2.66 から 3.20) 増加しました。StackGAN の人間による平均ランキングがより優れていることは、提案された方法がより現実的なテキストベースの説明サンプルを生成できることも示しています。
図 3 に示すように、GAN-INT-CLS [26] によって生成された 64×64 サンプルは、鳥の一般的な形状と色のみを反映できます。それらの結果には、ほとんどの場合、鮮明な部分 (口や足など) や説得力のある詳細が欠けており、現実的ではなく、十分な解像度も高くありません。GAWWN [24] は、位置制約に追加の条件変数を使用することで、CUB データセットでより良いインセプション スコアを達成しましたが、
それでも私たちの方法よりわずかに低いです。図 3 に示すように、GAN-INT-CLS よりも詳細な高解像度画像が生成されます。ただし、作成者が述べたように、GAWWN は条件がテキストのみに基づいて記述されている場合、もっともらしい画像を生成できません [24]。対照的に、StackGAN はテキストの説明のみから 256×256 のフォトリアリスティックな画像を生成できます。
図 5 は、StackGAN によって生成された Stage-I および Stage-II イメージの例をいくつか示しています。図 5 の最初の行に示すように、ほとんどの場合、Stage-I GAN は、テキストによる説明が与えられたオブジェクトのおおよその形状と色を描画できます。ただし、ステージ I の画像は、通常、特に前景のオブジェクトの場合、さまざまな欠陥や細部の欠落によってぼやけています。2 行目に示すように、Stage-II GAN は、対応するテキストの説明をより適切に反映する、より説得力のある詳細を含む 4 倍の高解像度画像を生成します。Stage-I GAN がすでに妥当な形状と色を生成している場合、Stage-II GAN は詳細を完成させます。たとえば、図 5 の最初の列では、満足のいくステージ I の結果を得るために、ステージ II GAN は、テキストで説明されている短い口と白色、および尾と脚の詳細の描画に重点を置いています。他のすべての例では、ステージ II の画像にさまざまなレベルの詳細が追加されています。他の多くの場合、Stage-II GAN はテキスト記述を再度処理することで Stage-I の結果の欠陥を修正できました。たとえば、列 5 の Stage-I 画像では、そのクラウンは青色であり、本文で説明されている赤茶色のクラウンではありません。この欠陥は Stage-II GAN によって修正されます。いくつかの極端なケース (図 5 の列 7 など) では、Stage-I GAN が適切な形状を描画できない場合でも、Stage-II GAN は適切なオブジェクトを生成できます。また、StackGAN には、Stage-I 画像から背景を転送し、Stage-II で微調整して、より高解像度でよりリアルな画像を取得する機能があることもわかりました。
図5. CUB テスト セット内の未表示のテキストを使用して生成されたサンプル。テキストの説明が各列にリストされ、画像は StackGAN の Stage-I および Stage-II によって生成されます。
重要なのは、StackGAN が優れた結果を達成するのは、トレーニング サンプルを単に暗記するだけではなく、根底にある複雑な言語と画像の関係を捕捉することによってです。生成された画像とすべてのトレーニング画像から視覚的特徴を抽出し、StackGAN の Stage-II 識別子 D を使用します。生成された画像ごとに、トレーニング セットから最近傍画像を取得できます。取得した画像 (図 6 を参照) を調べることによって、生成された画像はトレーニング サンプルと類似した特性をいくつか備えているものの、実質的には異なると結論付けることができます。
図6. 生成された画像 (最初の列) について、ステージ II 識別子 D を使用して視覚的特徴を抽出することによって、最も近いトレーニング画像 (列 2 ~ 6) が取得されます。フィーチャ間の L2 距離を使用した最近傍検索。
4.3. 成分分析
このサブセクションでは、ベースライン モデルを使用して CUB データセット上の StackGAN のさまざまなコンポーネントを分析します。これらのベースライン モデルのインセプション スコアを表 2 に示します。
表 2. StackGAN のインセプション スコアは、さまざまなベースライン モデルによって生成された 30,000 サンプルを使用して計算されました。
**StackGAN 設計。**表 2 の最初の 4 行に示されているように、Stage-I GAN を直接使用して画像を生成すると、インセプション スコアが大幅に低下します。このパフォーマンスの低下は、図 7 の結果によく示されています。図 7 の最初の行に示されているように、条件付き拡張 (CA) を使用しないと、Stage-I GAN は適切な 256×256 サンプルを生成できません。CA を使用した Stage-I GAN は、より多様な 256×256 サンプルを生成できますが、これらのサンプルは StackGAN で生成されるサンプルほど現実的ではありません。これは、提案されたスタック構造の必要性を正当化します。さらに、出力解像度を 256×256 から 128×128 に下げることにより、インセプション スコアは 3.70 から 3.35 に低下します。インセプション スコアを計算する前に、すべての画像が 299 × 299 に拡大縮小されることに注意してください。したがって、StackGAN が情報を追加せずに画像サイズを増やすだけの場合、解像度が異なるサンプルのインセプション スコアは同じままになります。したがって、128×128 StackGAN のインセプション スコアの低下は、256×256 StackGAN が大きな画像により多くの詳細を追加していることを示しています。256×256 StackGAN の場合、Stage-I ステージでテキストのみが入力された場合 (「テキストが 2 回なし」とマークされている)、インセプション スコアは 3.70 から 3.45 に低下します。これは、ステージ II でテキストの説明を再度処理すると、ステージ I の結果が改善されることを示唆しています。128×128 StackGAN モデルの結果からも同じ結論が導き出されます。
**条件が強化されました。**提案された条件付き拡張 (CA) の有効性も調査します。StackGAN 256×256 (表 2 で「CA なし」と表示) からこれを削除すると、インセプション スコアは 3.70 から 3.31 に低下します。図 7 は、CA を備えた 256×256 Stage-I GAN (および StackGAN) が、同じテキスト記述から異なる姿勢と視点を持つ鳥の画像を生成できることも示しています。対照的に、CA を使用しない場合、256×256 Stage-I GAN によって生成されたサンプルはトレーニング ダイナミクスを安定させることなく無意味な画像に崩壊します。したがって、提案された条件付き拡張は、潜在多様体上の小さな摂動に対する堅牢性を促進するため、条件付き GAN トレーニングを安定化し、生成されるサンプルの多様性を向上させるのに役立ちます。
図7。条件付き拡張 (CA) は、条件付き GAN のトレーニングを安定化し、生成されるサンプルの多様性を向上させるのに役立ちます。(最初の行) CA がないと、Stage-I GAN は信頼できる 256×256 サンプルを生成できません。各列は異なるノイズ ベクトル z を使用しますが、生成されるサンプルは各入力テキスト記述に対して同一です。(行 2 ~ 3) CA を使用しますが、ノイズ ベクトル z を固定しても、この方法では依然として、さまざまな姿勢や視点を持つ鳥の画像を生成できます。
** 文埋め込み補間。**StackGAN が滑らかな潜在データ多様体を学習することをさらに実証するために、図 8 に示すように、StackGAN を使用して線形補間された文埋め込みから画像を生成します。ノイズ ベクトル z を固定するので、生成された画像は指定されたテキストの説明からのみ推測されます。最初の行の画像は、私たちが独自に構築した単純な文から生成されています。これらの文には簡単な色の説明のみが含まれています。結果は、補間された埋め込みから生成された画像が色の変化を正確に反映し、もっともらしい鳥の形状を生成することを示しています。2 行目は、鳥の外観に関する詳細を含む、より複雑な文から生成されたサンプルを示しています。結果として得られる画像では、原色が赤から青に変化し、翼の色が黒から茶色に変化します。
図8。左から右へ: 2 つの文の埋め込みを補間することによって生成された画像。最初の文の意味から 2 番目の文の意味への徐々に変化が観察されます。各行のノイズ ベクトル z は 0 に固定されます。
5。結論
この論文では、リアルな画像を合成するための条件付き拡張機能を備えたスタック型敵対的生成ネットワーク (StackGAN) を提案します。提案された方法は、テキストから画像への合成を新しいスケッチ改良プロセスに分解します。第 1 段階の GAN は、指定されたテキスト記述に基づいて、基本的な色と形状の制約からオブジェクトをスケッチします。第 2 段階の GAN は、第 1 段階の結果の欠陥を修正し、詳細を追加して、より高解像度の画質の画像を生成します。広範な定量的および定性的結果は、私たちが提案した方法の有効性を示しています。既存のテキストから画像への生成モデルと比較して、私たちの方法は、より現実的な詳細と多様性を備えた高解像度 (例: 256×256) の画像を生成します。
参考文献
-
アルジョフスキー、M.、ボットウ、L. (2017)。敵対的生成ネットワークをトレーニングするための原則に基づいた方法に向けて。ICLRでは。
-
ブロック、A.、リム、T.、リッチー、JM、ウェストン、N. (2017)。内省的な敵対的ネットワークを使用したニューラル写真編集。ICLRでは。
-
Che, T.、Li, Y.、Jacob, AP、Bengio, Y.、および Li, W. (2017)。モードの正規化された敵対的生成ネットワーク。ICLRでは。
-
Chen, X.、Duan, Y.、Houthooft, R.、Schulman, J.、Sutskever, I.、および Abbeel, P. (2016)。Infogan: 敵対的生成ネットを最大化する情報による解釈可能な表現学習。生理学研究所にて。
-
EL デントン、S チンタラ、A シュラム、R ファーガス (2015)。敵対的ネットワークのラプラシアン ピラミッドを使用した深い生成イメージ モデル。生理学研究所にて。
-
ドーシュ、C. (2016)。変分オートエンコーダのチュートリアル。arXiv プレプリント arXiv:1606.05908。
-
ゴーティエ、J. (2015)。畳み込み顔生成のための条件付き敵対的生成ネットワーク。テクニカルレポート。
-
Goodfellow, IJ、Pouget-Abadie, J.、Mirza, M.、Xu, B.、Warde-Farley, D.、Ozair, S.、… & Bengio, Y. (2014)。生成的な敵対的ネット。生理学研究所にて。
-
He, K.、Zhang, X.、Ren, S.、Sun, J. (2016)。画像認識のための深層残差学習。CVPRで。
-
Huang, X.、Li, Y.、Poursaeed, O.、Hopcroft, J.、Belongie, S. (2017)。積み重ねられた敵対的生成ネットワーク。CVPRで。
-
Ioffe, S.、Szegedy, C. (2015)。バッチ正規化: 内部共変量シフトを削減することでディープ ネットワーク トレーニングを加速します。ICMLでは。
-
Isola、P.、Zhu、JY、Zhou、T.、およびエフロス、AA (2017)。条件付き敵対的ネットワークを使用した画像間の変換。CVPRで。
-
キングマ、DP、ウェリング、M. (2014)。変分ベイズの自動エンコード。ICLRでは。
-
ABL ラーセン、SK ソンダービー、H ラロシェル、O ウィンザー (2016)。学習された類似性メトリックを使用したピクセルを超えた自動エンコード。ICMLでは。
-
Ledig, C.、Theis, L.、Huszar, F.、Caballero, J.、Aitken, A.、Tejani, A.、… & Shi, W. (2017)。敵対的生成ネットワークを使用した写真のようにリアルな単一画像の超解像度。CVPRで。
-
リン、TY、マイレ、M.、ベロンギー、S.、ヘイズ、J.、ペローナ、P.、ラマナン、D.、… & ジトニック、CL (2014)。Microsoft coco: コンテキスト内の共通オブジェクト。ECCVで。
-
マンシモフ、E.、パリゾット、E.、Ba、LJ、サラクトディノフ、R. (2016)。注意を払ってキャプションから画像を生成します。ICLRでは。
-
Metz L、Poole B、Pfau D、Sohl-Dickstein J (2017)。展開された敵対的生成ネットワーク。ICLRでは。
-
ミルザ、M.、オシンデロ、S. (2014)。条件付き生成敵対的ネット。arXiv プレプリント arXiv:1411.1784。
-
Nguyen, A.、Yosinski, J.、Bengio, Y.、Dosovitskiy, A.、および Clune, J. (2017)。プラグ アンド プレイの生成ネットワーク: 潜在空間での画像の条件付き反復生成。CVPRで。
-
ニルスバック、メイン、ジッサーマン、A. (2008)。多数のクラスにわたる花の自動分類。ICCVGIP で。
-
オデナ、A.、オラ、C.、シュレンズ、J. (2017)。補助分類器 GAN を使用した条件付き画像合成。ICMLでは。
-
ラドフォード、A.、メッツ、L.、チンタラ、S. (2016)。深い畳み込み敵対的生成ネットワークを使用した教師なし表現学習。ICLRでは。
-
Reed, S.、Akata, Z.、Mohan, S.、Tenka, S.、Schiele, B.、および Lee, H. (2016)。どこに何を描くかを学びます。生理学研究所にて。
-
Reed, S.、Akata, Z.、Schiele, B.、Lee, H. (2016)。きめの細かい視覚的説明の深い表現を学習します。CVPRで。
-
Reed, S.、Akata, Z.、Yan, X.、Logeswaran, L.、Schiele, B.、および Lee, H. (2016)。敵対的なテキストから画像への生成合成。ICMLでは。
-
Reed, S.、van den Oord, A.、Kalchbrenner, N.、Bapst, V.、Botvinick, M.、および de Freitas, N. (2016)。制御可能な構造を備えた解釈可能な画像を生成します。テクニカルレポート。
-
レゼンデ、DJ、モハメッド、S.、ウィアストラ、D. (2014)。深い生成モデルにおける確率的バックプロパゲーションと近似推論。ICMLでは。
-
Salimans, T.、Goodfellow, IJ、Zaremba, W.、Cheung, V.、Radford, A.、および Chen, X. (2016)。GAN をトレーニングするための技術が改善されました。生理学研究所にて。
-
Szegedy、C.、Vanhoucke、V.、Ioffe、S.、Shlens、J.、および Wojna、Z. (2016)。コンピューター ビジョンの初期アーキテクチャを再考する。CVPRで。
-
Sønderby, CK、Caballero, J.、Theis, L.、Shi, W.、Huszar, F. (2017)。画像超解像度のための償却マップ推論。ICLRでは。
-
Taigman, Y.、Polyak, A.、および Wolf, L. (2017)。教師なしクロスドメイン画像生成。ICLRでは。
-
van den Oord, A.、Kalchbrenner, N.、Kavukcuoglu, K. (2016)。ピクセルリカレントニューラルネットワーク。ICMLでは。
-
van den Oord, A.、Kalchbrenner, N.、Vinyals, O.、Espeholt, L.、Graves, A.、および Kavukcuoglu, K. (2016)。PixelCNN デコーダーによる条件付き画像生成。生理学研究所にて。
-
Wah, C.、Branson, S.、Welinder, P.、Perona, P.、Belongie, S. (2011)。Caltech-UCSD Birds-200-2011 データセット。技術レポート CNS-TR-2011-001。
-
ワン X.、グプタ A. (2016)。スタイルと構造の敵対的ネットワークを使用した生成画像モデリング。ECCVで。
-
Yan, X.、Yang, J.、Sohn, K.、Lee, H. (2016)。Attribute2image: 視覚属性からの条件付き画像生成。ECCVで。
-
Zhao, J.、Mathieu, M.、LeCun, Y. (2017)。エネルギーベースの敵対的生成ネットワーク。ICLRでは。
-
Yan, X.、Yang, J.、Sohn, K.、Lee, H. (2016)。Attribute2image: 視覚属性からの条件付き画像生成。ECCVで。
-
Zhao, J.、Mathieu, M.、LeCun, Y. (2017)。エネルギーベースの敵対的生成ネットワーク。ICLRでは。
-
Zhu、J.、Kr ̈ahenb ̈uhl、P.、Shechtman、E.、および Efros、A. (2016)。自然画像多様体に対する生成的な視覚操作。ECCVで。