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

整理了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.mfbz.cn/a/497506.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

elementplus-vue-审核按钮-对话框(Dialog )

效果图&#xff1a; 代码&#xff1a; <template> <el-button type"success" click"dialogVisible true" :icon"Edit">审核</el-button> <el-dialog v-model"dialogVisible" title"是否通过" width&q…

持续集成流水线介绍(CI)

目录 一、概述 二、持续集成的典型操作流程 2.1 概述 2.2 持续集成的操作流程图 2.3 持续集成关键流程说明 三、构建持续集成流水线的方式 3.1 依托云厂商能力 3.2 采用开源产品 3.3 企业自研 四、构建持续化集成流水线 4.1 基于GitHub的持续集成流水线&#xff08;公…

Haproxy2.8.1+Lua5.1.4部署,haproxy.cfg配置文件详解和演示

目录 一.快速安装lua和haproxy 二.配置haproxy的配置文件 三.配置haproxy的全局日志 四.测试负载均衡、监控和日志效果 五.server常用可选项 1.check 2.weight 3.backup 4.disabled 5.redirect prefix和redir 6.maxconn 六.调度算法 1.静态 2.动态 一.快速安装lu…

uniApp使用XR-Frame创建3D场景(5)材质贴图的运用

上一篇讲解了如何在uniApp中创建xr-frame子组件并创建简单的3D场景。 这篇我们讲解在xr-frame中如何给几何体赋予贴图材质。 先看源码 <xr-scene render-system"alpha:true" bind:ready"handleReady"><xr-node><xr-assets><xr-asse…

Go的数据结构与实现【Set】

介绍 Set是值的集合&#xff0c;可以迭代这些值、添加新值、删除值并清除集合、获取集合大小并检查集合是否包含值&#xff0c;集合中的一个值只存储一次&#xff0c;不能重复。 本文代码地址为go-store 简单实现 这是集合的一个简单实现&#xff0c;还不是并发安全的&#…

【tensorflow框架神经网络实现鸢尾花分类】

文章目录 1、数据获取2、数据集构建3、模型的训练验证可视化训练过程 1、数据获取 从sklearn中获取鸢尾花数据&#xff0c;并合并处理 from sklearn.datasets import load_iris import pandas as pdx_data load_iris().data y_data load_iris().targetx_data pd.DataFrame…

kubernetes K8s的监控系统Prometheus升级Grafana,来一个酷炫的Node监控界面(二)

上一篇文章《kubernetes K8s的监控系统Prometheus安装使用(一)》中使用的监控界面总感觉监控的节点数据太少&#xff0c;不能快算精准的判断出数据节点运行的状况。 今天我找一款非常酷炫的多维度数据监控界面&#xff0c;能够非常有把握的了解到各节点的数据&#xff0c;以及运…

快速上手Spring Cloud 七:事件驱动架构与Spring Cloud

快速上手Spring Cloud 一&#xff1a;Spring Cloud 简介 快速上手Spring Cloud 二&#xff1a;核心组件解析 快速上手Spring Cloud 三&#xff1a;API网关深入探索与实战应用 快速上手Spring Cloud 四&#xff1a;微服务治理与安全 快速上手Spring Cloud 五&#xff1a;Spring …

AOP切入点表达式基本格式

版权声明 本文原创作者&#xff1a;谷哥的小弟作者博客地址&#xff1a;http://blog.csdn.net/lfdfhl 官方地址 https://docs.spring.io/spring-framework/reference/core/aop/ataspectj/pointcuts.html AOP切入点表达式基本格式如下&#xff1a; execution(modifiers-patte…

竞赛 python+opencv+深度学习实现二维码识别

0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; pythonopencv深度学习实现二维码识别 &#x1f947;学长这里给一个题目综合评分(每项满分5分) 难度系数&#xff1a;3分工作量&#xff1a;3分创新点&#xff1a;3分 该项目较为新颖&…

ES6 学习(三)-- es特性

文章目录 1. Symbol1.1 使用Symbol 作为对象属性名1.2 使用Symbol 作为常量 2. Iterator 迭代器2.1 for...of循环2.2 原生默认具备Interator 接口的对象2.3 给对象添加Iterator 迭代器2.4 ... 解构赋值 3. Set 结构3.1 初识 Set3.2 Set 实例属性和方法3.3 遍历3.4 相关面试题 4…

RabbitMQ3.x之四_RabbitMQ角色说明及创建用户与授权

RabbitMQ3.x之四_角色说明及创建用户与授权 文章目录 RabbitMQ3.x之四_角色说明及创建用户与授权1. 访问和授权1. Tags说明2. 命令行示例 2. 管理界面新建用户及访问授权1. 管理界面新建用户2. 管理界面中的授权说明3. guest用户不能远程登录提示 3. 创建用户1. 基本命令2. 实际…

新网站收录时间是多久,新建网站多久被百度收录

对于新建的网站而言&#xff0c;被搜索引擎收录是非常重要的一步&#xff0c;它标志着网站的正式上线和对外开放。然而&#xff0c;新网站被搜索引擎收录需要一定的时间&#xff0c;而且时间长短受多种因素影响。本文将探讨新网站收录需要多长时间&#xff0c;以及新建网站多久…

微信小程序更换头像的功能

微信小程序开发&#xff0c;个人中心中更换头像的更能使用频率很高&#xff0c;这里记录下实现方式&#xff1a; <view class"setting-list avatar-container"><text>头像</text><view class"avatar"><button hover-class"…

华为云使用指南02

5.​​使用GitLab进行团队及项目管理​​ GitLab旨在帮助团队进行项目开发协作&#xff0c;为软件开发和运营生命周期提供了一个完整的DevOps方案。GitLab功能包括&#xff1a;项目源码的管理、计划、创建、验证、集成、发布、配置、监视和保护应用程序等。该镜像基于CentOS操…

ZK友好代数哈希函数安全倡议

1. 引言 前序博客&#xff1a; ZKP中的哈希函数如何选择ZK-friendly 哈希函数&#xff1f;snark/stark-friendly hash函数Anemoi Permutation和Jive Compression模式&#xff1a;高效的ZK友好的哈希函数Tip5&#xff1a;针对Recursive STARK的哈希函数 随着Incrementally Ve…

STM32 字符数组结束符 “\0”

STM32 字符数组结束符 “\0” 使用字符数组使用printf&#xff0c;string参考 使用字符数组 使用STM32的串口发送数据&#xff0c;核心代码如下&#xff1a; char str[] "hello world!\n\r";while(1) {HAL_UART_Transmit(&huart2, str, sizeof (str), 10);HAL…

构建一个基础的大型语言模型(LLM)应用程序

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…

Radio Silence for mac 好用的防火墙软件

Radio Silence for Mac是一款功能强大的网络防火墙软件&#xff0c;专为Mac用户设计&#xff0c;旨在保护用户的隐私和网络安全。它具备实时网络监视和控制功能&#xff0c;可以精确显示每个网络连接的状态&#xff0c;让用户轻松掌握网络活动情况。 软件下载&#xff1a;Radio…

图扑数字孪生智慧城市,综合治理一屏统览

现代城市作为一个复杂系统&#xff0c;牵一发而动全身&#xff0c;城市化进程中产生新的矛盾和社会问题都会影响整个城市系统的正常运转。智慧城市是应对这些问题的策略之一。领导曾在中央城市工作会议上指出&#xff0c;城市工作要树立系统思维&#xff0c;从构成城市诸多要素…
最新文章