DEIM Forum 2019 G7-3

Visual QA のためのニューラルネットアーキテクチャの提案
馬田 英雄†

青野 雅樹††† 豊橋技術科学大学 情報・知能工学課程 〒 441–8580 愛知県豊橋市天伯町字雲雀ヶ丘 1-1†† 豊橋技術科学大学 情報・知能工学系 〒 441–8580 愛知県豊橋市天伯町字雲雀ヶ丘 1-1
E-mail: †umada@kde.cs.tut.ac.jp, ††aono@tut.jp
あらまし Visual QA(Visual Question Answering: VQA) とは，ある画像とその画像に関する質問を提示されたときに正しい答えを導き出すタスクである．VQA はコンピュータビジョンと自然言語処理の両方の問題に焦点を当てる必要がある．本研究では Image Attention を用いたアーキテクチャに Co-Attention の手法を取り入れた新たなアーキテクチャを提案する．これにより質問単語情報を失わずに画像に Attention を行うことができ，さらに質問単語それぞれに Attention を行うことが可能になる．我々は VQA v1.0 データセットで提案モデルの性能を検証するために 4 つのモデルに対して比較実験を行う．１つめはベースラインモデル，２つめは Image Attention モデル単独のもの，３つめは提案モデルを用いたもの，４つめは２つめと３つめのモデルをアンサンブルしたアンサンブルモデルである．結果としてはベースライン法に対して我々の提案モデルはより良い精度を示した．また，微差ではあるがアンサンブルモデルが最も良い精度を示した．
キーワード Visual QA, 深層学習, 質問応答れらの研究から着想を得て，我々は Teney らの提案した DNN

1 はじめにVisual QA (Visual Question Answering: VQA) とは，ある画像とその画像に関する質問を提示されたときに正しい答えを導き出すタスクである．VQA はコンピュータビジョンと自然言語処理の両方の問題に焦点を当てる必要があるが，ディープに Co-Attention を与えるニューラルネットを組み合わせることで画像と質問の関係に注目した新たな DNN アーキテクチャを提案する．

3 データセット

ラーニングの研究の進歩により，マルチモーダルなデータに由使用するデータセットには，VQA v1.0 [5] の Real Images

来する困難な問題をある程度解決が可能になってきている．まを用いる．VQA v1.0 データセットは，Microsoft COCO に質た VQA に関するコンペティションとして VQA Challenge が問文を追加したデータセットであり，質問文，画像，アノテー

2016 年から毎年開かれていたり，CVPR，ICCV などの国際コションで構成される．質問文は各画像に対して３つずつ存在し，ンファレンスで VQA に関する論文が採択されるなど非常に現アノテーションには，「how many」「what kind of」など質問文在研究が盛んな分野となっている．の先頭語で分類した question type や「yes/no」，「number」，

VQA システムにおいて画像と自然言語の関係を学習するこ「others」と解答語を分類した answer type，10 人の人間によとは難しく，画像と単語の意味上での対応付けと質問文の意味る解答である answers，それぞれの解答に対しての自身を表すを理解をさせる必要がある．そのため本研究では画像と質問文

answer confidence といった情報が存在する．具体的なデータに注目した Co-Attention アーキテクチャを現在の最先端モデとして図 1〜2，表 2〜3 に示す．

ルに組み込むことによる精度向上を目的とする．

本研究では，特に yes/no で解答が可能なものを answer typeに従い抽出して用いる．データ数は表 1 に従う．また，Testing

2 関連研究VQA に関する研究は１節で述べたように盛んに行われてデータにはアノテーションが存在せず，answer type による抽出が難しいため使用しない．

おり，そのうち Attention を基にしたディープニューラルネッ

表 1 データセット数

トワーク (Deep Neural Networks: DNN) が多く提案されている．例えば P.Anderson らによる Faster R-CNN [1] による

Bottom-up Attention を使用した DNN [2] や Lu らによる画像

Training Validation

Testing

VQAv1.0

248,349

121,512 244,302

yes/no 抽出

95,30045,478と質問文に対して相互に Attention を与える Co-Attention という手法を用いた DNN [3] などが挙げられる．また，Teney らにより 2017 Visual Question Answering Challenge でのリーダーボードであるモデルに対してハイパーパラメータの選択の影響について大規模な調査を行った報告 [4] もなされている．こ4 ベースライン手法
ベースライン手法は概要を図 3 のように質問文は各単語のGloVe（Global Vectors for Word Representation [6]）特徴量を圧縮した質問特徴量を，画像に対しては 224 × 224 にリサ
イズ後 VGG19 [9] から CNN 特徴量をそれぞれ抽出し，それらを連結した特徴量を 4 層の多層パーセプトロン (Multilayerperceptron: MLP) で予測を行うといった手法となっている．
本手法は [7] 中の script/trainMLP.py を元に再現実装したものである．

12x300

質問文
図 1 VQAv1.0 の画像データ例１

画像

GloVe

特徴量抽出

＋300

CNN

リサイズ

特徴量抽出

concatenate

MLP(4 )

層予測
確率分布

解答

4096

図 3 ベースラインの概要図
表 2 VQAv1.0 の質問文データ例１

Original

4. 1 特徴量抽出

Query

What is the table made of?

Answers

wood;wood;wood;wood;wood;

画像特徴量を抽出するために，畳み込みニューラルネット

wood;wood;wood;wood;wood(Convolutional Neural Network: CNN) を使用する．まず，Query

Is the food napping on the table?

CNN には ImageNet データセット [8] で訓練済みの VGG19 [9]Answers

no;no;no;no;no;yes;no;no;yes;noを使用する．抽出する特徴量は最初の全結合層 (fc1) の出力をQuery

What has been upcycled to make lights?

用いる．抽出される特徴量の次元は 4096 次元である．

Answers

kettles;tea kettles;kettle;teapots;tea kettle;kettles;
tea kettles;tea kettles;pots used for lights;kettles

Extracted
Query

Is the food napping on the table?

Answers

no;no;no;no;no;yes;no;no;yes;no

質問特徴量を抽出するために，訓練済みの GloVe 特徴量 [10]を使用して 300 次元の単語埋め込みを行う．ここでは質問語数を 12 で固定し，12 語未満の場合は zero padding を，13 語以上の場合それらの無視をする．こうして得られた単語特徴量ベクトルに対して総和をとり，300 次元に圧縮したものを質問特徴量とする．

4. 2 MLP

層MLP の詳細を図 4 に示す．Dense layer は式 (1) によって計算される．ここで x は入力ベクトル，W，b はそれぞれ学習可能な線形変換パラメータであり，それぞれの層で異なるパラメータを用いる．ここで dropout 率は 0.5 である．

図 2 VQAv1.0 の画像データ例２

Feature vector
5296
MLP

Dense

Dense

dense

1024

表 3 VQAv1.0 の質問文データ例２

Query
Answers

Is it cold outside?
yes;yes;yes;yes;yes;yes;yes;yes;yes;yes

Query

What is leaning against the house?

Answers

ladder;ladder;ladder;ladder;ladder;ladder;ladder;ladder;ladder;ladderQuery

How many windows can you see?

Answers

1;1;1;1;1;1;1;1;1;1

dropout

1024
Dense

Dense*

1024

Is it cold outside?

Answers

yes;yes;yes;yes;yes;yes;yes;yes;yes;yes

dense

Dense*

softmax

2

dropout

Predict
distribution

図 4 MLP の詳細

Extracted
Querytanh

Dense

Dense(x) = tanh(dense(x))

Dense∗ (x) = softmax(dense(x))て計算される．ここで Q，V はそれぞれ質問特徴量，画像特徴量であり，av ，aq はそれぞれの特徴量への Attention である．

dense(x) = Wx + bW∗ ，b∗ は学習可能なパラメータであり，T は転置を表す．

−xe −eex + e−xex
softmax(x) = ∑exx∈xx

tanh(x) =(1)質問
特徴量Q
30x1212x300

5 提案手法

Wq×tanh+

本研究では Teney らのアーキテクチャ [4] と Co-Attention

Image Attention モデルを用いた新たなアーキテクチャを提案する．

tanhWbC

1x12

Co-Attention

モデル

1x49

30x49×Wv

49x512

質問
特徴量Q'

Dense*

Waq

Hq

12x49の手法 [3] を参考にし，前段に Co-Attention モデル，後段にoaq

tanh+

画像
特徴量V

Dense*

Wav

Hv

av

o

画像
特徴量V'

図 6 Co-Attention モデルの概要

質問文

前処理

要素積

GloVe

特徴量抽出

O
Co-Attention

モデル

画像

CNN

リサイズ 特徴量抽出
図5

ImageAttentionモデル

予測確率分布解答

O

要素積提案モデルの概要

C = tanh(QWb V T + bb )Hv = tanh(Wv V T + (Wq QT )C + bhv )Hq = tanh(Wq QT + (Wv V T )C + bhq )aq = Dense∗ (Waq Hq + baq )aq = Dense∗ (Waq Hq + baq )(2)

5. 1 前 処 理
質問文に対しては前処理として，以下の処理を行う．

•

大文字の小文字化 (A B ... Z → a b ... z)•

冠詞除去 ( a an the )•5. 4 Image Attention モデル
Image Attention モデルの概要を図 7 に示す．Gated Dense
は式 (3) によって計算される．ただし ◦ は要素積を表す演算

一部の非単語記号を除去 ( ? ! , ” )である．ここで dropout 率は 0.5 である．Image Attention モ•

一部の非単語記号を分離 ( “(” “)” “/” “...”)

デルでは，Gated Recurrent Unit (GRU) [11] によって質問•n’t を not に置換 (n’t→not can’t→can not)特徴量を圧縮し，画像特徴量と質問特徴量から画像特徴量へ•

数単語を数字に置換 (zero one ... twelve → 0 1 ... 12)の Attention を行う．その後それぞれの特徴量を要素積により画像に対してはベースライン同様 224 × 224 にリサイズをマージし，MLP により予測を行う．

行う．

5. 2 特徴量抽出
画像特徴量を抽出するために，ImageNet データセットで訓練済みの VGG19 [9] を使用する．抽出する特徴量は最初の全結合

質問
特徴量12x300

質問特徴量を抽出するために，訓練済みの GloVe 特徴量 [10]を使用して 300 次元の単語埋め込みを行う．ここでは質問語数を 12 で固定し，12 語未満の場合は zero padding を，13 語以

300

49x512

画像特徴量

Gated
Dense

49x812concatenate

層 (fc1) の入力を用いる．抽出される特徴量の次元は 7×7×512次元であり，それを 49 × 512 次元にリシェイプして用いる．

GRU

49x300

Gated
Dense

512

Σ

100
Gated
Dense

o49

内積300

要素積

Dense*

Dense*

予測
確率分布

300
Gated
Dense

Image Attentionモデル

図 7 Image Attention モデルの概要

上の場合それらの無視をする．抽出される質問特徴量の次元は12 × 300 次元とする．
5. 3 Co-Attention モデル
Co-Attention モデルの概要を図 6 に示す．この Co-Attention
モデルでは画像特徴量と質問特徴量からそれぞれの特徴量へのAttention を行う．後述する Image Attention とは異なり，質問単語情報を失わずに画像特徴量への Attention とそれぞれの質問単語への Attention を行う．Co-Attention は式 (2) によっ

Gated Dense(x) = Dense(x) ◦ Denseσ (x)Denseσ (x) = σ(dense(x))1σ(x) = −xe +1(3)

L(t，y) = −Gated Dense∑tj log yj(4)jdense(dense

Accuracy = minsigmoidtanh

dropout

dropout

6. 2 結)#humans that provided that answer，1 (5)
3果

表 5 に結果を示す．Image Attention モデル，提案モデル共

Element-wise productにベースラインモデルを大きく上回る Accuracy を記録した．
しかし提案モデルと Image Attention モデルではほとんど差が図 8 Gated Dense

見られなかった．また，微差ではあるがアンサンブルモデルがAccuracy が最も高いという結果になった．

6 実

表5 実験結果

験Method

Accuracy

提案モデルの性能を検証するために 4 つのモデルに対して比ベースラインモデル

0.720

較実験を行う．１つめはベースラインモデル，２つめは Image

Image Attention モデル

0.776

提案モデル

0.764

アンサンブルモデル

0.777

Attention モデル単独のもの，３つめは提案モデルを用いたもの，４つめは２つめと３つめのモデルをアンサンブルしたアンサンブルモデルである．Image Attention モデル単独の概要を
図 9 に示す．また，アンサンブルモデルでは同一のデータセットで独立に学習したモデルを使用し，それぞれ予測確率分布の平均をアンサンブルモデルの予測としている．

6. 3 出 力 結 果
出力結果の一例を図 10〜11 に示す．これらの例ではベースラインでは予測に失敗したが，他のモデルでは予測に成功した．

質問文

前処理

また，図 12 は Image Attention モデルでは予測に失敗したがGloVe

特徴量抽出

提案モデルでは予測に成功した例である．このときの Attention
ImageAttention

モデル

画像

予測確率分布

解答の比較が図 13〜14 であり，この例では提案モデルでは有効な部分への Attention ができていることがわかる．

CNN

リサイズ 特徴量抽出
図 9 Image Attention 単独モデル

6. 1 実 験 条 件
図 10 入力画像１

４つのモデルで共通する実験条件を表 4 に示す．
表4 実験条件

optimizer

RMSproplearning rate

0.001

loss function

crossentropy

evaluation

Accuracyepoch10batchsize

16

Optimizer には RMSprop [12] を用いる．パラメータは表 4に従う．損失関数にはクロスエントロピー誤差 (crossentropyloss) を用いる．クロスエントロピー誤差 L(t，y) はそれぞれ t，y を教師確率分布，予測確率分布として式 (4) で定義される．
また評価手法としては式 (5) で計算される Accuracy を用いる．

表 6 入力質問及び教師解答２

Query

Are the people real?

Answers no;no;no;no;no;no;no;no;no;no

表 7 出力結果１

MethodPredict

ベースラインモデル

yes

Image Attention モデル no
提案モデル

noアンサンブルモデル

no7 おわりに本研究では２種類の Attention を用いたアーキテクチャの提案を行い，ベースラインより高い Accuracy を記録した．また，Image Attention 単体モデルと提案モデルのアンサンブルモデ
ルの Accuracy が最も高いという結果となった．今後の課題として異なる Attention でもより多くのケースで適切な動作するように工夫する必要がある．

謝辞

本研究の一部は，科研費基盤（B）（課題番号 17H01746）の
図 11 入力画像２

支援を受けて遂行した.

表 8 入力質問及び教師解答２

Query

Is this a whole orange?

Answers no;no;no;no;no;no;no;no;no;no
表 9 出力結果２

MethodPredict

ベースラインモデル

yes

Image Attention モデル no提案モデル

noアンサンブルモデル

no図 12 入力画像３
表 10 入力質問及び教師解答３

Query

Are these two girls getting drunk?

Answers yes;yes;yes;yes;yes;yes;yes;yes;yes;no
表 11 出力結果３MethodPredict

Image Attention モデル

no提案モデルyes

図 13 Image Attention モデルにおける Attention の可視化

図 14 提案モデルにおける Attention の可視化

文

献[1] S. Ren, K. He, R. Girshick, and J. Sun, “Faster R-CNN: Towards real-time object detection with region proposal networks,” in NIPS, 2015.
[2] P. Anderson, X. He, C. Buehler, D. Teney, M. Johnson, S.
Gould, and L. Zhang, “Bottom-up and top-down attention
for image captioning and vqa,” in Proc, IEEE Conf andCVPR, 2018.
[3] J. Lu, J. Yang, D. Batra, and D. Parikh, “Hierarchicalquestion-image co-attention for visual question answering,”
in NIPS, 2016.
[4] D. Teney, P. Anderson, X. He , A.v.d. Hengel, “ Tips andtricks for visual question answering: Learnings from the2017 challenge,” in CVPR, 2017.
[5] S. Antol, A. Agrawal, J. Lu, M. Mitchell, D. Batra, C.
Lawrence Zitnick, and D. Parikh, “VQA: Visual Question
Answering,” in ICCV, 2015.
[6] J. Pennington, R. Socher, and C. Manning, “Glove: Global
Vectors for Word Representation,” in Conference on Empirical Methods in Natural Language Processing, 2014.
[7] Avi Singh, “visual-qa,” in
https://github.com/avisingh599/visual-qa/tree/master/scripts, 2018/12/24.
[8] O. Russakovsky, J. Deng, H. Su, J. Krause, S. Satheesh, S.
Ma, Z. Huang, A. Karpathy, A. Khosla, M. Bernstein, A.
C. Berg, and L. Fei-Fei, “Imagenet large scale visual recognition challenge,” IJCV, 2015.
[9] K. Simonyan and A. Zisserman, “Very deep convolutional
networks for large-scale image recognition,” In ICLR, 2015.
[10] spaCy, “spacy-models,” in
https://github.com/explosion/spacy-models/releases/tag/en core web md-2.0.0, 2018/12/24.
[11] K. Cho, B. van Merrienboer, C. Gulcehre, F. Bougares, H.
Schwenk, and Y. Bengio, “Learning phrase representations
using RNN encoder-decoder for statistical machine translation,” in Proc. Conf. Empirical Methods in Natural Language Processing, 2014.
[12] T. Tieleman and G. Hinton, “Lecture 6.5?RmsProp: Divide
the gradient by a running average of its recent magnitude,”
COURSERA: Neural Networks for Machine Learning, 2012.