-->

AI内参_131_125_计算机视觉高级话题二视觉问答

你好,我是洪亮杰。

今天我和你分享的主题是计算机视觉高级话题之二,视觉问答。

今天我们继续分享计算机视觉领域的高级话题,聊一聊视觉问答这个话题。

我们在前面曾经提到过,问答系统,可以说这是人工智能领域最核心的问题之一。

传统的问答系统主要是针对文字而言的,问题和答案,都是对文字的形式表达的。

当然,问答所针对的内容有可能来自一个外在的知识库。

例如,维基百科,我们今天要讨论的视觉问答,特别是自由形式或者开放形式的视觉问答,主要指的是根据一个图片进行自由的,基于自然语言的问答。

例如,我们可以问一个图片中是否存在一只猫,或者可以问图片里的天气是不是阴天等等。

那么,为什么视觉问答会在最近几年得到很多学者的关注呢?我们有必要先来分析一下视觉问答所面临的挑战。

首先,视觉问答需要对图片中的细节加以理解。

例如,我们问图片中的披萨用了哪种奶酪,那就代表着我们的系统必须能够识别披萨中的奶酪。

而这往往意味着非常微观的一些细节的物体的识别。

其次,视觉问答还需要我们对图片的上下文进行理解。

例如,我们可以问图片中有几辆自行车这个问题,其实不仅需要我们对图片中的自行车进行理解,还需要能够记数,这显然是一种更加复杂的理解任务。

除此以外,我们还需要对图片中的物体进行推理。

例如我们问图片中的披萨是不是素食披萨?那么这个问题就需要对披萨的种类进行分类,这是一个最基本的推理。

当然,视觉问答的挑战还远远不止这些。

但从这些例子我们已经可以看出,视觉问题是一个综合性的人工智能问题。

不少视觉问答的数据集,除了纯粹的图片作为输入以外,还有一个图片的标题,这个图片标题往往提供了不少的信息,接算是帮助研究者在一定程度上降低任务的难度。

如果需要对视觉问答的总体情况有一个更加深入的理解。

推荐你阅读我在文末列处的参考文献。

接下来我们来聊一个视觉问答的基础模型。

这个模型需要对问题图片以及图片、标题分别进行建模,从而能够进行问答。

针对问题模型利用所有问题中的重要词进行词包的表达,并且得到了一个一千零三十维度的输入表征。

类似的针对图片标题模型也进行词包表达。

那到了针对一千维度最高频次的表征。

最后,作者们利用了VGG网络来提取图片的特征,得到了一个四千零九十六维度的图像表征。

一种更加简单的方法,则是先利用神经网络的隐含层,针对每一种特征单独训练,然后把第一层中间层给串联起来,串联起来之后,这就是所有特征的一种联合的表达了。

那么我们可以再经过一层隐含层学习到各个表征之间的相互关系。

文章中还讨论了另外一种模型,那就是利用LSTM来把问题和图像结合到一起来。

最后,对回答进行预测。

在这样的模型架构下,回答的准确度大概在百分之五十五左右。

如何来理解这个准确度度呢?同样的一个数据集中,如果针对所有的问题,回答都是是所达到的准确度大概是百分之二十多。

在最初的模型被开发出来以后的几年时间里,针对视觉问答的各类模型如雨后春笋般爆发式的增长,其中一大类的模型利用了关注机制。

在深度模型中,关注机制是一种相对来说复杂一些的加权模式。

也就是说,我们希望对某一些神经元或者是隐含变量,更加关注一些这个机制在视觉问答中的一种应用,就是针对不同的问题。

我们希望让模型学习到图片的哪一部分来负责回答。

在一篇论文中,作者们提出了一种更加高级的关注机制,那就是层次同关注这个机制是什么样的呢?针对某一个回答,我们不仅要学习到究竟需要模型看到图片的某一个局部。

这也就是我们刚才说到的加权,还需要针对问题,也就是文字进行加权。

这里的一个观察是,有时候一个问题中的核心其实就是几个关键词。

这些关键词直接影响了回答,这就是同关注这一概念。

文章中还提出了另外一个概念,那就是层次。

关注是指问题的文字在单词、短语以及整个提问三个层次来进行建模。

可以说,这种方法在语义的局部以及整体上更能找到问题的核心所在。

最后需要提及一点,最近的一些研究,又把视觉问答和推理特别是神经编程联系起来,让回答问题变成自动生成程序的某种特殊形式。

今天呢为你讲了计算机视觉高级话题之一的视觉问答的概念,一起来回顾一下要点。

第一,我们讲了视觉问答所面临的三大主要挑战。

第二,我们讨论了对视觉问答进行建模的一些基本思路。

第后给你留一个思考题,你觉得当前视觉问答的主要瓶颈是什么?欢迎你给我留言,和我一起讨论。