Context-Aware Multi-View Summarization Network for Image-Text Matching
论文:Context-Aware Multi-View Summarization Network for Image-Text Matching
代码:Code&Data
在图像与文本的跨模态中,通常面对着多视图的挑战,即对同一张图像,由于视角不同,可能会有多种文本描述。虽然有人尝试将多视图的信息融入训练,但他们往往忽略了图像和文本模态内的上下文信息。因此作者提出了CAMERA图像文本匹配模型,该模型能从多个视图中总结信息,同时获取图像和文本的模式内上下文信息的增强表示。
![image-20201118163912479](https://cdn.jsdelivr.net/gh/Arsene-W/ImgHosting/img/image-20201118163912479.png)
METHOD
CAMERA模型由三部分组成:image embedding branch、 text embedding branch 、loss function。模型如图所示。
![image-20201118164506320](https://cdn.jsdelivr.net/gh/Arsene-W/ImgHosting/img/image-20201118164506320.png)
由于image embedding branch、 text embedding branch都具有AGSA模块,首先介绍该模块。
Adaptive Gating Self-Attention(AGSA)
AGSA模块结构如图所示:
![image-20201118171108818](https://cdn.jsdelivr.net/gh/Arsene-W/ImgHosting/img/image-20201118171108818.png)
自注意力机制可以表示为:
![image-20201118171736705](https://cdn.jsdelivr.net/gh/Arsene-W/ImgHosting/img/image-20201118171736705.png)
为了进一步增强表征能力,作者使用多头的自注意力机制,包含\(H\)个并行的自注意力来捕获不同子空间中的上下文信息。
![image-20201118175433027](https://cdn.jsdelivr.net/gh/Arsene-W/ImgHosting/img/image-20201118175433027.png)
其中\(h_i\)代表输出的第\(i\)个头。
query、key、value可以表示为:
![image-20201118175655281](https://cdn.jsdelivr.net/gh/Arsene-W/ImgHosting/img/image-20201118175655281.png)
但是此时的query和key中还有很多噪声,因此作者通过一系列gate mechanism来抑制无用的信息。
![image-20201118180804125](https://cdn.jsdelivr.net/gh/Arsene-W/ImgHosting/img/image-20201118180804125.png)
之后通过两个全连接层来生成经过Sigmoid激活生成门掩膜(gate mask)
![image-20201118181448066](https://cdn.jsdelivr.net/gh/Arsene-W/ImgHosting/img/image-20201118181448066.png)
将掩膜和原始输入点乘后输入多头注意力模块,并通过拼接多个头的结果来获得上下文信息。
![image-20201118182503165](https://cdn.jsdelivr.net/gh/Arsene-W/ImgHosting/img/image-20201118182503165.png)
![image-20201118182515715](https://cdn.jsdelivr.net/gh/Arsene-W/ImgHosting/img/image-20201118182515715.png)
Image Embedding
由于图像通常包含更多的信息,因此作者在图像上选用细粒度的多视图的表征来解决多视图描述问题。
Bottom-up Feature Extraction
作者首先在图像中提取区域特征。对于给定的图像,首先选出置信度最高的前\(R\)(\(R=36\))个ROI,并对每个区域进行全剧平均池化来获得2048维的特征\(f_i\)。(代码中没发现该部分,似乎直接输提取好的2048维特征?存疑)。
对于每个ROI,用\(p_i=(x_i,y_i,w_i,h_i)\)来表示位置信息。
在\(f_i\)后接一个全连接层得到\(v_i\)。
![image-20201118184140253](https://cdn.jsdelivr.net/gh/Arsene-W/ImgHosting/img/image-20201118184140253.png)
为了从全局捕获特征,作者选择使用绝对位置编码。对于原始的位置向量\(p_i\),作者增加了两个维度(长宽比和占用面积比),并对其进行标准化。再借一个全连接层和Sigmoid。
![image-20201118184514449](https://cdn.jsdelivr.net/gh/Arsene-W/ImgHosting/img/image-20201118184514449.png)
![image-20201118184653242](https://cdn.jsdelivr.net/gh/Arsene-W/ImgHosting/img/image-20201118184653242.png)
之后将\(v_i\)、\(\hat{p}_i\)分别进行拼接得到\(V\)、\(\hat{P}\)。点乘后送入前面讲的AGSA模块得到增强后具有上下文信息的区域特征。
![image-20201118185201323](https://cdn.jsdelivr.net/gh/Arsene-W/ImgHosting/img/image-20201118185201323.png)
Multi-view Summarization
![image-20201118191846639](https://cdn.jsdelivr.net/gh/Arsene-W/ImgHosting/img/image-20201118191846639.png)
为了从不同视图获得上下文信息,作者选用不同尺度的金字塔空洞卷积来获得区域相关性。由于特征一开始就被全局平均池化成一维,再由concat拼接为二维,所以此时的空洞卷积均为一维卷积conv1d。将经过不同空洞的一维卷积后的输出进行拼接得到\(s_i\)。
![image-20201118191016070](https://cdn.jsdelivr.net/gh/Arsene-W/ImgHosting/img/image-20201118191016070.png)
对\(s_i\)后接一个全连接和SoftMax得到重要性
![image-20201118191650162](https://cdn.jsdelivr.net/gh/Arsene-W/ImgHosting/img/image-20201118191650162.png)
点乘后得到最终的特征向量\(V^*\)
![image-20201118191756080](https://cdn.jsdelivr.net/gh/Arsene-W/ImgHosting/img/image-20201118191756080.png)
Text Embedding
对于文本部分,作者首先使用经过与训练的BERT提取单词特征\(e_i\),送入全连接层。之后再将特征进行拼接送入AGSA模块。此处文本的AGSA是独立的,与图像部分的AGSA参数不共享。
![image-20201118193328728](https://cdn.jsdelivr.net/gh/Arsene-W/ImgHosting/img/image-20201118193328728.png)
![image-20201118193336522](https://cdn.jsdelivr.net/gh/Arsene-W/ImgHosting/img/image-20201118193336522.png)
为了获得更高的非线性表示能力,作者添加了MLP并接入残差,以此来获得最终的单词特征。
![image-20201118193612610](https://cdn.jsdelivr.net/gh/Arsene-W/ImgHosting/img/image-20201118193612610.png)
最后使用平均池化将单词特征聚合为句子特征。
![image-20201118193653518](https://cdn.jsdelivr.net/gh/Arsene-W/ImgHosting/img/image-20201118193653518.png)
EXPERIMENTS
![image-20201118194333555](https://cdn.jsdelivr.net/gh/Arsene-W/ImgHosting/img/image-20201118194333555.png)