论文笔记:分层问题-图像共注意力问答

news2024/9/20 5:56:26

整理了2017 Hierarchical Question-Image Co-Attention for Visual Question Answering)论文的阅读笔记

  • 背景
  • 模型
    • 问题定义
    • 模型结构
      • 平行共注意力
      • 交替共注意力
  • 实验
  • 可视化

背景

  视觉问答(VQA)的注意力模型在此之前已经有了很多工作,这种模型生成了突出显示与回答问题相关的图像区域的空间地图。在本文中,作者认为除了建模“看哪里”或视觉注意力外,建模“听什么话”或提问注意力同样重要。因此提出了一种新的VQA共注意模型。
  主要贡献:提出了一种视觉注意和问题注意共同推理的机制,与以往的作品只关注视觉注意力不同,本文的模型在图像和问题之间具有天然的对称性,即使用图像表征来引导问题注意力,使用问题表征来引导图像注意力;建立了一个层次结构,在三个层次上共同关注图像和问题:(a)词级,(b)短语级和©问题级。在单词级别,通过嵌入矩阵将单词嵌入到向量空间中。在短语级,使用一维卷积用于捕获单字母、双字母和三字母中包含的信息。
在这里插入图片描述

模型

  具体来说,本文将单词表示与不同支持度的过滤器进行卷积,然后通过将各种n-gram响应汇集到单个短语级表示中来组合它们。在问题层面,使用递归神经网络对整个问题进行编码。对于该层次结构中问题表示的每一层,构建联合问题和图像共同注意图,然后将它们递归地组合在一起,最终预测答案的分布。

问题定义

  给定一个有T个单词的问题,其表示为 Q = q 1 , . . . , q T Q=q_1,...,q_T Q=q1,...,qT,其中 q T q_T qT是第t个单词的特征向量。我们将 q t w 、 q t p 、 q t s q_t^w、q_t^p、q_t^s qtwqtpqts分别表示为t位置的词嵌入、短语嵌入和问题嵌入。图像特征用 V = v 1 , . . . , v n V=v_1,...,v_n V=v1,...,vn表示,其中 v n v_n vn为空间位置n处的特征向量。层次结构中每一层图像和问题的共同关注特征记为 v r 、 q r v^r、q^r vrqr
  对于 Q = q 1 , . . . , q T Q=q_1,...,q_T Q=q1,...,qT,首先使用词编码得到 Q = q 1 w , . . . , q T w Q=q_1^w,...,q_T^w Q=q1w,...,qTw,为了计算短语特征,我们对词嵌入向量进行一维卷积。具体地说,在每个词的位置,我们用三种窗口大小的过滤器计算词向量的内积:unigram, bigram和trigram。对于第t个单词,窗口大小为s的卷积为 q ^ s , t p = t a n h ( W c s q t : t + s − 1 w )       s ∈ { 1 , 2 , 3 } \hat q_{s,t}^p=tanh(W_c^sq_{t:t+s-1}^w) \ \ \ \ \ s\in\{1,2,3\} q^s,tp=tanh(Wcsqt:t+s1w)     s{1,2,3}  给定卷积结果,然后在每个单词位置跨不同n-gram应用最大池化以获得短语级特征 q t p = m a x ( q ^ 1 , t p , q ^ 2 , t p , q ^ 3 , t p )          t ∈ { 1 , 2 , . . . , T } q_t^p=max(\hat q_{1,t}^p,\hat q_{2,t}^p,\hat q_{3,t}^p)\ \ \ \ \ \ \ \ t \in\{1,2,...,T\} qtp=max(q^1,tp,q^2,tp,q^3,tp)        t{1,2,...,T}  使用LSTM对最大池化后的序列 q t P q_t^P qtP进行编码。对应的问题级特征 q t s q_t^s qts是时刻t的LSTM隐藏向量。

模型结构

  到这个地方,我们就得到了三个层次上的问题特征(词级,短语级和问题级),以及是使用预训练模型提取的图片的token特征,本文提出了两种共同注意机制,它们在生成图像和问题注意图的顺序上有所不同。第一种机制是平行共同注意,它同时产生图像和问题注意。第二种机制是交替共同注意,在生成图像和问题注意之间依次交替:在这里插入图片描述

平行共注意力

  该共注意力机制通过计算图像和问题在所有图像位置和问题位置对的特征之间的相似度来连接图像和问题。具体来说,给定图像特征映射 V ∈ R d × N V\in R^{d×N} VRd×N和问题表示 Q ∈ R d × N Q\in R^{d×N} QRd×N,亲和矩阵 C ∈ R T × N C \in R^{T×N} CRT×N的计算方式为: C = t a n h ( Q T W b V ) C=tanh(Q^TW_bV) C=tanh(QTWbV)  在计算这个亲和力矩阵之后,计算图像(或问题)注意力的一种可能的方法是简单地最大化其他模态位置上的亲和力,即 α v [ n ] = m a x i ( C i , n ) α^v[n]=max_i(C_{i,n}) αv[n]=maxi(Ci,n) α q [ t ] = m a x j ( C t , j ) α^q[t]=max_j(C_{t,j}) αq[t]=maxj(Ct,j)。但是作者提出了一种方法,把相似关联矩阵看成是feature, 并且学习去预测image和question的注意力图,即: H v = t a n h ( W v V + ( W q Q ) C ) H^v=tanh(W_vV+(W_qQ)C) Hv=tanh(WvV+(WqQ)C) H q = t a n h ( W q Q + ( W v V ) C T ) H^q =tanh(W_qQ+(W_vV)C^T) Hq=tanh(WqQ+(WvV)CT) α v = s o f t m a x ( w h v T ) α^v=softmax(w_{hv}^T) αv=softmax(whvT) α q = s o f t m a x ( w h q T H q ) α^q=softmax(w_{hq}^TH^q) αq=softmax(whqTHq)  其中, α v ∈ R N α^v\in R^N αvRN α q ∈ R T α^q\in R^T αqRT分别为每个图像区域vn和单词qt的注意概率,亲和矩阵C将问题注意空间转换为图像注意空间。基于上述关注权重,将图像和问题的关注向量计算为图像特征和问题特征的加权和: v ^ = ∑ n = 1 N α n v v n \hat v=\sum_{n=1}^Nα_n^vv_n v^=n=1Nαnvvn q ^ = ∑ t = 1 T α t q q t \hat q=\sum_{t=1}^Tα_t^qq_t q^=t=1Tαtqqt

交替共注意力

  在这种注意机制中,依次在生成图像和问题注意之间交替进行。简而言之,这包括三个步骤(如图2b所示):1)将问题总结为单个向量q;2)根据总结的问题特征关注图像;3)根据注意力的图像特征注意问题。
  具体地说,本文定义了一个注意操作 x ^ = A ( x : g ) \hat x=A(x:g) x^=A(x:g),以图像(或问题)特征X和来源于问题(或图像)的注意引导g为输入,输出注意力加强的图像(或问题)特征向量,即:
H = t a n h ( W x X + ( W g g ) 1 T ) H=tanh(W_xX+(W_gg)1^T) H=tanh(WxX+(Wgg)1T) α x = s o f t m a x ( w h x T H ) α^x=softmax(w_{hx}^TH) αx=softmax(whxTH) x ^ = ∑ α i x x i \hat x=\sumα_i^xx_i x^=αixxi  其中, 1 T 1^T 1T是全1矩阵的转置, α x α_x αx是对特征X的注意力权重。
  共注意力在问题特征的三个层次上进行,得到 v ^ r \hat v^r v^r q ^ r \hat q^r q^r r ∈ { w , p , s } r\in\{w,p,s\} r{w,p,s}。本文将VQA视为分类任务。根据所有三个层次的共出席图像和问题特征来预测答案。使用多层感知器(MLP)对注意力特征进行递归编码: h w = t a n h ( W w ( q ^ w + v ^ w ) ) h^w=tanh(W_w(\hat q^w+\hat v^w)) hw=tanh(Ww(q^w+v^w)) h p = t a n h ( W p [ ( q ^ p + v ^ p ) , h w ] ) h^p=tanh(W_p[(\hat q^p+\hat v^p),h^w]) hp=tanh(Wp[(q^p+v^p),hw]) h p = t a n h ( W s [ ( q ^ s + v ^ s ) , h p ] ) h^p=tanh(W_s[(\hat q^s+\hat v^s),h^p]) hp=tanh(Ws[(q^s+v^s),hp]) p = s o f t m a x ( W h h s ) p=softmax(W_hh^s) p=softmax(Whhs)其中,p是最终答案的概率。
在这里插入图片描述

实验

  在两个数据集上评估了所提出的模型:VQA数据集和COCO-QA数据集。表1是VQA数据集结果,表2是COCO-QA数据集结果。在这里插入图片描述在这里插入图片描述
  其中, O u r s p Ours^p Oursp表示平行共注意机制, O u r s α Ours^α Oursα表示交替共注意机制。
消融实验:

  1. Image Attention alone,与之前的作品类似,我们没有使用任何问题注意力。这种比较的目的是验证我们的改进不是正交贡献的结果。(比如更好的优化或更好的CNN特征)。
  2. Question Attention alone,仅进行提问注意,不进行图像注意。
  3. W/O Conv,其中不执行卷积和池化来表示短语。相反,我们在单词级输出的顶部堆叠另一个单词嵌入层。
  4. W/O W-attention,没有单词级别的共同注意。我们用均匀分布来代替单词级别的注意力。短语和问题级的共同关注仍然是建模的。
  5. W/O p-attention,其中不执行短语级别的共同注意,并且短语级别的注意设置为统一。单词和问题级的共同关注仍然被建模。
  6. W/O q-attention,不执行问题级别的共同注意。我们用均匀分布来代替问题级别的关注。单词和短语级别的共同关注仍然被建模。在这里插入图片描述

可视化

  COCO-QA数据集上的图像和问题共同关注图的可视化。从左至右:原始图像和问题对、词级共同注意图、短语级共同注意图和问题级共同注意图。在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1553508.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

EDA 全加器设计及例化语句应用

文章目录 前言一、全加器是什么?二、使用步骤1.半加器2.全加器1.新建一个全加器工程2.添加半加器的.v文件到全加器工程中3.新建全加器.v文件,写程序,调用半加器.v文件 完成例化 三、仿真效果总结 前言 提示:这里可以添加本文要记…

【Linux】体验一款开源的Linux服务器运维管理工具

今天为大家介绍一款开源的 Linux 服务器运维管理工具 - 1panel。 一、安装 根据官方那个提供的在线文档,这款工具的安装需要执行在线安装, # Redhat / CentOScurl -sSL https://resource.fit2cloud.com/1panel/package/quick_start.sh -o quick_start…

腾讯云邮件推送功能有哪些?如何有效使用?

腾讯云邮件推送如何设置?怎么用邮件推送做高效营销? 腾讯云作为业界领先的云服务提供商,其邮件推送功能在便捷性、稳定性和安全性上都有着出色的表现。那么,腾讯云邮件推送功能究竟有哪些呢?让AokSend来探个究竟。 腾…

基于Python的电商特产数据可视化分析与推荐系统

温馨提示:文末有 CSDN 平台官方提供的学长 QQ 名片 :) 1. 项目简介 利用网络爬虫技术从某东采集某城市的特产价格、销量、评论等数据,经过数据清洗后存入数据库,并实现特产销售、市场占有率、价格区间等多维度的可视化统计分析,并…

愚人节海外网红营销:如何避免“愚人”变“愚己”?

2024年愚人节即将到来,这个一年一度的日子既是欢乐的时刻,也是一个对品牌来说充满挑战的时刻。在这一天,人们习惯性地开展各种恶作剧和愚人行为,而对于企业和品牌来说,通过海外网红营销参与其中,既是一种与…

C#OpenCvSharp YOLO v3 Demo

目录 效果 项目 代码 下载 效果 项目 代码 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using OpenCvSharp; using S…

010_documentation_in_Matlab中的帮助与文档

Matlab中的帮助与文档 1. 前言 一眨眼已经写了十篇文章。 000在Matlab中使用Python包CoolProp001Matlab运行时间测试与时间复杂度分析002避免使用for循环003Matlab中的向量约定004Matlab中的矩阵约定005Matlab中的数组索引006Matlab中的逻辑数组索引007Matlab学习的启动与加…

OceanBase OBCA 数据库认证专员考证视频

培训概述 OceanBase 认证是 OceanBase 官方推出的唯一人才能力认证体系,代表了阿里巴巴及蚂蚁集团官方对考生关于 OceanBase 技术能力的认可,旨在帮助考生更好地学习 OceanBase 数据库产品,早日融入 OceanBase 技术生态体系,通过由…

SpringBoot Redis 之Lettuce 驱动

一、前言 一直以为SpringBoot中 spring-boot-starter-data-redis使用的是Jredis连接池,直到昨天在部署报价系统生产环境时,因为端口配置错误造成无法连接,发现报错信息如下: 一了解才知道在SpringBoot2.X以后默认是使用Lettuce作…

换芯片流程

1寻找芯片包 2.在这里改芯片 3.改芯片容量 4.改芯片启动文件 启动文件有且只能有1个 这里是把MD删掉改HD 5.改仿真

CDLF20-80不锈钢立式多级泵

在工业应用中,泵的作用至关重要。它不仅需要稳定地提升流体,还要确保在各种工况下都能保持高效和耐用。在众多类型的泵中,不锈钢立式多级泵由于其出色的性能和广泛的适用性,成为了工程师和技术人员的首选之一。特别是像CDLF20-80这…

33.HarmonyOS App(JAVA)鸿蒙系统app数据库增删改查

33.HarmonyOS App(JAVA)鸿蒙系统app数据库增删改查 关系数据库 关系对象数据库(ORM) 应用偏好数据库 分布式数据库 关系型数据库(Relational Database,RDB)是一种基于关系模型来管理数据的数据库。HarmonyOS关系型…

小米还涉足了哪些领域

小米作为一家全球性的移动互联网企业,其业务领域相当广泛,除了核心的智能手机业务外,还涉足了许多其他领域。以下是对小米涉足领域的简要介绍: 智能硬件与IoT平台:小米是全球领先的智能硬件和IoT平台公司,致…

Webpack生成企业站静态页面 - ajax请求

一些项目因需求不同,如需SEO或小项目,使用angular、react或vue就大材小用了。可以通过webpack、gulp这些构建工具,也能快速完成html页面开发,并且也能使用less/sass/styus等样式预编译功能,以及将js、html分模块、分组…

WhatsApp防封指南:封号原因与解封方法

相信各位小伙伴已经发现,WhatsApp新一轮风控已经启动,不少小伙伴已经受到封号潮的冲击。无论是老号还是新号都难以幸免。为了防止WhatsApp客户数据和聊天信息的丢失,针对封号的防封攻略请收藏! 一、WhatsApp被封的8个原因 1、被过…

单片机之串口通信

目录 串口介绍 通信的基本概念 并行通信和串行通信 同步通信和异步通信 串行异步通信方式 串行同步通信方式 通信协议 单片机常见通信接口 串行通信三种模式 串口参数 传输速度 ​串口的连接 电平标准 串行口的组成 串口数据缓冲寄存器 串行口控制寄存器 串口…

(免费分享)基于springboot,vue付费自习室系统带论文

在当今数字化时代,高效、便捷的管理系统成为了各行各业不可或缺的工具。特别是在教育服务领域,自习室作为学生和在职人员重要的学习场所,其预约和管理需求日益增长。为了满足这一市场需求,本文开发了这款基于微信小程序的付费自习…

springboot实战---5.最简单最高效的后台管理系统开发

🎈个人主页:靓仔很忙i 💻B 站主页:👉B站👈 🎉欢迎 👍点赞✍评论⭐收藏 🤗收录专栏:SpringBoot 🤝希望本文对您有所裨益,如有不足之处&…

骗子查询系统源码

源码简介 小权云黑管理系统 V1.0 功能如下: 1.添加骗子,查询骗子 2.可添加团队后台方便审核用 3.在线反馈留言系统 4.前台提交骗子,后台需要审核才能过 5.后台使用光年UI界面 6.新增导航列表,可给网站添加导航友链 7.可添加云黑类…

stm32之GPIO寄存器

文章目录 1 背景2 GPIO寄存器的类型2.1 端口配置寄存器2.2 设置/清除寄存器和位清除寄存器 3 总结 1 背景 C51单片机在进行数据的输入输出时,是直接操作与外部引脚关联的内部寄存器,例如,当设置P2_1为0时,就是将外部引脚的P21引脚…