点击上方,选择星标或置顶,每天给你送干货!
阅读大概需要7分钟
跟随小博主,每天进步一丢丢
每日英文
I know what I want, and I know how to get it, and doing it now.that's all.
我知道我想要什么,也知道我该怎么去得到,而且正在做。这样就够了。
Recommender:云不见
作者:刘子仪
方向:自然语言处理
编辑:王萌-深度学习自然语言处理公众号
什么是Visual Question Answering
在介绍这篇论文之前先看一下什么是visual question answering(VQA)。VQA,其实就是关于图片的问答,以本文用到的CLEVR数据集为例,如下图所示,根据图片信息提出问题并回答。CLEVR数据集的问题大多是“是否存在…”,”有多少…”,“…什么颜色“之类较简单的问题,答案也较单一。
背景
本文的neural-symbolic指的是神经网络和符号操作的结合。神经网络参数的灵活性可以使其更灵活的探索latent space,但是神经网络模型的缺点是缺乏可解释性和一些系统的概括能力。符号操作(symbol manipulation)欠缺灵活性,却提供了可解释性。因此目前有一些工作聚焦于neural-symbolic,通过结合表征学习和符号推理来提升机器的理解能力。
任务介绍
本文结合Neural和Program,对于VQA的image i 和question x, 生成一个program z, 以program制定推理过程,使用神经网络进行具体运算。如下图所示,蓝色框内是program,也就是对应论文中的symbolic,这个program规定了推理的过程,例如问题是方块的数量是否大于黄色物体的数量,它首先从场景中过滤出yellow和cube两个关键词,再对两者分别进行计数,最后对比两者的count。在构建program的过程中,将会动态产生一组参数θ,每一个参数代表一个模块。
概率图模型
接下来是如何用概率图模型联合建模,它分为两个步骤: Generative Model和Inference Network。
a) Generative model
Generative model构建的是一个given i 关于问题,答案,program的一个模型,它的整个过程是从 z 的先验分布中采样一个Program z,然后由这个 z 生成一个问题 x ,再结合image i,z, 生成问题的答案,从下图概率图中的实线可以看出,z同时生成 x 和参数组 θ ,θ和image i 结合产生答案。注意在训练过程中,问题 x 不参与生成答案。下式是Generative Model的联合概率模型,和
都被参数化成LSTM网络,其中先验概率p(z)是通过极大似然来预训练,在之后的训练中这个概率分布是固定的。参数组θ会参数化小的CNN,这些CNN选择性地将图像中的注意力图作为输入。
b) Inference Network
Inference Network的过程是通过问题生成Program z,然后结合image i,z,生成问题的答案,图中的虚线表示由问题推出program,接下来的步骤和generative model 一样。
在这个过程中学习的概率模型是 ,同样也是被参数化成LSTM网络。
参数学习
本文使用的是stage-wise optimization,一共分为三步,分别是:
Question Coding 优化参数{σ,Φ} 来学习如何根据程序来表示question
Module Training 优化参数????z使用神经网络????z执行程序
Joint Training 前两步的联合训练
之所以要分三步训练,而不是直接进行第三步联合训练的原因有以下两点:
如果不单独训练question coding,学习参数组θ将变得困难,尤其是当program的数量远小于问答对的数量时,因为 p(a|i.z) 在训练时是通过神经网络
来实施的。它关于program choices的优化是离散的,在
不确定的情况下会对优化产生负面影响。
直接联合训练而不先进行module training也是可行的,但会更棘手,因为从一个没有训练过的神经网络中直接传递梯度给inference network会增加噪声。
实验与结果
实验使用的数据包括CLEVR和SHAPES。实验设置的一个亮点是semi-supervised training,以CLEVR数据集为例,这个数据集的训练集每一个问题都对应了一个program,这些都是已经标注好的,但是在本文中,它在question coding阶段只使用了1000对program和对应的问题,占整个训练集的0.14%。SHAPES数据集设置成几组不同程度的半监督,分别是5%,10%,15%,20%的program占比。实验最后和之前的2017年发布的NMN baseline进行了对比。实验结果如下
值得一提的是在结果分析中,他们提出该模型具有coherence和sensitivity。(这个结果是sampling z~p(z|a,i) 得到的,和上述的训练过程没有关系)如下图所示,在图中coherence部分,给定了图片和答案“yes“,模型可以给出多个不同的program指向这个答案,显示了reasoning的一种系统性。此外,在sensitivity部分,当答案变化时,可以发现reasoning patterns发生了明显的变化来匹配新的答案。
Vedantam R, Desai K, Lee S, et al.Probabilistic neural-symbolic models for interpretable visual question answering[J].arXiv preprint arXiv:1902.07864, 2019.
说个正事哈
由于微信平台算法改版,公号内容将不再以时间排序展示,如果大家想第一时间看到我们的推送,强烈建议星标我们和给我们多点点【在看】。星标具体步骤为:
(1)点击页面最上方“深度学习自然语言处理”,进入公众号主页。
(2)点击右上角的小点点,在弹出页面点击“设为星标”,就可以啦。
感谢支持,比心。
投稿或交流学习,备注:昵称-学校(公司)-方向,进入DL&NLP交流群。
方向有很多:机器学习、深度学习,python,情感分析、意见挖掘、句法分析、机器翻译、人机对话、知识图谱、语音识别等。
记得备注呦
推荐两个专辑给大家:
专辑 | 李宏毅人类语言处理2020笔记