Open shimopino opened 4 years ago
[openreview.net] Lightweight Long-Range Generative Adversarial Networks
Self-Attentionを使用することなく,CNN層のみで大域的な依存関係を計算することのできるモジュールを提案している.考え方としてはTransformerの分野で提案されたSynthesizerと同じようなもので,Attention重みを正規分布からランダムに初期化して学習を進めていく.
入力段階でVGG16から得られた特徴マップを導入することで,学習を安定化・高速化を達成している.
画像生成に使用されているモデルはCNNをベースに提案されており,CNNの特性上画像の大域的な依存関係を補足することが難しい.
CNNを使用してこうした依存関係を補足するために,CNN層を多く積み重ねることで受容野を広げることが考えられるが,この方法では計算コストが増大してしまったり,最適化させることが難しくなってしまう.
本研究では,受容野を動的に変化させることのできる新たなモジュールを提案している.このモジュールでは以下のように,隣接するピクセルだけではなく,中心点から離れたピクセルも計算することができる.
また画像生成の過程にメタ情報を追加することで,学習プロセスを安定化させ,モデルを複雑にすることなく,学習速度を改善した.
本研究で提案しているモデルは,StackGANのように複数のGeneratorとDiscriminatorで構成されている.
この構造を採用した理由として,本研究で提案しているLightWeightモジュールではGANの学習が不安定になってしまいがち出会ったためである.
また高解像度な画像を生成する際に多階層の構造にすることで,正規分布から直接画像を生成するよりも,後続のGeneratorは1つ前のGeneratorが生成した荒い画像から生成することになり,正則化の効果が発揮されることが期待されるためである.
また各Discriminatorには,各層で生成された画像の色に一貫性があるかどうかを計算するColor Consistencyモジュールを採用している.
本研究で提案しているLightweightモジュールは,モデルに追加の計算コストを要求しない点で優れている.
まずは空間的な観点から大域的な依存関係を計算するモジュールを考える.
このモジュールの入力は以下の図のように2つ存在しており,(1)チャンネル数x高さx幅の次元を有する特徴マップhと,(2)特徴マップと同一の高さx幅を有する,正規分布から取得した学習パラメータであるw,である.
空間的な依存関係を計算するために,まずは特徴マップhのチャンネル数を高さx幅の次元数をもつチャンネル数の特徴マップnに変換する.
その後,特徴マップnを2次元形状に変換し,Softmaxを計算することで相関係数αを計算している.
正規分布から取得した学習パラメータwにはチャンネルの次元が存在していないため,特徴マップnと同じチャンネル数になるようにwを複製したあとでアダマール積を計算する.
これで空間的にどの部分に依存関係が存在しているのか計算することができたため,もとの入力された特徴マップhに対して,得られた重みを計算することで大域的な依存関係も考慮して特徴マップを計算することができる.
次にチャンネル方向に対して依存関係を計算する.
このモジュールの入力は以下の図用に2つ存在しており,(1)先ほどと同様にチャンネル数x高さx幅の次元を有する特徴マップhと,(2)特徴マップと同一のチャンネル数を有する,正規分布から取得したパラメータc,である.
計算の流れは空間的な依存関係を計算するときと同じである.
まずは特徴マップの高さx幅の次元数を,畳み込み層を使用してチャンネル数と同じ次元に計算する.その後で特徴マップzを2次元形状に変換し,Softmaxを計算することで相関係数βを計算している.
あとは先程同様に,学習パラメータcに対してチャンネル数分だけパラメータを複製し,特徴マップzに対してアダマール積を計算する.
これでどのチャンネルに依存関係が存在しているのか計算することができたため,もとの入力された特徴マップhに対して,得られた重みを計算することでチャンネル次元の依存関係を考慮して特徴マップを計算することができる.
画像生成においては,あるピクセルに対して隣接しているピクセルも,離れた位置にあるピクセルに対してもどのような依存関係が存在するのか補足することが重要である.
猫の画像を生成する場合には,猫の目や足は離れた位置に存在しており,この依存関係を補足できていなければ,それぞれ全く意味のない領域にそれぞれの物体が描画され,全体としてみると意味不明な画像になってしまいがちになってしまう.
本研究では,GANの学習を高速化させるために,生成する画像のカテゴリや物体の形状といったメタ情報をモデルに追加している.
これは,以下のように事前学習済みのモデルを通して得られた特徴量を入力に含めることで達成できる.
VGG16のようなネットワークの深い層から得られた特徴マップを使用することで,集約された空間的な情報のみを使用するにしている.これでメタ情報をそのまま使って,恒等関数のように画像生成することを防ぐことができる.
各種モデルとFIDや推論時間を比較すると,以下のように本モジュールは軽量かつ高速であり,大規模なモデルと同程度のFIDに達成している.
論文へのリンク
[openreview.net] Lightweight Long-Range Generative Adversarial Networks
著者・所属機関
投稿日時(YYYY-MM-DD)
1. どんなもの?
Self-Attentionを使用することなく,CNN層のみで大域的な依存関係を計算することのできるモジュールを提案している.考え方としてはTransformerの分野で提案されたSynthesizerと同じようなもので,Attention重みを正規分布からランダムに初期化して学習を進めていく.
入力段階でVGG16から得られた特徴マップを導入することで,学習を安定化・高速化を達成している.
2. 先行研究と比べてどこがすごいの?
画像生成に使用されているモデルはCNNをベースに提案されており,CNNの特性上画像の大域的な依存関係を補足することが難しい.
CNNを使用してこうした依存関係を補足するために,CNN層を多く積み重ねることで受容野を広げることが考えられるが,この方法では計算コストが増大してしまったり,最適化させることが難しくなってしまう.
本研究では,受容野を動的に変化させることのできる新たなモジュールを提案している.このモジュールでは以下のように,隣接するピクセルだけではなく,中心点から離れたピクセルも計算することができる.
また画像生成の過程にメタ情報を追加することで,学習プロセスを安定化させ,モデルを複雑にすることなく,学習速度を改善した.
3. 技術や手法の"キモ"はどこにある?
3.1 Architecture
本研究で提案しているモデルは,StackGANのように複数のGeneratorとDiscriminatorで構成されている.
この構造を採用した理由として,本研究で提案しているLightWeightモジュールではGANの学習が不安定になってしまいがち出会ったためである.
また高解像度な画像を生成する際に多階層の構造にすることで,正規分布から直接画像を生成するよりも,後続のGeneratorは1つ前のGeneratorが生成した荒い画像から生成することになり,正則化の効果が発揮されることが期待されるためである.
また各Discriminatorには,各層で生成された画像の色に一貫性があるかどうかを計算するColor Consistencyモジュールを採用している.
3.2 Long-Range Module
本研究で提案しているLightweightモジュールは,モデルに追加の計算コストを要求しない点で優れている.
Long-range module in spatial direction
まずは空間的な観点から大域的な依存関係を計算するモジュールを考える.
このモジュールの入力は以下の図のように2つ存在しており,(1)チャンネル数x高さx幅の次元を有する特徴マップhと,(2)特徴マップと同一の高さx幅を有する,正規分布から取得した学習パラメータであるw,である.
空間的な依存関係を計算するために,まずは特徴マップhのチャンネル数を高さx幅の次元数をもつチャンネル数の特徴マップnに変換する.
その後,特徴マップnを2次元形状に変換し,Softmaxを計算することで相関係数αを計算している.
正規分布から取得した学習パラメータwにはチャンネルの次元が存在していないため,特徴マップnと同じチャンネル数になるようにwを複製したあとでアダマール積を計算する.
これで空間的にどの部分に依存関係が存在しているのか計算することができたため,もとの入力された特徴マップhに対して,得られた重みを計算することで大域的な依存関係も考慮して特徴マップを計算することができる.
Long-range module in channel-wise direction
次にチャンネル方向に対して依存関係を計算する.
このモジュールの入力は以下の図用に2つ存在しており,(1)先ほどと同様にチャンネル数x高さx幅の次元を有する特徴マップhと,(2)特徴マップと同一のチャンネル数を有する,正規分布から取得したパラメータc,である.
計算の流れは空間的な依存関係を計算するときと同じである.
まずは特徴マップの高さx幅の次元数を,畳み込み層を使用してチャンネル数と同じ次元に計算する.その後で特徴マップzを2次元形状に変換し,Softmaxを計算することで相関係数βを計算している.
あとは先程同様に,学習パラメータcに対してチャンネル数分だけパラメータを複製し,特徴マップzに対してアダマール積を計算する.
これでどのチャンネルに依存関係が存在しているのか計算することができたため,もとの入力された特徴マップhに対して,得られた重みを計算することでチャンネル次元の依存関係を考慮して特徴マップを計算することができる.
Why are the long-range dependencies important in the image generation task?
画像生成においては,あるピクセルに対して隣接しているピクセルも,離れた位置にあるピクセルに対してもどのような依存関係が存在するのか補足することが重要である.
猫の画像を生成する場合には,猫の目や足は離れた位置に存在しており,この依存関係を補足できていなければ,それぞれ全く意味のない領域にそれぞれの物体が描画され,全体としてみると意味不明な画像になってしまいがちになってしまう.
Why does the long-range module work better?
3.3 metadata
本研究では,GANの学習を高速化させるために,生成する画像のカテゴリや物体の形状といったメタ情報をモデルに追加している.
これは,以下のように事前学習済みのモデルを通して得られた特徴量を入力に含めることで達成できる.
VGG16のようなネットワークの深い層から得られた特徴マップを使用することで,集約された空間的な情報のみを使用するにしている.これでメタ情報をそのまま使って,恒等関数のように画像生成することを防ぐことができる.
4. どうやって有効だと検証した?
各種モデルとFIDや推論時間を比較すると,以下のように本モジュールは軽量かつ高速であり,大規模なモデルと同程度のFIDに達成している.
5. 議論はあるか?