AI内参_131_125_计算机视觉高级话题二视觉问答
你好,我是洪亮杰。
今天我和你分享的主题是计算机视觉高级话题之二,视觉问答。
今天我们继续分享计算机视觉领域的高级话题,聊一聊视觉问答这个话题。
我们在前面曾经提到过,问答系统,可以说这是人工智能领域最核心的问题之一。
传统的问答系统主要是针对文字而言的,问题和答案,都是对文字的形式表达的。
当然,问答所针对的内容有可能来自一个外在的知识库。
例如,维基百科,我们今天要讨论的视觉问答,特别是自由形式或者开放形式的视觉问答,主要指的是根据一个图片进行自由的,基于自然语言的问答。
例如,我们可以问一个图片中是否存在一只猫,或者可以问图片里的天气是不是阴天等等。
那么,为什么视觉问答会在最近几年得到很多学者的关注呢?我们有必要先来分析一下视觉问答所面临的挑战。
首先,视觉问答需要对图片中的细节加以理解。
例如,我们问图片中的披萨用了哪种奶酪,那就代表着我们的系统必须能够识别披萨中的奶酪。
而这往往意味着非常微观的一些细节的物体的识别。
其次,视觉问答还需要我们对图片的上下文进行理解。
例如,我们可以问图片中有几辆自行车这个问题,其实不仅需要我们对图片中的自行车进行理解,还需要能够记数,这显然是一种更加复杂的理解任务。
除此以外,我们还需要对图片中的物体进行推理。
例如我们问图片中的披萨是不是素食披萨?那么这个问题就需要对披萨的种类进行分类,这是一个最基本的推理。
当然,视觉问答的挑战还远远不止这些。
但从这些例子我们已经可以看出,视觉问题是一个综合性的人工智能问题。
不少视觉问答的数据集,除了纯粹的图片作为输入以外,还有一个图片的标题,这个图片标题往往提供了不少的信息,接算是帮助研究者在一定程度上降低任务的难度。
如果需要对视觉问答的总体情况有一个更加深入的理解。
推荐你阅读我在文末列处的参考文献。
接下来我们来聊一个视觉问答的基础模型。
这个模型需要对问题图片以及图片、标题分别进行建模,从而能够进行问答。
针对问题模型利用所有问题中的重要词进行词包的表达,并且得到了一个一千零三十维度的输入表征。
类似的针对图片标题模型也进行词包表达。
那到了针对一千维度最高频次的表征。
最后,作者们利用了VGG网络来提取图片的特征,得到了一个四千零九十六维度的图像表征。
一种更加简单的方法,则是先利用神经网络的隐含层,针对每一种特征单独训练,然后把第一层中间层给串联起来,串联起来之后,这就是所有特征的一种联合的表达了。
那么我们可以再经过一层隐含层学习到各个表征之间的相互关系。
文章中还讨论了另外一种模型,那就是利用LSTM来把问题和图像结合到一起来。
最后,对回答进行预测。
在这样的模型架构下,回答的准确度大概在百分之五十五左右。
如何来理解这个准确度度呢?同样的一个数据集中,如果针对所有的问题,回答都是是所达到的准确度大概是百分之二十多。
在最初的模型被开发出来以后的几年时间里,针对视觉问答的各类模型如雨后春笋般爆发式的增长,其中一大类的模型利用了关注机制。
在深度模型中,关注机制是一种相对来说复杂一些的加权模式。
也就是说,我们希望对某一些神经元或者是隐含变量,更加关注一些这个机制在视觉问答中的一种应用,就是针对不同的问题。
我们希望让模型学习到图片的哪一部分来负责回答。
在一篇论文中,作者们提出了一种更加高级的关注机制,那就是层次同关注这个机制是什么样的呢?针对某一个回答,我们不仅要学习到究竟需要模型看到图片的某一个局部。
这也就是我们刚才说到的加权,还需要针对问题,也就是文字进行加权。
这里的一个观察是,有时候一个问题中的核心其实就是几个关键词。
这些关键词直接影响了回答,这就是同关注这一概念。
文章中还提出了另外一个概念,那就是层次。
关注是指问题的文字在单词、短语以及整个提问三个层次来进行建模。
可以说,这种方法在语义的局部以及整体上更能找到问题的核心所在。
最后需要提及一点,最近的一些研究,又把视觉问答和推理特别是神经编程联系起来,让回答问题变成自动生成程序的某种特殊形式。
今天呢为你讲了计算机视觉高级话题之一的视觉问答的概念,一起来回顾一下要点。
第一,我们讲了视觉问答所面临的三大主要挑战。
第二,我们讨论了对视觉问答进行建模的一些基本思路。
第后给你留一个思考题,你觉得当前视觉问答的主要瓶颈是什么?欢迎你给我留言,和我一起讨论。