DEIM Forum 2019 A5-3

コンテキストを考慮した画像生成のための敵対的生成ネットワークの提案
中村 玄貴†

馬強†† 京都大学大学院情報学研究科 〒 606–8501 京都府京都市左京区吉田本町
E-mail: †nakamura-kenki@db.soc.i.kyoto-u.ac.jp, ††qiang@i.kyoto-u.ac.jp
あらまし 近年，深層学習はあらゆる分野で用いられており，その研究も盛んに行われている．画像自動生成に関しては，特に敵対的生成ネットワーク (GANs) を用いた研究は注目を集めている．GANs を用いることで学習データと同じ分布を持った値をランダムに出力することが可能であり，本物と見紛うほど鮮明な画像を生成できる．これを拡張させた手法の一つにテキストと画像の組を学習させること入力されたテキストから画像を生成するモデル (conditional

GANs) があるが，入力されたテキストだけでなくコンテキストも考慮して画像生成を行う手法は我々の知る限りでは存在しない．本研究ではテキストと画像のペアからコンテキストに沿った鮮明な画像を生成する context-aware GANsを提案する．また，ユーザ実験を実施し提案手法を検証する．
キーワード 敵対的生成ネットワーク，コンテキスト，画像生成，マルチモーダルが本物の画像と見紛う画像を生成し，Discriminator は入力さ

1 はじめに
深層学習の研究は盛んに行われており，画像処理や自然言語処理の分野において著しい成果を残している [2] [10] [8]．特に近年，画像と自然言語をマルチモーダル空間で扱うことで相互生成する研究が盛んである [13] [11] [14]．画像からそのタグやテキストを生成する手法として，テキストそのものを出力する
手法や，画像を複数領域に分割して含まれる物体検出を行い，人間の理解可能な文章に仕上げる手法などがある．その一つとして，画像とテキストのペアを学習データとして用意し，画像を既存の膨大なニューラルネットワークから転移学習によって得られたベクトルへと変換して RNNs へ入力し，出力テキストを学習する手法が提案されている [8]．
画 像 生 成 の 既 存 手 法 に は オ ー ト エ ン コ ー ダ [5] を 用 い る

VAE [7] などがある．VAE ではオートエンコーダの潜在変数に確率分布を仮定することで，ニューラルネットワークが入力画像の特徴量を学習し，似た特徴を持つ画像を近いベクトルへと変換することを可能にする．デコーダ部分がその特徴を学習することで乱数から画像を生成することが可能になる．しかしデータによって大きくぼやけてしまったり，原型を留めていな
いものが出力されることも多い．Goodfellow らは入力データの分布を学習可能なフレームワークとして GANs(敵対的生成ネッ
トワーク) を提案している [2]．GANs は画像生成の領域に大きな影響を与えた．GANs は既存手法に比べ，より鮮明な画像生成を可能にしたため，現在の画像生成研究に用いられるもっとも主要なフレームワークとなっている．GANs は訓練データの分布を推定する生成器の Generator と入力値が訓練データの分布から得られた確率を推定する識別器の Discriminator と呼ばれる二つのニューラルネットワークが相互学習するフレームワー
クである．画像生成に用いる場合，Generator は Discriminator

れた画像が，Generator より生成された偽物であるか，訓練
データに含まれる本物の画像であるかの識別を行う．この二つのニューラルネットワークを交互に学習することで，Generator
が本物と似た偽物画像を生成可能になる．

Radford らはさらに鮮明な画像生成を行うために，GANs に
畳み込みニューラルネットワークを組み合わせて多層化することでモデルの学習を安定化させる手法を提案している [10]．

Reed らは GANs の入力であるノイズに加え，テキスト情報を入力とすることで，それに対応した画像を自動生成するモデルを提案している [11]．Karras らはネットワークの全てのパラメータを同時学習させるのではなく学習過程で層を追加していくことで画像全体の特徴と詳細部の特徴を同時に学習して高解像度な画像を生成するモデルを提案している [6]．
しかし，我々の知る限りではテキストに加えて別の画像を入力として画像を生成する研究はまだない．テキストのみの入力では実用的でないケースが存在する．テキストで表現可能な情報には限りがあるため明確でない情報が含まれることがある．
例えば，「男が座っている．
」というテキストに対して，どのような男であるか，どのような椅子に座っているのかなどはテキス
トから知ることができない．これらの情報を別の画像から補うことで適切な画像を生成することは有用である．画像生成を行う場面においてテキストのみが存在する場合は少なく，その前
後にコンテキストとなる別の画像やテキストが存在していることが多い．それらの情報を考慮し，コンテキストに即した画像を生成すべきである．Reed らの提案している手法を用いて一つのテキストから画像を生成することは可能であるが，コンテキストを考慮できないため，その場面には不適合な画像を生成してしまう場合がある．
本研究では，テキストに加えて入力する画像をコンテキスト
画像と呼び，テキストの内容を反映したまま，曖昧な情報を入力画像から補うことでユーザの求めるコンテキストに適した画

min max V (D, G) = Ex∼pdata (x) [log D(x)]G

像生成手法を提案する．本研究では，コンテキストを，入力画

D+ Ez∼pz (z) [log(1 − D(G(z)))](1)

像にあるが，入力テキストに明記されていないオブジェクトや背景として定義する．コンテキストと入力テキストを出力画像に反映させるために，コンテキストに基づいてノイズを生成する手法を提案する．

2. 2 テキストから画像生成
従来の GANs では，画像はランダムに生成される．これに対して，Reed らはテキストに対応する画像を生成するモデルを提テキストと画像に記述されているオブジェクト及びその階層案している [11]．テキストと画像により描写される情報をマル

関係を表現するオブジェクト木を構築し，比較することで，コチモーダル空間へ射影できればテキストと画像の対応関係を抽ンテキストを抽出する．抽出されたコンテキストに応じて入力出することができる．これを利用して Reed らは Conditional

ノイズを確率的に求めて，コンテキスト反映した画像生成で

GANs を提案している．しかしながら，ランダムノイズとベク

きるようにする．さらに，Context Discriminator を構築して，トル化されたテキストを GANs への入力とするだけではテキコンテキストと入力テキストに沿った画像の生成を試みる．

ストに沿った画像を生成することが難しいため，Conditional

鮮明な画像を生成するため，Karras ら提案している Progres-

GANs では以下の二つの手法を提案している．

sive GANs [6] を用いる．画像の生成を複数ステップに分けて，（ 1 ） Matching-aware discriminator (GAN-CLS)

直前のステップで学習したパラメータを現ステップの初期値とGANs の Discriminator の損失関数は入力値が学習データセッ

して利用する．しかしながら，コンテキストを考慮した Dis-

トの分布からサンプリングされたものか Generator の出力でcriminator の導入によってネットワークが複雑になり，学習があるかを判定する．ナイーブな GANs をそのまま適用した際，困難となるため，解像度の低い画像を生成する Context-aware

Discriminator は入力が [本物の画像, 本物のテキスト] か [偽GANs の浅い層のみでコンテキストの内容が反映されているか物の画像, 任意のテキスト] のどちらかを判定することになる．

どうかの判定を行い，その後の層は解像度の向上にフォーカス

Conditional GANs では，これを，入力値が訓練データセット

するネットワーク構造を提案する．

からサンプリングされたものかつテキスト情報と一致したもの

本論文の構成は以下である．第２節では関連研究について紹であるかの判定を行うよう変更する．すなわち，判定される組介する．第３節で提案手法の詳細を述べる．第４節で実験結果

み合わせは [本物の画像, 本物のテキスト] か [本物の画像, 任とその考察について述べる．第５節でまとめと今後の課題につ意のテキスト] か [偽物の画像, 任意のテキスト] のいずれかにいて述べる．

なる．よって，Conditional GANs の損失関数は以下のようになる．

2 関連研究2. 1 画像自動生成
Goodfellow らは画像生成に適したフレームワークである
Generative Adversarial Networks (GANs) を提案している [2]．
GANs は Generator と Discriminator と呼ばれる二つのニュー

sr = D(x, h) {real image, right text}(2)

sw = D(x, ĥ) {real image, wrong text}(3)

sf = D(x̂, h) {f ake image, right text}(4)

LD = log(sr ) + (log(1 − sw ) + log(1 − sf ))/2

(5)

ラルネットワークから構成されている．Generator は訓練デー[本物の画像, 本物のテキスト] の組み合わせに対する Disicrim-

タセットの分布を学習してそれに基づいて偽のデータを生成し，

inator の出力が sr ，[本物の画像, 任意のテキスト] に対する出Discriminator は与えられたデータが Generator から生成され力が sw ，[偽物の画像, 任意のテキスト] に対する出力が sr でたものであるか真のデータであるかを識別できるように学習すある．

る．Generator が Discriminator を騙せるようにデータ生成の（ 2 ） Learning with manifold interpolation (GAN-INT)

精度を向上させながら，Discriminator は Generator に騙され学習データセットに用意されているテキストには限りがある．

ないように識別の精度を向上させる，といった学習を同時に実

しかし，実際ユーザにより入力されるテキストはデータセット

行する．この最適値を直接演算することはできないため，誤差に存在するものとは限らない．そのため，学習データセットの逆伝播法を用いて近似解を求めることが多い．

テキストの特徴ベクトル間の補完を行い，それも訓練データとGANs を画像生成に用いた場合，Generator より出力されるすることで多様性のある画像を出力可能にする．

値は本物の画像と見紛うほど鮮明な画像になるように訓練する．

Discriminator の役割は入力される画像がデータセットに含まれる本物であるか，Generator から生成された偽物であるかを[0,1] の確率を出力して判別することである．言い換えれば，これらは 2 プレーヤのミニマックスゲームであり，以下のように定式化できる．

Et1 ,t2 ∼pdata [log(1 − D(G(z, βt1 + (1 − β)t2 )))]

(6)

t1 , t2 は訓練データに存在するテキストの埋め込み表現である．βt1 + (1 − β)t2 により，二つのテキスト間の表現を獲得する．これを Generator に入力して画像を出力する補完されたベクトルには対応する本物の画像が存在しないため，このテキストで Discriminator を学習させることはできない．しかしDiscriminator は画像とテキストの組み合わせが適切であるかを判定するため，Discriminator の学習が適切に進んでいれば，判定器として，画像が鮮明かつテキストに即しているかを判Generator は学習データセットに存在しない補完されたベクト

定する Discriminator と，コンテキストを考慮しているかを判ルに対してもその差分を学習し，これにより多様な画像が生成定する Context Discriminator の二つを用いる．それぞれの詳可能になる．

細は 3. 5 を参照のこと．Context-aware GANs のモデルにはProgressive GANs を用いる．学習が進むにつれ，層を追加し，

2. 3 より鮮明な画像生成

より高解像な画像生成を行なっていく．

Karras らは GANs を学習する際に全てのパラメータを同時に学習するのではなく，低解像度の画像を生成することから開3. 1 データセット

始して学習を進めながら新たな層を加えていくことにより，全本論文ではデータセットとして Antol ら [1] により提供されてのパラメータが最適な値に近づくことでより鮮明な画像を生るデータセットの第二版 (図 2) を使用する．第二世代のデータ成する手法を提案している [6]．この漸増的な学習方法により学

セットはより多くのオブジェクトがあり人間の姿勢をより細か

習前半では画像分布の大枠を捉えて，その後より細かな特徴のく設定できるため，よりリアルな抽象画像が提供されている．

学習へと移行していく．学習過程を通して存在している層は全

本研究では 20,000 枚の訓練画像とそれぞれの画像に付与されて学習可能であり，新たに追加される層のパラメータは He のている 5 つの説明文，および画像に写っている人やオブジェク

初期化 [3] により決定される．

トのタグ情報を用いる．

新たな層を追加する際，現存の出力を直接新規層の入力とす

実写画像に比べ，抽象画像は曖昧な情報が少ないため，人のると出力の変化が大きくなり効率的でないため，層の追加直後

感性などに依らない合理的なタグやテキストの付与が行いやすは Residual Block [4] のように一層前の出力値と現在の層の出

く，適切なデータが用意されている．また背景は単純であるた

力値を組み合わせた値を出力として，層の追加による影響を滑め，より綺麗な画像を生成することが可能である．

らかに与える．

3. 2 テキストエンコーダ
テキストの分散表現は対応する画像の分散表現に近くなるべi

i−1

Output(i) = αtoRGB(G (z))+(1−α)toRGB(upscale(G(z))) きという点に注目する．テキストと画像を同じマルチモーダル(7)空間へ射影するエンコーダを作成する．

あるサイズ層の学習後，解像度の大きい層を入力とする際，Hinton らはデータの次元数を減らした分散表現を獲得する

値の変化を滑らかに行うために式 7 のように，追加前の層の出手法としてオートエンコーダを提案している [5]．オートエン

力値 Gi−1 (z) を拡大したものとの重み付き平均を出力値とす

コーダはエンコーダとデコーダからなる．エンコーダはデータ

る．この時，出力が画像となるよう RGB へと変換してから平の次元数を減らし，Decoder はその次元削減されたベクトルを均をとる．toRGB は出力された channel 数が 3 つになるよう入力として元のデータを復元する．デコーダがデータを復元すに畳み込むことで RGB 画像へ変換する 1 × 1 の畳み込み層でることで，次元削減されたベクトルは元のデータの特徴を含むある．以下にこの手法の過程を示す．

ように圧縮されることを担保する．損失関数は以下の通り．

（ 1 ） 学習データセットから 4 × 4, 8 × 8, ..., 2i × 2i のサイ

L = ||D(E(x)) − x||2ズの画像を作る．
（ 2 ） 4 × 4 の画像を生成する GANs を構築し学習を進める．
（ 3 ） 学習が進んだ後，式 7 に基づきサイズの一つ大きな層を追加する．層の追加と学習を一定回数繰り返す．

3 提案手法(8)

エンコーダにより得られたベクトル E(x) をデコーダ D へ入力し，画像を復元する．同じ画像が復元されるよう，全画素を比較した二乗誤差が最小になるよう 8 を損失関数とする．疎なベクトルやテンソルデータを密なベクトルへ変換することで転移学習に用いられる．

本研究では Conditional GANs [11] を拡張し，テキストとコ

我々の提案手法では，はじめにオートエンコーダを用いて画

ンテキスト画像を入力として，その両方を考慮した画像生成を

像をエンコードする．その後，対応するテキストが同じマルチ行う手法を提案する．コンテキストの分布に基づいた潜在分布

モーダル空間上で近い位置に射影されるようにテキストエン

からノイズをサンプリングし，テキストとコンテキスト画像がコーダを学習する．入力画像をエンコーダを用いて低次元へと射影されたマルチモーダル空間からテキストの分散情報を得

圧縮し，これをデコーダへの入力として元の画像を復元する．

て，それらを入力することでその両方に即した画像を生成する

Context-aware GANs を提案する．

v = E(x)(9)

変換したものと，テキストと入力画像から得られたコンテキ

y = D(v)(10)

ストから潜在分布を仮定し，そこからサンプリングされたノここで x は入力画像，v はオートエンコーダにより得られる

イズを結合したものを Context-aware GANs の入力としてい次元削減された埋め込み表現，y は出力画像である．E, D はる．詳しい入力の変換方法は次節 3. 3 を参照のこと．画像のそれぞれ CNN からなるエンコーダ，デコーダである．式 8 を

図 1 のようにテキストをエンコーダにより埋め込み表現に

図 1 Context-aware GANs の全体図

め，入力される順序が大切であり，その入力された系列を記憶する必要がある．LSTM は現在の入力値と，前の段階までで入力された値から演算を行い次のステップでの出力値を決定する．
ここではテキストの各単語を GloVe [9] を用いてベクトル列とし，順に入力していく．しかし，我々は実験により，LSTM
でテキストを入力していく際，テキストの長さがあまりに異なっている場合，特に長すぎる場合，学習がうまく進まないことを発見した．そこで，長いテキストに対しても頑健なエンコードを可能にするため，Stanford NLP で提供されている構

図 2 使用するデータセット例 [15]

文解析器を用いてグラフ構造を LSTM の入力へするようにした．Stanford NLP により文章から単語間の関連が取り出され損失関数として学習させる．
その後，学習済みのオートエンコーダのエンコーダから生成る．例えば「男がグラウンドを走る．
」であれば，[’ 主語述語のされたベクトルの存在する空間へ，テキストを射影するモデル

関係’,’ 男’,’ 走る’]，[’ 場所を表す関係’,’ グラウンド’,’ で’] のよを構築する．Reed らのモデルと異なり，画像ベクトルを固定うになる．このそれぞれを LSTM への一回の入力とする．単語および関係をそれぞれ 200 次元にすれば，LSTM への 1 ス

して学習を行うので損失関数は以下のようになる．

テップの入力は 600 次元となる．

1 ∑∆(yn , ft (tn ))
N n=1
N

(11)

3. 3 入力

テキストと画像を同じマルチモーダル空間で学習することが可能である．これにより得られたテキストの埋め込み表現を
オートエンコーダのデコーダに入力すると，対応する画像に近しい画像が出力される．これにより獲得された中間表現を画像のベクトルとし，これが存在する空間へテキストをマッピング
する．
テキストをエンコードするモデルとして RNN(Recurrent

Neural Network) の拡張である LSTM(Long short-term memory) を用いる．LSTM は時系列データから特徴を学習することに適したニューラルネットワークの構造の一種である．画像とは異なり，テキスト中のある単語に注目するとどのような文脈で出てきているのか，前後の単語の関係が重要である．そのた

図 3 入力値の与え方

Context-aware GANs では，入力値は出力画像にランダム性を持たせるためのノイズ，入力テキストの埋め込み表現，入力
画像とそのメタデータがある．ノイズは正規分布より抽出されるベクトルであり，テキストの埋め込み表現は LSTM により圧縮された分散表現である．入力画像とテキストに記述されている物体・背景を比較して，コンテキストを表現する 0 と 1 からなる疎なコンテキストベクトルを生成する．コンテキストベ
クトルを入力と，ノイズ z を生成し，これを入力テキストの埋図 4 人のオブジェクトに関するオブジェクト木

め込み表現と合わせて，Generator の入力とする．
ノイズは通常正規分布より取得される．これを変更し，図 3のようにコンテキストの埋め込み表現に従った潜在分布を仮定
しサンプリングを行う．この分布から抽出されたベクトルを入かる．これにより明示されていない情報をコンテキスト画像の情報から補完する．コンテキスト画像に「赤い服の若い男性」と「青い服の老女」が写っているような場合に，「男が座ってい力とすることで，入力に近しい出力画像の生成を行う．

る」というテキストが入力された時に，男は「赤い服の若い男
性」とわかるので，これを補って生成したい画像を定める．今z ∼ qϕ (z|c(i) )(12)回使用するデータセットには出てくるオブジェクトが決められ

x ∼ pθ (x(i) |z)(13)ているため，そのオブジェクトを階層的に分類しオブジェクト
木を構築する．

この最適な潜在分布に近づけるために qϕ (z|c(i) ) と pϕ (z) のテキストについてどこまでが明示されているかの正確なラベ

KL Divergence を正則化項として加える．潜在分布を見つける

ル付けは存在していないため，テキストのついている画像のタ

ために VAE に用いられる方法を導入し，z をコンテキストのグ情報からオブジェクト木を構築する．今回のデータセットの入力値の分布に従った正規分布から抽出する．ここで以下の条テキストでは葉までの判定は不可能であるため，人については件に注目する．

elderly, young, boy, girl, baby までを予測するモデルを構築する．

z ∼ N (µ, Σ) ⇔ z = µ + ϵΣ

(14)

ただし ϵ ∼ N (0, 1) である．ここで µ および Σ はコンテキス
トの埋め込み表現を全結合層に入力し得られた値になる．

人を例にとる．まずテキストから’male’ が画像に含まれる確率，’female’ が画像に含まれる確率を予測するモデルを構築する．ここで，画像内には複数の人物が含まれ得るので出力値はsigmoid で確率の値へと演算する．それぞれの出現確率を独立して計算する．モデルの学習後，次の要素の予測を行う．そのµ = f c1(c)(15)

際に，elderly, young, boy, girl, baby の出現確率が出力値にな

Σ = f c2(c)(16)

るようにのみ変更したモデルで学習を行うが，最終的な確率はこのモデルの出力値に一つ上の要素の確率をかけたものとする．

f c1，f c2 はそれぞれ異なった全結合層である．入力値は式
14 により得られたノイズ z とテキストの埋め込み表現を結合したベクトルとなる．

Ti,t = σ(fi (t))σ(fi−1 (t))(17)

ここで Ti,t はテキスト t を入力した時の深さ i の出力確率

3. 4 コンテキストの抽出
ここではコンテキストの定義を「コンディション (テキスト)
では明示的に指定されず，コンテキスト画像に現れて出力画像に含まれたいコンセプト」であるとする．そのため，テキストに明示されている情報と明示されていない情報を抽出する必要がある．
本研究では，テキストと画像に記述されているオブジェクトを表すオブジェクト木をそれぞれ構築して比較することでコン
テキストを抽出する．オブジェクト木では，画像やテキストに登場するオブジェクトとその動作及びオブジェクトの階層関係を表しており，葉ノードは具体的なパーツ（??節を参照されたい）に対応する．人についての木構造は図 4 のようになる．
例えば，「男が座っている」というテキストからは出力画像に映るべき人物は’male’ であることがわかり，「老婆が座っている」というテキストからは’female’ の’elderly’ であることがわであり，fi は深さ i のオブジェクトが出現する確率を出力する
ニューラルネットワークである．

3. 5 Context Discriminator
GANs の通常の Discriminator に加え，出力画像がコンテキストを反映しているかを判定する機構を加える．Generator から生成された画像に記述されているオブジェクトを抽出し，入力部で生成されたコンテキストベクトルと比較する．
入力画像に写っているオブジェクトやその動作等を認識する
先行研究は存在しており，本研究で用いるデータセットを用いた画像認識の研究も存在している [12]．しかしながら，本提案手法では画像をより鮮明に出力するために Progressive GANs(??
参照) を用いる．低解像度の画像からスタートしてパラメータを学習しながら層を追加していき，徐々に大きな画像生成を行う．学習過程で出力される画像の解像度が変わっていくことがAlgorithm 1 Training algorithm of context discriminator
Input: minibatch images xres

(image size:2res × 2res ), mini-

ンテキスト判定器があれば，この出力値もしくは中間表現をGenerator への入力として扱うことが可能である．

batch context images c
Require: α:learning rate

4 Context-aware GANs

1: for i = 2 to 6 do
2:
3:

4:
5:

if i = 2 then

本節ではマルチエンコードベースの Context-aware GANs

Construct CD by using CNNs (stride=2) with sigmoidのアルゴリズムを説明後，Generator と Discriminator の構成

function {CD = Context Discriminator}

について記述する．

else
Add CNNs (stride=2) to CD based on 7

6:

end if7:

for n = 1 to N do

Generator と Discriminator は Progressive GANs に基づいた構成になっている．特定の解像度を生成するネットワークの学習後，層を追加し，より大きな解像度の画像を生成できるよ8:

LCD = c ∗ −log(CD(xi )) + (1 − c) ∗ −log(1 − CD(xi ))う学習する．学習では一定 epoch 毎に層を追加していく．よっ9:CD ← CD − α∂LCD /∂CDてアルゴリズム 2 のようになる．

10:

end for

11: end for

Algorithm 2 Training algorithm of context-aware GAN
model
Input: minibatch images xres (image size:2res × 2res , res =一つの特徴である．既存のオブジェクトを認識するモデルは入力画像の解像度の変更に対応していないので，Discriminator

2 ∼ 8), minibatch matching texts t, minibatch mis-matching textsbt, minibatch original context images c, minibatch other contextにそのまま追加することができない．入力サイズの変化に対応

images c′
Require: G:Generator, D:Dicriminator, DC :Context Discrim-

可能なコンテキストを判定するニューラルネットワークを用いることが必要である．

Progressive GANs へコンテキスト情報を反映する損失関数
を加えることを考える．Progressive GANs は入力サイズの変化に対応可能なネットワークであるため，各層にさらにコンテ

inator, I:Fully-Connect layer for input context, α:learning rate,β, γ:The weights of context and KL-Divergence.
1: res = 2
2: for i = 1 to N × 7 do
3:

キスト判定のネットワーク（Context discriminator) を導入すµ, Σ ← I(c)4:z ← µ + ϵΣ (ϵ ∼ N (0, 1))

るのが困難であり，パラメータ学習の収束しない可能性が高5:µ′ , Σ′ ← I(c′ )い．そこで，本研究では，コンテキスト情報を反映する損失

6:z ′ ← µ′ + ϵΣ′関数を Progressive GANs の浅い層に導入する手法を用いる．

7:xbres ← G(z, t) {Forward through generator}

Progressive GANs は浅い層で出力画像の外観を決め，深い層8:xb′res ← G(z ′ , t) {Forward through generator}

でより画像を鮮明にしていく．つまり，どのような画像が生成されるかは浅い層での値で決まっていると考えられる．そのた

10:

sr ← D(x, t) {real image, right text}sw ← D(x, bt) {real image, wrong text}

9:

11:

め，コンテキスト情報を反映する損失関数は浅い層でのみ導入

sf ← D(bxres , t) {fake image, right text}

12:′s′f ← D(bxres, t) {fake image (other context), right text}

すれば良いと考えられる．

13:d ← DC(bxres )

Progressive GANs に対応できるよう，4 × 4，8 × 8，16 × 16，

14:

判定を行うようなニューラルネットワークを構築する．
．
アルゴリズム 1 に従い Context Discriminator を学習する．
２行目から６行目では層の追加を行う．ストライドが２の畳み込み層を追加していくことで，学習を進めるにつれ高解像度のce ← c×− log(sigmoid(d))+(1−x)×− log(1−sigmoid(d)){Context Cross Entropy}

32 × 32，64 × 64 のそれぞれの画像について層を追加しながら15:kl ← KL(µ||Σ)16:LD ← sr − (sw + sf )/2 {Discriminator Loss Function}

17:

D ← D − α∂LD /∂D {Update Discriminator}

18:

LG ← sf + s′f − βce − γkl

19:I ← I − α∂LG /∂I

画像を入力できるようにする．７行目から１０行目で Context

20:

G ← G − α∂LG /∂G {Update Generator}

Discriminator とタグから取得されるコンテキストとの交差エ21:

if i%N == 0 then

ントロピーを計算し，パラメータを調整していく．

22:

Context Discriminator は最大で解像度 64 × 64 の画像のコンテキストを判定可能である．Context-aware GANs に導23:

res += 1
end if

24: end for入する際も，このパラメータを固定値として与えることで，

Progressive な学習を行うことがでいる．

１行目で res = 2 として，学習を解像度 2res × 2res の画像か

このモデルはコンテキストを判定することに加え， Gener-

ら始める．３行目でコンテキストに即した潜在分布の平均 µ とator へコンテキスト画像の入力値を決定することにも使用可

分散 Σ を計算する．４行目では µ と Σ を用いてコンテキスト能である．今回はデータセットに用意されているタグ情報を用に従ったノイズ z を生成する．５，６行目では訓練データセッ

いてコンテキスト画像の情報を取得しているが，このようなコトに存在しないコンテキストからノイズ z ′ を生成する．

７行目で生成される x
bres は画像とそのテキストを入力した際の出力画像である．８行目で生成される xb′res は画像およびそれと一致しないテキストを入力した際の出力画像である．x
bres はx が正解画像であるが，xb′res に関する正解例は存在していない．
９行目から１１行目は Reed らの提案する Matching-aware

表 1 実験で用いたパラメータ
学習率 α

0.002

Context Discriminator の重み β0.2

KL-Divergence の重み γ1

それぞれの解像度でのエポック数

600 epoch

discriminator に相当する．１２行目は xb′res とテキストを入力とした Discriminator の出力であり，Generator の学習のみに使われる値である．１３行目は Context Discriminator の出力値である．
１４行目は Context Discriminator の損失関数である．１５
行目はコンテキストに従った潜在分布が作成されるようにネッ
トワークの KL-Divergence を求めている．１６行目から２０
行目で Generator と Discriminator の損失関数を定義して学習を行なう．Context Discriminator と KL-Divergence の重みをそれぞれ β, γ としている．最適化関数として Adamoptimizerを使用している．２１行目から２３行目で，一定学習後に扱う
画像の解像度を拡大する処理を行なっている．

5 実験結果と考察
5. 1 実 験 概 要
提案手法がテキストとコンテキスト画像に関連した画像を生成しているかを確認するため，conditional GANs [11] との比較実験を行なった．データセットとして Antol らの提供してい図 5 Context-aware GANs の出力画像

る Abstract Scene image [1] を用いた．
複数の入力テキスト・コンテキストに対して，conditional

表 2 ユーザ実験による出力画像との関連度

GANs [11]，コンテキストをノイズ・テキストと単純結合したモデル，提案手法の三つを用いて画像生成を行なった．七人の大学生・大学院生にユーザ実験を行ってもらった．ユーザにそ入力テキストとのれぞれの出力画像が，テキスト・コンテキストとそれぞれ合っ

関連度平均ているかを五段階評価してもらった．その平均値，および三以

入力画像との上を満足度が高いものとしてその確率の計算を行なった．

関連度平均

本節では実験に用いた環境とパラメータの設定値を記述する．
計算を行なっている．batchsize について解像度が高くなるほ

対してユーザが満足した割合像度が上がるにつれ，一度に学習できるデータが少なくなるた

入力画像にめ，学習時間は長くなる．それぞれの解像度ごとに batchsize

対してユーザがを次のように設定している．4 × 4 : 256, 8 × 8 : 256, 16 × 16 :

満足した割合•OS:Ubuntu16.04•

CPU:Intel(R) Xeon(R) CPU E5-1650 v4 @ 3.60GHz•

GPU:GeForce GTX 1080 Ti x 4•

Deep Learning Framework:tensorflow==1.5.0

6. 1 ユーザ実験結果と考察

DCA-GANs

2.85

3.48

3.01

2.47

3.09

3.19

DCA-GANs

Conditional

SimpleGANs

DCA-GANs

0.50

0.77

0.70

0.46

0.69

0.72

0.23

0.50

0.54

DCA-GANs

入力テキストにど使用メモリが増えるため少なくする必要がある．よって，解128, 32 × 32 : 64, 64 × 64 : 32, 128 × 128 : 16, 256 × 256 : 8．

SimpleGANs

表 3 ユーザ実験の満足度

6 実験環境以下のように，実験では GPU が 4 枚あるサーバを用いて並列

Conditional

入力テキストと入力画像の両方に対してユーザが満足した割合の平均値である．また表 3 は評価値が三以上であればユーザは出力画像に満足したとみなした場合の割合である．既存手法に

図 5 のように四つの入力テキスト・四つの入力画像の計十六比べ，いずれの場合もスコアが高くなっているため，提案手法

ペアに対してユーザが五段階評価を行った．表 2 は五段階評価

はコンテキストを反映していることがわかる．特に提案手法は

表4

出力画像のバリエーション

Reed らの提案手法

0

SD context-aware GANs 0.0012
D context-aware GANs

0.0041[2]

コンテキスト画像との関連が高い画像が生成できている．

6. 2 出力画像のバリエーションと考察[3]′
2
Ec,c′ ∼Pdata (c),c=c| ′ ,c∈C,c′ ∈C ||G(t, c) − G(t, c )||(18)

式 18 に従い，それぞれの手法でコンテキスト画像を変化さ[4]せた時の出力画像のバリエーションを計算した際の結果を表 4に示す．我々の提案手法では出力画像が最もバリエーションを持っていることがわかる．

[5]

7 まとめと今後の課題[6]

本研究では，Conditional GANs を拡張して，コンテキストを考慮した画像生成を行うための Context-aware GANs を提[7]案した．テキストと画像などのマルチ入力間の関連性を考慮した画像生成モデルを構築した．テキストと画像に記述されて[8]

いるオブジェクトとその動作及び階層関係を表現するオブジェ
クト木を構築し，比較することで，コンテキストを抽出する．
抽出されたコンテキストに応じて入力ノイズを確率的に求めて，コンテキスト反映した画像生成できるようにした．karras
らの提案する Progresive GANs [6] に Reed らの Conditional[9]

GANs [11] を組み合わせたモデルに，コンテキストに応じてノイズの抽出される潜在分布を変換させたり，コンテキスト判定器を導入したりして，入力テキストと画像の両方を反映した画像を生成できるように試みた．

[10]

Antol らの提供しているデータセットを訓練データとして従来手法と提案手法の比較を行った．本研究における提案手法は[11]

従来手法よりもコンテキストとの関連の強い画像を生成することが可能であることが分かった．
以下に実験から得られた今後の課題を列挙する．

•

マルチモダール空間の構築手法とそれを利用したマルチ[12]

エンコーダーの改善を行い，コンテキストの抽出・特定手法を
その他のデータセットにも適用可能にする．

•

マルチエンコーダーの改良や誤差関数の再検討を行い，コンテキスト判定器の精度を向上させる．

•

[13]

テキストの埋め込み表現が画像すべてを表現する情報を持つように圧縮されている．コンテキストも入力するために，
テキストから真に必要な情報のみを取り出せるようにする．

8 謝

[14]

辞

本研究の一部は総務省 SCOPE(172307001) による．

文

献[1] S. Antol, A. Agrawal, J. Lu, M. Mitchell, D. Batra, C. L.

[15]

Zitnick, and D. Parikh. VQA: visual question answering. In
2015 IEEE International Conference on Computer Vision,
ICCV 2015, Santiago, Chile, December 7-13, 2015, pages
2425–2433, 2015.
I. Goodfellow, J. Pouget-Abadie, M. Mirza, B. Xu,
D. Warde-Farley, S. Ozair, A. Courville, and Y. Bengio.
Generative adversarial nets. In Z. Ghahramani, M. Welling,
C. Cortes, N. D. Lawrence, and K. Q. Weinberger, editors, Advances in Neural Information Processing Systems
27, pages 2672–2680. Curran Associates, Inc., 2014.
K. He, X. Zhang, S. Ren, and J. Sun. Delving deep into
rectifiers: Surpassing human-level performance on imagenet
classification. In 2015 IEEE International Conference on
Computer Vision, ICCV 2015, Santiago, Chile, December
7-13, 2015, pages 1026–1034, 2015.
K. He, X. Zhang, S. Ren, and J. Sun. Deep residual learningfor image recognition. In 2016 IEEE Conference on Computer Vision and Pattern Recognition, CVPR 2016, Las
Vegas, NV, USA, June 27-30, 2016, pages 770–778, 2016.
G. E. Hinton and R. R. Salakhutdinov. Reducing thedimensionality of data with neural networks. science,
313(5786):504–507, 2006.
T. Karras, T. Aila, S. Laine, and J. Lehtinen. Progressive
growing of gans for improved quality, stability, and variation. CoRR, abs/1710.10196, 2017.
D. P. Kingma and M. Welling. Auto-encoding variational
bayes. CoRR, abs/1312.6114, 2013.
T. Mikolov, I. Sutskever, K. Chen, G. S. Corrado, andJ. Dean. Distributed representations of words and phrases
and their compositionality. In Advances in Neural Information Processing Systems 26: 27th Annual Conference on
Neural Information Processing Systems 2013. Proceedingsof a meeting held December 5-8, 2013, Lake Tahoe, Nevada,
United States., pages 3111–3119, 2013.
J. Pennington, R. Socher, and C. D. Manning. Glove:
Global vectors for word representation. In Proceedingsof the 2014 Conference on Empirical Methods in Natural
Language Processing, EMNLP 2014, October 25-29, 2014,
Doha, Qatar, A meeting of SIGDAT, a Special Interest
Group of the ACL, pages 1532–1543, 2014.
A. Radford, L. Metz, and S. Chintala. Unsupervised representation learning with deep convolutional generative adversarial networks. CoRR, abs/1511.06434, 2015.
S. E. Reed, Z. Akata, X. Yan, L. Logeswaran, B. Schiele,
and H. Lee. Generative adversarial text to image synthesis. In Proceedings of the 33nd International Conference on
Machine Learning, ICML 2016, New York City, NY, USA,
June 19-24, 2016, pages 1060–1069, 2016.
D. Teney, L. Liu, and A. van den Hengel. Graph-structured
representations for visual question answering. In 2017 IEEE
Conference on Computer Vision and Pattern Recognition,
CVPR 2017, Honolulu, HI, USA, July 21-26, 2017, pages
3233–3241, 2017.
O. Vinyals, A. Toshev, S. Bengio, and D. Erhan. Show andtell: A neural image caption generator. In IEEE Conference on Computer Vision and Pattern Recognition, CVPR
2015, Boston, MA, USA, June 7-12, 2015, pages 3156–
3164, 2015.
L. Yu, W. Zhang, J. Wang, and Y. Yu. Seqgan: Sequence
generative adversarial nets with policy gradient. In Proceedings of the Thirty-First AAAI Conference on Artificial
Intelligence, February 4-9, 2017, San Francisco, California, USA., pages 2852–2858, 2017.
C. L. Zitnick and D. Parikh. Bringing semantics into focus using visual abstraction. In 2013 IEEE Conference on
Computer Vision and Pattern Recognition, Portland, OR,
USA, June 23-28, 2013, pages 3009–3016, 2013.