自然言語から画像を自動生成することは、多くの芸術や設計におけるコンピュータ支援の分野での大きな課題となっている。そんな中、近年ではtext-to-imageにGANを用いた生成モデルが活発に研究されている。text-to-imageには文章全体をベクトルに変換し、そのベクトルを使用して画像を生成するものが一般的である。このような手法では表現力豊かな画像を得ることができる一方で、入力となる文全体のベクトルからは単語レベルの細かい粒度の情報が抜け落ち、詳細な画像の生成は未だ難しいのが現状である。この問題はCOCOデータセットのような、複雑なシーンを取り扱うときには顕著に現れてしまう。提案手法AttnGANAttnGANの概念図を下記に示す。AttnGANの概念図における表記について下記に示す。ノイズセンテンスベクトル単語ベクトルニューラルネットワークAttnGANと特徴は下記の2つである。modelこれら2つによって、文の意味を細部まで反映した高精細な画像の生成を可能にする。Model既存のText-to-ImageのGANでは、文全体を1つのベクトルに変換して、使用している。Modelでは、画像中の細かく区分けされた領域のうち特定の単語と最も関連性の強い領域を描画する。隠れ層の状態hと出力画像xの関係は下記の通りになる。文言認識モデルのFの挙動の概念図を下記に示す。単語ベクトルは意味空間上に展開され、その後隠れ層の状態hに基づいて小領域ごとの画像が生成される。hの各列は小領域ごとの特徴ベクトルとなっており、世代ごとの小領域の小領域の特徴ベクトルは下記のようにして算出される。i番目の単語がj番目の小領域に与える影響の重みを示している。下記のように算出し、次のFの入力の一部として扱う。Loss単語・文等のマルチレベルでの精細な画像生成のため、全体としての目的関数を下記のように定義する。ハイパーパラメータである。第一項はGANそのもののLossを表しており、下記で定義される。次にGenerator、DiscriminatorそれぞれのLossについて定義する。GeneratorとDiscriminatorに関するLossを下記に示す。lossは文とあっているかどうかに関するLossとなっている。DAMSMでは、画像中の小領域と単語の意味とを紐付けるために2つニューラルネットワークを使用し、画像と言葉としての意味の類似度を測定することで損失関数を算出する。概要を示した図を下記に示す。LSTMを使用することで、単語レベルと文レベルのベクトルを生成する。statesは2つあり、それぞれをつなぎ合わせることで単語の意味を表現する。statesがつなぎ合わされることで、文全体の意味を表すセンテンスベクトルを表現する。Encoder画像に対してはCNNによって、画像の意味を抽出したベクトルを生成する。中間層では局所的な特徴を抽出し、あとの層では全体の特徴を抽出する。modelを使用する。layerから局所特徴行列を抽出する。このとき、各カラムは画像の小領域の特徴ベクトルから構成されている。特徴ベクトルが768次元、小領域が289個に分けられ合計768×289の行列になる。layerから局所特徴行列を抽出する。最後に、下記の式によって、共通の意味空間上に変換する。scoreを算出する。i番目の単語とj番目の領域の類似度を表す。この行列を下記の式によって正規化する。小領域に対する意味を表すcは下記で計算される。scoreを算出する。lossは下記の式で算出される。ここで、単語レベルのLossはで表され、で表現される。同様に文レベルのLossについてもとすることで算出可能である。Lossを使用する妥当性について検証する。scoreとR-precisionに関して下記に示す。グラフの上段がCUB、下段がCOCOでの結果を表す。