VQA 之 Multimodal Compact Bilinear Pooling

2023-11-05 03:08

本文主要是介绍VQA 之 Multimodal Compact Bilinear Pooling,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

涉及论文 
[1]Multimodal Compact Bilinear Pooling for Visual Question Answering and Visual Grounding 
https://www.arxiv.org/pdf/1606.01847.pdf 
[2]Compact Bilinear Pooling 
https://arxiv.org/pdf/1511.06062.pdf 
[3]Bilinear CNN Models for Fine-grained Visual Recognition 
https://arxiv.org/pdf/1504.07889.pdf

1 introduction

这里主要涉及三篇文章,首先是做fine-grained的bilinear cnn models[3],但是bilinear cnn会引起参数维度过大,于是作者提出了compact bilinear pooling[2],然后在此基础上做VQA任务[1],并取得了2016年的冠军 http://visualqa.org/roe.html

VQA =Visual Question Answering, 主要任务是给定一幅图片,并提出几个问题,模型负责回答该问题

2 Multimodal Compact Bilinear Pooling for Visual Question Answering

做VQA的基本方法如下:

这里写图片描述

简单来说,就是CNN来的图像特征与RNN来的自然语音特征,进过融合之后,将特征放入分类器或者RNN用来生成问题的答案。

改进以上结构的方法有许多,如下图: 
这里写图片描述

可以选择改进CNN或者RNN,也可以选择 改变两种特征的融合方式,或者加入attention, 
本文就属于改变两种特征融合方式的一种。

这里写图片描述 
如上图,本文采取的方法是所谓的MCB,简单来说就是一种可以简化的bilinear pooling, 
所以下面先从bilinear pooling 说起

3 Bilinear CNN Models

两种特征连接或者说融合在一起的方法有许多种,比如相加,concatenate,等等,后来提出的bilinear cnn 是利用了两个特征的外积来融合,效果很不错,如下: 
这里写图片描述


下面我们具体来说下如何操作:

这里写图片描述 
对于图片I,会生成两个 feature map, fa,fb, 假设在fa和fb都为h \times w \times D维,在某一个位置l上会有D维特征, 双线性层就是将这两个D维数据按如上公式进行运算,即求outer product。 然后会被拉直为DxD维向量, 
outer product的定义: 
这里写图片描述

blinear pooling就是在每个位置如上计算,随后求sum, 
这里写图片描述

有一些解释为由于bilinear 考虑了两个特征间每个元素的interaction,所以效果会更好 
说道这里我们可以讨论一下,为什么bilinear pooling 可以提高效果

4 Multimodel compact bilinear pooling

从上面可以看出经过bilinear之后,维度变为原来的平方倍,后面的层会增加很多参数,为了使该过程更高效,这里加了降维的措施 
具体的处理手段是使用count sketch的方法降维求外积: 
这里写图片描述

其中的星号*,代表卷积操作,这里写图片描述,可以表示为这里写图片描述 具体的原因可以参考:

[Pham and Pagh2013] Ninh Pham and Rasmus Pagh. 2013. Fast and scalable polynomial kernels via explicit feature maps. In Proceedings of the 19th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, KDD ’13, pages 239–247, New York, NY, USA. ACM.

计算过程 
这里写图片描述 
之后可能会专门写一篇关于类似的计算,这里就偷下懒了⁄(⁄ ⁄•⁄ω⁄•⁄ ⁄)⁄ 
这里写图片描述

加入attention之后的框架, 
这里写图片描述

这篇关于VQA 之 Multimodal Compact Bilinear Pooling的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/346999

相关文章

How to leverage pre-trained multimodal model?

However, embodied experience is limited inreal world and robot. How to leverage pre-trained multimodal model? https://come-robot.github.io/

Convolutional layers/Pooling layers/Dense Layer 卷积层/池化层/稠密层

Convolutional layers/Pooling layers/Dense Layer 卷积层/池化层/稠密层 Convolutional layers 卷积层 Convolutional layers, which apply a specified number of convolution filters to the image. For each subregion, the

C++卷积神经网络实例:tiny_cnn代码详解(6)——average_pooling_layer层结构类分析

在之前的博文中我们着重分析了convolutional_layer类的代码结构,在这篇博文中分析对应的下采样层average_pooling_layer类:   一、下采样层的作用   下采样层的作用理论上来说由两个,主要是降维,其次是提高一点特征的鲁棒性。在LeNet-5模型中,每一个卷积层后面都跟着一个下采样层:   原因就是当图像在经过卷积层之后,由于每个卷积层都有多个卷积

HBase Connection Pooling

两种方法获得连接: Configuration configuration = HBaseConfiguration.create(); ExecutorService executor = Executors.newFixedThreadPool(nPoolSize); (1)旧API中:          Connection connection = HConnectionManag

一文彻底搞懂CNN - 卷积和池化(Convolution And Pooling)

Convolutional Neural Network CNN(卷积神经网络)最核心的两大操作就是卷积(Convolution)和池化(Pooling)。卷积用于特征提取,通过卷积核在输入数据上滑动计算加权和;池化用于特征降维,通过聚合统计池化窗口内的元素来减少数据空间大小。 Convolution And Pooling 一、_卷积(Convolution) 卷积(Convol

[CLIP-VIT-L + Qwen] 多模态大模型源码阅读 - MultiModal篇

[CLIP-VIT-L + Qwen] 多模态大模型源码阅读 - MultiModal篇 前情提要源码阅读导包逐行讲解 dataclass部分整体含义逐行解读 模型微调整体含义逐行解读 MultiModal类整体含义逐行解读 参考repo:WatchTower-Liu/VLM-learning; url: VLLM-BASE 前情提要 有关多模态大模型架构中的语言模型部分

CV-笔记-重读Fast R-CNN的ROI pooling

目录 1 原图上的ROI坐标如何映射到feature map上?2 ROI Pooling是如何做?3 ROI Pooling的梯度反向传播是怎么做的?4 那么多的ROI Pooling做完以后是怎么进入到全连接层进行训练的?5 正负样本怎么制作?6 loss怎么计算?smooth L1 7回归的数值是什么?引用 Fast R-CNN主要是使用了一个ROI Pooling操作来对候

多模态学习Multimodal Learning:人工智能中的多模态原理与技术介绍初步了解

多模态学习(Multimodal Learning)是机器学习中的一个前沿领域,旨在综合处理和理解来自不同模态的数据。模态可以包括文本、图像、音频、视频等。随着数据多样性和复杂性增加,多模态学习在自然语言处理、计算机视觉、语音识别等领域中的应用变得愈加重要。本文将详细探讨多模态学习的原理、关键技术、挑战及其实际应用。 一、多模态学习的基本概念 什么是多模态学习? 多模态学习指的是通过同时

MDPO:Conditional Preference Optimization for Multimodal Large Language Models

MDPO: Conditional Preference Optimization for Multimodal Large Language Models 相关链接:arxiv 关键字:多模态、大型语言模型、偏好优化、条件偏好优化、幻觉减少 摘要 直接偏好优化(DPO)已被证明是大型语言模型(LLM)对齐的有效方法。近期的研究尝试将DPO应用于多模态场景,但发现难以实现一致的改进。通

【博客719】时序数据库基石:LSM Tree的Compact策略

时序数据库基石:LSM Tree的Compact策略 场景: 为什么Compact操作是十分关键的操作,否则SSTable数量会不断膨胀。 在Compact策略之前,先介绍三个比较重要的概念,事实上不同的策略就是围绕这三个概念之间做出权衡和取舍。 读放大:读取数据时实际读取的数据量大于真正的数据量。例如在LSM树中需要先在MemTable查看当前key是否存在,不存在继续从SSTable中