Multimodal Compact Bilinear Pooling for Visual Question Answering and Visual Grounding

Akira Fukui, Dong Huk Park, Daylen Yang, Anna Rohrbach, Trevor Darrell, Marcus Rohrbach

Introduction

Representation learning for text and images has been extensively studied in recent years. Recurrent neural networks (RNNs) are often used to represent sentences or phrases [Sutskever et al., 2014, Kiros et al., 2015], and convolutional neural networks (CNNs) have shown to work best to represent images [Donahue et al., 2013, He et al., 2015]. For tasks such as visual question answering (VQA) and visual grounding, most approaches require joining the representation of both modalities. For combining the two vector representations (multimodal pooling), current approaches in VQA or grounding rely on concatenating vectors or applying element-wise sum or product. While this generates a joint representation, it might not be expressive enough to fully capture the complex associations between the two different modalities.

In this paper, we propose to rely on Multimodal Compact Bilinear pooling (MCB) to get a joint representation. Bilinear pooling computes the outer product between two vectors, which allows, in contrast to element-wise product, a multiplicative interaction between all elements of both vectors. Bilinear pooling models [Tenenbaum and Freeman, 2000] have recently been shown to be beneficial for fine-grained classification for vision only tasks [Lin et al., 2015]. However, given their high dimensionality (n2n^{2}), bilinear pooling has so far not been widely used. In this paper, we adopt the idea from ?) which shows how to efficiently compress bilinear pooling for a single modality. In this work, we discuss and extensively evaluate the extension to the multimodal case for text and visual modalities. As shown in Figure 1, Multimodal Compact Bilinear pooling (MCB) is approximated by randomly projecting the image and text representations to a higher dimensional space (using Count Sketch [Charikar et al., 2002]) and then convolving both vectors efficiently by using element-wise product in Fast Fourier Transform (FFT) space. We use MCB to predict answers for the VQA task and locations for the visual grounding task. For open-ended question answering, we present an architecture for VQA which uses MCB twice, once to predict spatial attention and the second time to predict the answer. For multiple-choice question answering we introduce a third MCB to relate the encoded answer to the question-image space. Additionally, we discuss the benefit of attention maps and additional training data for the VQA task. To summarize, MCB is evaluated on two tasks, four datasets, and with a diverse set of ablations and comparisons to the state-of-the-art.

Related Work

Current approaches to multimodal pooling involve element-wise operations or vector concatenation. In the visual question answering domain, a number of models have been proposed. Simpler models such as iBOWIMG baseline [Zhou et al., 2015] use concatenation and fully connected layers to combine the image and question modalities. Stacked Attention Networks [Yang et al., 2015] and Spatial Memory Networks [Xu et al., 2015] use LSTMs or extract soft-attention on the image features, but ultimately use element-wise product or element-wise sum to merge modalities. D-NMN [Andreas et al., 2016a] introduced REINFORCE to dynamically create a network and use element-wise product to join attentions and element-wise sum predict answers. Dynamic Memory Networks (DMN) [Xiong et al., 2016] pool the image and question with element-wise product and sum, attending to part of the image and question with an Episodic Memory Module [Kumar et al., 2016]. DPPnet [Noh et al., 2015] creates a Parameter Prediction Network which learns to predict the parameters of the second to last visual recognition layer dynamically from the question. Similar to this work, DPPnet allows multiplicative interactions between the visual and question encodings. ?) recently proposed a model that extracts multiple co-attentions on the image and question and combines the co-attentions in a hierarchical manner using element-wise sum, concatenation, and fully connected layers.

For the visual grounding task, ?) propose an approach where the language phrase embedding is concatenated with the visual features in order to predict the attention weights over multiple bounding box proposals. Similarly, ?) concatenate phrase embeddings with visual features at different spatial locations to obtain a segmentation.

Bilinear pooling.

Bilinear pooling has been applied to the fine-grained visual recognition task. ?) use two CNNs to extract features from an image and combine the resulting vectors using an outer product, which is fully connected to an output layer. ?) address the space and time complexity of bilinear features by viewing the bilinear transformation as a polynomial kernel. ?) describe a method to approximate the polynomial kernel using Count Sketches and convolutions.

Joint multimodal embeddings.

In order to model similarities between two modalities, many prior works have learned joint multimodal spaces, or embeddings. Some of such embeddings are based on Canonical Correlation Analysis [Hardoon et al., 2004] e.g. [Gong et al., 2014, Klein et al., 2015, Plummer et al., 2015], linear models with ranking loss [Frome et al., 2013, Karpathy and Fei-Fei, 2015, Socher et al., 2014, Weston et al., 2011] or non-linear deep learning models [Kiros et al., 2014, Mao et al., 2015, Ngiam et al., 2011]. Our multimodal compact bilinear pooling can be seen as a complementary operation that allows us to capture different interactions between two modalities more expressively than e.g. concatenation. Consequently, many embedding learning approaches could benefit from incorporating such interactions.

Multimodal Compact Bilinear Pooling for Visual and Textual Embeddings

For the task of visual question answering (VQA) or visual grounding, we have to predict the most likely answer or location a^\hat{a} for a given image x and question or phrase q. This can be formulated as

with parameters θ\theta and the set of answers or locations AA. For an image embedding x=Ξ(x)x=\Xi(\textbf{x}) (i.e. a CNN) and question embedding q=Ω(q)q=\Omega(\textbf{q}) (i.e. an LSTM), we are interested in getting a good joint representation by pooling both representations. With a multimodal pooling Φ(x,q)\Phi(x,q) that encodes the relationship between xx and qq well, it becomes easier to learn a classifier for Equation (1).

In this section, we first discuss our multimodal pooling Φ\Phi for combining representations from different modalities into a single representation (Sec. 3.1) and then detail our architectures for VQA (Sec. 3.2) and visual grounding (Sec. 3.3), further explaining how we predict a^\hat{a} with the given image representation Ξ\Xi and text representation Ω\Omega.

This allows us to project the outer product to a lower dimensional space, which reduces the number of parameters in WW. To avoid computing the outer product explicitly, ?) showed that the count sketch of the outer product of two vectors can be expressed as convolution of both count sketches: Ψ(xq,h,s)=Ψ(x,h,s)Ψ(q,h,s)\Psi(x\otimes q,h,s)=\Psi(x,h,s)*\Psi(q,h,s), where * is the convolution operator. Additionally, the convolution theorem states that convolution in the time domain is equivalent to element-wise product in the frequency domain. The convolution xqx^{\prime}*q^{\prime} can be rewritten as FFT1(FFT(x)FFT(q))\text{FFT}^{-1}(\text{FFT}(x^{\prime})\odot\text{FFT}(q^{\prime})), where \odot refers to element-wise product. These ideas are summarized in Figure 2 and formalized in Algorithm 1, which is based on the Tensor Sketch algorithm of ?). We invoke the algorithm with v1=xv_{1}=x and v2=qv_{2}=q. We note that this easily extends and remains efficient for more than two multi-modal inputs as the combination happens as element-wise product.

2 Architectures for VQA

In VQA, the input to the model is an image and a question, and the goal is to answer the question. Our model extracts representations for the image and the question, pools the vectors using MCB, and arrives at the answer by treating the problem as a multi-class classification problem with 3,000 possible classes.

We extract image features using a 152-layer Residual Network [He et al., 2015] that is pretrained on ImageNet data [Deng et al., 2009]. Images are resized to 448×448448\times 448, and we use the output of the layer (“pool5”) before the 1000-way classifier. We then perform L2L_{2} normalization on the 2048-D vector.

Input questions are first tokenized into words, and the words are one-hot encoded and passed through a learned embedding layer. The tanh nonlinearity is used after the embedding. The embedding layer is followed by a 2-layer LSTM with 1024 units in each layer. The outputs of each LSTM layer are concatenated to form a 2048-D vector.

The two vectors are then passed through MCB. The MCB is followed by an element-wise signed square-root and L2L_{2} normalization. After MCB pooling, a fully connected layer connects the resulting 16,000-D multimodal representation to the 3,000 top answers.

To incorporate spatial information, we use soft attention on our MCB pooling method. Explored by [Xu et al., 2015] for image captioning and by [Xu and Saenko, 2016] and [Yang et al., 2015] for VQA, the soft attention mechanism can be easily integrated in our model.

For each spatial grid location in the visual representation (i.e. last convolutional layer of ResNet [res5c], last convolutional layer of VGG [conv5]), we use MCB pooling to merge the slice of the visual feature with the language representation. As depicted in Figure 3, after the pooling we use two convolutional layers to predict the attention weight for each grid location. We apply softmax to produce a normalized soft attention map. We then take a weighted sum of the spatial vectors using the attention map to create the attended visual representation. We also experiment with generating multiple attention maps to allow the model to make multiple “glimpses” which are concatenated before being merged with the language representation through another MCB pooling for prediction. Predicting attention maps with MCB pooling allows the model to effectively learn how to attend to salient locations based on both the visual and language representations.

Answer Encoding.

For VQA with multiple choices, we can additionally embed the answers. We base our approach on the proposed MCB with attention. As can be seen from Figure 4, to deal with multiple variable-length answer choices, each choice is encoded using a word embedding and LSTM layers whose weights are shared across the candidates. In addition to using MCB with attention, we use an additional MCB pooling to merge the encoded answer choices with the multimodal representation of the original pipeline. The resulting embedding is projected to a classification vector with a dimension equal to the number of answers.

3 Architecture for Visual Grounding

We base our grounding approach on the fully-supervised version of GroundeR [Rohrbach et al., 2016]. The overview of our model is shown in Figure 5. The input to the model is a query natural language phrase and an image along with multiple proposal bounding boxes. The goal is to predict a bounding box which corresponds to the query phrase. We replace the concatenation of the visual representation and the encoded phrase in GroundeR with MCB to combine both modalities. In contrast to ?), we include a linear embedding of the visual representation and L2L_{2} normalization of both input modalities, instead of batch normalization [Ioffe and Szegedy, 2015], which we found to be beneficial when using MCB for the grounding task.

Evaluation on Visual Question Answering

We evaluate the benefit of MCB with a diverse set of ablations on two visual question answering datasets.

The Visual Question Answering (VQA) real-image dataset [Antol et al., 2015] consists of approximately 200,000 MSCOCO images [Lin et al., 2014], with 3 questions per image and 10 answers per question. There are 3 data splits: train (80K images), validation (40K images), and test (80K images). Additionally, there is a 25% subset of test named test-dev. Accuracies for ablation experiments in this paper are reported on the test-dev data split. We use the VQA tool provided by ?) for evaluation. We conducted most of our experiments on the open-ended real-image task. In Table 4, we also report our multiple-choice real-image scores.

The Visual Genome dataset [Krishna et al., 2016] uses 108,249 images from the intersection of YFCC100M [Thomee et al., 2015] and MSCOCO. For each image, an average of 17 question-answer pairs are collected. There are 1.7 million QA pairs of the 6W question types (what, where, when, who, why, and how). Compared to the VQA dataset, Visual Genome represents a more balanced distribution of the 6W question types. Moreover, the average question and answer lengths for Visual Genome are larger than the VQA dataset. To leverage the Visual Genome dataset as additional training data, we remove all the unnecessary words such as ”a”, ”the”, and ”it is” from the answers to decrease the length of the answers and extract QA pairs whose answers are single-worded. The extracted data is filtered again based on the answer vocabulary space created from the VQA dataset, leaving us with additional 1M image-QA triplets.

The Visual7W dataset [Zhu et al., 2016] is a part of the Visual Genome. Visual7W adds a 7th which question category to accommodate visual answers, but we only evaluate the models on the Telling task which involves 6W questions. The natural language answers in Visual7W are in a multiple-choice format and each question comes with four answer candidates, with only one being the correct answer. Visual7W is composed of 47,300 images from MSCOCO and there are a total of 139,868 QA pairs.

2 Experimental Setup

We use the Adam solver with ϵ=0.0007\epsilon=0.0007, β1=0.9\beta_{1}=0.9, β2=0.999\beta_{2}=0.999. We use dropout after the LSTM layers and in fully connected layers. For the experiments in Table 1 and 2, we train on the VQA train split, validate on the VQA validation split, and report results on the VQA test-dev split. We use early stopping: if the validation score does not improve for 50,000 iterations, we stop training and evaluate the best iteration on test-dev.

For the Visual7W task, we use the same hyperparameters and training settings as in the VQA experiments. We use the splits from [Zhu et al., 2016] to train, validate, and test our models. We also compute accuracies on this data using their evaluation code.

For VQA multiple choice, we train the open-ended models and take the argmax over the multiple choice answers at test time. For Visual7W, we use the answer encoding as described in Sec. 3.2.

3 Ablation Results

We compare the performance of non-bilinear and bilinear pooling methods in Table 1. We see that MCB pooling outperforms all non-bilinear pooling methods, such as eltwise sum, concatenation, and eltwise product.

One could argue that the compact bilinear method simply has more parameters than the non-bilinear pooling methods, which contributes to its performance. We compensated for this by stacking fully connected layers (with 4096 units per layer, ReLU activation, and dropout) after the non-bilinear pooling methods to increase their number of parameters. However, even with similar parameter budgets, non-bilinear methods could not achieve the same accuracy as the MCB method. For example, the “Concatenation + FC + FC” pooling method has approximately 40962+40962+4096×3000464096^{2}+4096^{2}+4096\times 3000\approx 46 million parameters, which matches the 48 million parameters available in MCB with d=16000d=16000. However, the performance of the “Concatenation + FC + FC” method is only 57.10% compared to MCB’s 59.83%.

Section 2 in Table 1 also shows that compact bilinear pooling has no impact on accuracy compared to full bilinear pooling. Section 3 in Table 1 demonstrates that the MCB brings improvements regardless of the image CNN used. We primarily use ResNet-152 in this paper, but MCB also improves performance if VGG-19 is used. Section 4 in Table 1 shows that our soft attention model works best with MCB pooling. In fact, attending to the Concatenation + FC layer has the same performance as not using attention at all, while attending to the MCB layer improves performance by 2.67 points.

Table 2 compares different values of dd, the output dimensionality of the multimodal compact bilinear feature. Approximating the bilinear feature with a 16,000-D vector yields the highest accuracy.

We also evaluated models with multiple attention maps or channels. One attenion map achieves 64.67%, two 65.08% and four 64.24% accuracy (trained on train+val). Visual inspection of the generated attention maps reveals that an ensembling or smoothing effect occurs when using multiple maps.

Table 3 presents results for the Visual7W multiple-choice QA task. The MCB with attention model outperforms the previous state-of-the-art by 7.9 points overall and performs better in almost every category.

4 Comparison to State-of-the-Art

Table 4 compares our approach with the state-of-the-art on VQA test set. Our best single model uses MCB pooling with two attention maps. Additionally, we augment our training data with images and QA pairs from the Visual Genome dataset. We also concatenate the learned word embedding with pretrained GloVe vectors [Pennington et al., 2014].

Each model in our ensemble of 7 models uses MCB with attention. Some of the models were trained with data from Visual Genome, and some were trained with two attention maps. This ensemble is 1.8 points above the next best approach on the VQA open-ended task and 0.8 points above the next best approach on the multiple-choice task (on Test-dev). Even without ensembles, our “MCB + Genome + Att. + GloVe” model still outperforms the next best result by 0.5 points, with an accuracy of 65.4% versus 64.9% on the open-ended task (on Test-dev).

Evaluation on Visual Grounding

We evaluate our visual grounding approach on two datasets. The first is Flickr30k Entities [Plummer et al., 2015] which consists of 31K images from Flickr30k dataset [Hodosh et al., 2014] with 244K phrases localized with bounding boxes. We follow the experimental setup of ?), e.g. we use the same Selective Search [Uijlings et al., 2013] object proposals and the Fast R-CNN [Girshick, 2015] fine-tuned VGG16 features [Simonyan and Zisserman, 2014]. The second dataset is ReferItGame [Kazemzadeh et al., 2014], which contains 20K images from IAPR TC-12 dataset [Grubinger et al., 2006] with segmented regions from SAIAPR-12 dataset [Escalante et al., 2010] and 120K associated natural language referring expressions. For ReferItGame we follow the experimental setup of ?) and rely on their ground-truth bounding boxes extracted around the segmentation masks. We use the Edge Box [Zitnick and Dollár, 2014] object proposals and visual features (VGG16 combined with the spatial features, which encode bounding box relative position) from ?).

2 Experimental Setup

In all experiments we use Adam solver [Kingma and Ba, 2014] with learning rate ϵ=0.0001\epsilon=0.0001. The embedding size is 500500 both for visual and language embeddings. We use d=2048d=2048 in the MCB pooling, which we found to work best for the visual grounding task. The accuracy is measured as percentage of query phrases which have been localized correctly. The phrase is localized correctly if the predicted bounding box overlaps with the ground-truth bounding box by more than 50%50\% intersection over union (IOU).

3 Results

Tables 5 and 6 summarize our results in the visual grounding task. We present multiple ablations of our proposed architecture. First, we replace the MCB with simple concatenation of the embedded visual feature and the embedded phrase, resulting in 46.5%46.5\% on the Flickr30k Entities and 25.48%25.48\% on the ReferItGame datasets. The results can be improved by replacing the concatenation with the element-wise product of both embedded features (47.41%47.41\% and 27.80%27.80\%). We can further slightly increase the performance by introducing additional 2048-D convolution after the element-wise product (47.86%47.86\% and 27.98%27.98\%). However, even with fewer parameters, our MCB pooling significantly improves over this baseline on both datasets, reaching state-of-the-art accuracy of 48.69%48.69\% on Flickr30k Entities and 28.91%28.91\% on ReferItGame dataset. Figure 6 (bottom) shows examples of improved phrase localization.

Conclusion

We propose the Multimodal Compact Bilinear Pooling (MCB) to combine visual and text representations. For visual question answering, our architecture with attention and multiple MCBs gives significant improvements on two VQA datasets compared to state-of-the-art. In the visual grounding task, introducing MCB pooling leads to improved phrase localization accuracy, indicating better interaction between query phrase representations and visual representations of proposal bounding boxes. The code to replicate our experiments is available at https://github.com/akirafukui/vqa-mcb.

Acknowledgments

We would like to thank Yang Gao and Oscar Beijbom for helpful discussions about Compact Bilinear Pooling. This work was supported by DARPA, AFRL, DoD MURI award N000141110688, NSF awards IIS-1427425 and IIS-1212798, and the Berkeley Artificial Intelligence Research (BAIR) Lab.

References