Open shimopino opened 4 years ago
[arXiv:2004.11437] Efficient Neural Architecture for Text-to-Image Synthesis
Douglas M. Souza, Jônatas Wehrmann, Duncan D. Ruiz
2020-04-23
Text2Imageタスクで提案されているモデル構造はどれも似た構造を採用しており、多段階の学習方式を採用している。
本研究では1対のGeneratorとDiscriminatorのみで学習を行うことができ、かつ既存手法よりも精度の高いモデルを提案した。またGANがテキストから画像を生成する際に、連続的な空間から画像生成を学習できるように文同士の補間を行う手法を提案した。
Text2Imageで高い精度を発揮しているAttnGANやDMGAN、SD-GANなどは多段階の学習方式を採用しており、学習過程が非常に複雑で計算速度も低下してしまう。
本研究ではBigGANを参考に1回の学習で対象の解像度の画像をしゅつりょくすることが可能なモデルを提案した。またGANが連続的な空間から画像を生成できるように、文章間の補間を行う新たな手法を提案した。
テキストの事前学習にはAttnGANで提案されたDAMSMを使用している。このモジュールは入力されるテキストと画像のペアをそれぞれの同じ特徴量空間に投影して学習を行うことで、意味の似ているペアは近くに、意味の似ていないペアは離れるような特徴量を得ることができる。
また本手法ではEncoderにGRUを採用しており、近年提案されている単語ベクトルも活用するモデルとは異なり、文の意味を内包している最後の隠れ層のみを文ベクトルとしてGANへの入力に使用している。
本研究では文ベクトルを離散空間ではなく連続空間に投影するために、文の補間を行うSentence Interpolation(SI)を提案している。
i番目の画像に紐づくn個の単語をSijで表現する。手法としてはn個の文に対応する0から1まで値をとるベクトルをランダムにサンプリングし、これを正規化して得られた重みをもとのn個の文にかけ合わせることで新たな文ベクトルを生成している。
この変換により文ベクトルの特徴量空間をより滑らかにでき、データ増強としての役割も有している。StackGANで提案されたConditioning Augmentationと比較すると、本手法は学習中にのみ適用するため、推論時に入力に対してランダム性を排した一定の出力を得ることができる。
GANにはBigGAN-deepを採用している。このモデルはSpectral NormalizationやConditional Batch Normalizationなどの手法が組み込まれている。また生成画像を制御するためにクラスラベルをベクトル表現に変換しており、本研究ではこのベクトルを文ベクトルに置き換えている。
元のBigGAN-deepはImageNetなどの大規模データセットを学習することを目的にしているため、本研究ではこのモデルをいくらか軽量化させる。
チャンネル数の基準を128から96に変更することで計算量を落としており、また勾配がSparseにならないように活性化関数をReLUからLeaky ReLUに変更している。
損失関数にはヒンジ損失を採用している。
Discriminator
Generator
Text2Imageでbaselineとして使用されているいくつかのモデルと精度の比較を行った。本モデルは多段階学習も複数のGANも必要としていないにも関わらず、ほかの手法を上回る精度を達成している。
baselineモデルと生成結果を比較してみても本手法がより文章に合った画像を生成できていることがわかる。
以下の図からわかるように本手法は明示的にdisentanglementな表現を学習させてはいないが、潜在ベクトルzを固定したまま文ベクトルを操作することで画像の編集が可能となっている。
SIを導入することで連続空間上でより滑らかなに画像を生成できるようになっている。
SIの効果を検証するためにSIを導入したモデルと導入していないモデルを学習させてISがどのように変化するのか検証した。結果として学習初期段階では大きな差は出ていないが、最終的な収束地点はSIを導入したモデルが上回っている。
SIにより文ベクトルがどのようにサンプリングされるのか検証するために、得られた256次元の文ベクトルをt-SNEで2次元に投影してサンプルの分布を確認した。SIを導入することで多様体上でより連続的に文ベクトルをサンプリングできていることがわかる。
また4つの文ベクトルから画像を生成(4隅の画像)し、互いの文ベクトルを補間して中間表現に対する画像を生成すると、本手法が文ベクトルの連続的な変化を反映した画像を生成できていることがわかる。
今後の方向性
DAMSMと同じマルチモーダルを考慮したモジュール
https://github.com/dougsouza/efficient-t2i
論文へのリンク
[arXiv:2004.11437] Efficient Neural Architecture for Text-to-Image Synthesis
著者・所属機関
Douglas M. Souza, Jônatas Wehrmann, Duncan D. Ruiz
投稿日時(YYYY-MM-DD)
2020-04-23
1. どんなもの?
Text2Imageタスクで提案されているモデル構造はどれも似た構造を採用しており、多段階の学習方式を採用している。
本研究では1対のGeneratorとDiscriminatorのみで学習を行うことができ、かつ既存手法よりも精度の高いモデルを提案した。またGANがテキストから画像を生成する際に、連続的な空間から画像生成を学習できるように文同士の補間を行う手法を提案した。
2. 先行研究と比べてどこがすごいの?
Text2Imageで高い精度を発揮しているAttnGANやDMGAN、SD-GANなどは多段階の学習方式を採用しており、学習過程が非常に複雑で計算速度も低下してしまう。
本研究ではBigGANを参考に1回の学習で対象の解像度の画像をしゅつりょくすることが可能なモデルを提案した。またGANが連続的な空間から画像を生成できるように、文章間の補間を行う新たな手法を提案した。
3. 技術や手法の"キモ"はどこにある?
3.1 Text Encoder
テキストの事前学習にはAttnGANで提案されたDAMSMを使用している。このモジュールは入力されるテキストと画像のペアをそれぞれの同じ特徴量空間に投影して学習を行うことで、意味の似ているペアは近くに、意味の似ていないペアは離れるような特徴量を得ることができる。
また本手法ではEncoderにGRUを採用しており、近年提案されている単語ベクトルも活用するモデルとは異なり、文の意味を内包している最後の隠れ層のみを文ベクトルとしてGANへの入力に使用している。
3.2 Sentence Interpolation
本研究では文ベクトルを離散空間ではなく連続空間に投影するために、文の補間を行うSentence Interpolation(SI)を提案している。
i番目の画像に紐づくn個の単語をSijで表現する。手法としてはn個の文に対応する0から1まで値をとるベクトルをランダムにサンプリングし、これを正規化して得られた重みをもとのn個の文にかけ合わせることで新たな文ベクトルを生成している。
この変換により文ベクトルの特徴量空間をより滑らかにでき、データ増強としての役割も有している。StackGANで提案されたConditioning Augmentationと比較すると、本手法は学習中にのみ適用するため、推論時に入力に対してランダム性を排した一定の出力を得ることができる。
3.3 Architecture
GANにはBigGAN-deepを採用している。このモデルはSpectral NormalizationやConditional Batch Normalizationなどの手法が組み込まれている。また生成画像を制御するためにクラスラベルをベクトル表現に変換しており、本研究ではこのベクトルを文ベクトルに置き換えている。
元のBigGAN-deepはImageNetなどの大規模データセットを学習することを目的にしているため、本研究ではこのモデルをいくらか軽量化させる。
チャンネル数の基準を128から96に変更することで計算量を落としており、また勾配がSparseにならないように活性化関数をReLUからLeaky ReLUに変更している。
3.4 Objective Function
損失関数にはヒンジ損失を採用している。
Discriminator
Generator
4. どうやって有効だと検証した?
Text2Imageでbaselineとして使用されているいくつかのモデルと精度の比較を行った。本モデルは多段階学習も複数のGANも必要としていないにも関わらず、ほかの手法を上回る精度を達成している。
baselineモデルと生成結果を比較してみても本手法がより文章に合った画像を生成できていることがわかる。
以下の図からわかるように本手法は明示的にdisentanglementな表現を学習させてはいないが、潜在ベクトルzを固定したまま文ベクトルを操作することで画像の編集が可能となっている。
SIを導入することで連続空間上でより滑らかなに画像を生成できるようになっている。
SIの効果を検証するためにSIを導入したモデルと導入していないモデルを学習させてISがどのように変化するのか検証した。結果として学習初期段階では大きな差は出ていないが、最終的な収束地点はSIを導入したモデルが上回っている。
SIにより文ベクトルがどのようにサンプリングされるのか検証するために、得られた256次元の文ベクトルをt-SNEで2次元に投影してサンプルの分布を確認した。SIを導入することで多様体上でより連続的に文ベクトルをサンプリングできていることがわかる。
また4つの文ベクトルから画像を生成(4隅の画像)し、互いの文ベクトルを補間して中間表現に対する画像を生成すると、本手法が文ベクトルの連続的な変化を反映した画像を生成できていることがわかる。
5. 議論はあるか?