You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

64 lines
8.3 KiB
Markdown

2 years ago
# 009 | 如何将“深度强化学习”应用到视觉问答系统?
本周我们一起来剖析ICCV 2017的论文周一和周三分别讲了最佳研究论文和最佳学生论文。今天我们来分享一篇完全不同的文章题目是《使用深度强化学习研究协作性视觉对话机器人》Learning Cooperative Visual Dialog Agents with Deep Reinforcement Learning讲的是如何通过“深度强化学习”来解决视觉问答系统。
## 作者群信息介绍
第一作者阿布谢克·达斯Abhishek Das是一名来自佐治亚理工大学的在读博士生。他于2017年和2018年在Facebook人工智能研究院实习已经获得了Adobe的研究奖学金和Snapchat的研究奖学金可以说是一名非常卓越的博士生。之前在智能系统特别是在利用强化学习研究智能机器人会话系统的领域已经发表了多篇论文。
共同第一作者萨特维克·库托儿Satwik Kottur来自卡内基梅隆大学博士第四年研究领域为计算机视觉、自然语言和机器学习。2016年暑假他在Snapchat的研究团队实习研究对话系统中的个性化问题。2017年暑假在Facebook研究院实习研究视觉对话系统。近两年萨特维克已在多个国际顶级会议如ICCV 2017、ICML 2017、IJCAI 2017、CVPR 2017、NIPS 2017以及EMNLP 2017发表了多篇高质量研究论文可以说是一颗冉冉升起的学术新星。
第三作者何塞·毛拉José M. F. Moura是萨特维克在卡内基梅隆大学的导师。何塞是美国工程院院士和IEEE院士长期从事信号处理以及大数据、数据科学的研究工作。他当选2018年IEEE总裁负责IEEE下一个阶段的发展。
第四作者斯特凡·李Stefan Lee是来自乔治亚理工大学的研究科学家之前在弗吉尼亚理工大学任职长期从事计算机视觉、自然语言处理等多方面的研究。斯特凡2016年博士毕业于印第安纳大学计算机系。
第五作者德鲁·巴塔Dhruv Batra目前是Facebook研究院的科学家也是乔治亚理工大学的助理教授。德鲁2010年博士毕业于卡内基梅隆大学2010年到2012年在位于芝加哥的丰田理工大学担任研究助理教授2013年到2016年在弗吉尼亚大学任教。德鲁长期从事人工智能特别是视觉系统以及人机交互系统的研究工作。文章的第四作者斯特凡是德鲁长期的研究合作者他们一起已经发表了包括本文在内的多篇高质量论文。
## 论文的主要贡献
我们首先来看一下这篇文章的主要贡献,理解这篇文章主要解决了什么场景下的问题。
这篇论文是建立在这么一个虚拟“游戏”Game的基础上的。
首先我们有两个“机器人”Agent一个叫“Q机器人”Q-Bot一个叫“A机器人”A-Bot。这个游戏的规则是这样的。一开始A机器人得到一张图片IQ机器人一开始得到I的一个文字描述c而并不知道图片本身。然后Q机器人开始问A机器人关于图片的各种问题A机器人听到问题之后进行作答帮助Q机器人更进一步理解图片。Q机器人最终的目的是能够把这个图片“猜到”也就是说能够把图片从一个数据库中“提取”Retrieve出来。当然在实际的操作中这一步可以是去衡量Q机器人对于图像的理解也就是“描述图像的向量”和“真实图像的描述向量”的差距差距越小说明越成功。
那么你可以看到这其实是一个很难的问题。Q机器人必须从A机器人提供的图像文字描述中寻找线索并且能够提出有意义的问题。而A机器人必须了解Q机器人到目前为止究竟理解什么信息才能帮助Q机器人成功。
整个游戏或者叫任务常常被称作是“协作性的视觉对话系统”Cooperative Visual Dialog System。**这篇文章的主要贡献就是第一个利用深度加强学习来对这样一个系统进行建模,并且,与之前的非加强学习模型相比,提出的解决方案极大地提高了准确度**。
## 论文的核心方法
那么,既然要把整个问题使用深度强化学习来建模,我们肯定就需要定义强化学习的一些构件。
第一,我们来看看模型的**“动作”Action**。两个机器人的动作空间就是自然语言的词汇表。因为在这个游戏或者说在强化学习的每一轮中两个机器人都是需要根据现在的状态来进行下一步的动作也就是问问题的语句。这是一个离散的动作空间。除此以外Q机器人还需要在每一轮之后对自己理解的图像向量进行更新。那么这是一个连续的动作空间。
第二,我们来看看模型的**“状态”State**。对于Q机器人来说每一轮的状态是一个这些信息的集合包括最初的A机器人提供的图像的描述以及到目前为止所有轮问答的每一句话。而A机器人的状态空间则包括最初的图像本身图像的描述以及到目前为止所有轮的对话。
第三,我们来看看模型的**“策略”Policy**。对A机器人和Q机器人来说都是要根据现在的状态来评估下面的语句的可能性。这里评估的机制其实分别用两个神经网络来学习A机器人和Q机器人的策略。同时Q机器人还需要有一个神经网络来根据现有的A机器人的回答来更新对图像的一个认识。
第四,我们来看一看模型的**“环境”Environment和“回馈”Reward**。在这个游戏里两个机器人都会得到一样的回馈而这个回馈的根据是Q机器人对图像的认识所表达的向量和图像的真实表达向量的一个距离或者更加准确地说是距离的变化量。
以上就是整个模型的设置。
那么我们来看两个模型策略神经网络的一些细节。首先对于Q机器人来说有这么四个重要的部件。第一Q机器人把当前轮自己问的问题和A给的回答当做一个组合用LSTM进行编码产生一个中间变量F。第二当前步骤的F和以前的所有F都结合起来再经过一个LSTM产生一个中间变量S。然后第三步我们根据这个S来产生下一步的语句以及当前对图像的一个重新的认识。也就是说**F其实就是一个对历史所有状态的描述而S则是一个压缩了的当前描述信息并且我们使用S来作为下一步的一个跳板**。A机器人的策略神经网络的架构非常类似这里就不赘述了区别在于不需要去产生图像的理解。
整个模型采用了目前深度强化学习流行的**REINFORCE算法**来对模型的参数进行估计。
这篇文章其实有不少技术细节,我们在今天的分享里只能从比较高的维度帮助你进行总结,如果有兴趣一定要去阅读原文。
## 方法的实验效果
作者们在一个叫VisDial的数据集上做了实验。这个数据集有6万8千幅图像是从我们之前提到过的COCO数据集里抽取出来的并且提供了超过68万对问答。可以说这个数据集还是比较大型的。
文章比较了利用普通的监督学习以及“课程学习”Curriculum Learning的方法。从效果来看强化学习的效果还是很明显的。**最直接的效果是,强化学习能够产生和真实对话相近的对话效果**,而其他的办法,比如监督学习,则基本上只能产生“死循环”的对话,效果不理想。不过从图像提取的角度来讲,强化学习虽然比监督学习的效果好,但是差距并不是特别明显,基本上可以认为目前的差距依然是在误差范围内的。
## 小结
今天我为你讲了ICCV 2017的一篇有意思的文章。这篇文章介绍了如何利用深度强化学习来搭建一个模型去理解两个机器人的对话并能够理解图像信息。
一起来回顾下要点:第一,我们简要介绍了这篇文章的作者群信息。第二,我们详细介绍了这篇文章要解决的问题以及贡献 。第三,我们重点介绍了的文章提出方法核心内容 。
最后,给你留一个思考题,你认为把强化学习用在这样的对话场景中,难点是什么?
欢迎你给我留言,和我一起讨论。