视觉与语言领域年度进展概述
计算机视觉已经发展了五十多年。在此期间,视觉理解(visual understanding)这一领域取得了长足的进展。为了让机器像人类一样能够“看”懂周围的世界,计算机视觉研究人员设计了大量的人工特征去描述一件物体,并且提出了各种模型去识别这些人为设计的特征。几年前,当我们谈论图像或视频理解时,我们能做的只是给一幅图像或一段视频自动打上一些彼此相互独立的标签(tag)。而今天,我们已经可以借用深度学习的发展将视觉理解这一基础任务再往前推进一步,即将单个的标签变成一段和当前视觉内容相关并且通顺连贯的自然语言描述。
视觉和语言(Vision and Language)其实是一个交叉领域。想要建立视觉和自然语言的桥梁,不仅需要理解视觉,也要知道如何对自然语言进行建模。同时,这个桥梁也可以是双向的,既可以从视觉生成文字(如caption、sentiment、visual question answering等),也可以从文字到视觉(如generation、search)。
最早的一篇做图像语言描述的论文来自于ECCV 2010,此后随着深度学习在视觉任务中的普及,视觉和语言这一新兴领域越来越受到大家的关注,在 CVPR 2015和 CVPR 2016中分别收录了5篇和7篇相关论文。这个领域因为同时涉及了视觉和语言处理,所以CVPR/ICCV/ACL等视觉和语言处理会议中都收录了相关的高质量文章。
Image Captioning 的基本思路来源于语言翻译,其流程大体是先使用 CNN 对图片进行编码得到视觉特征表示,然后使用 RNN 对这个特征进行解码来生成图像描述。在提取视觉特征时,可以使用高级语义特征和注意力机制等计算机视觉领域常用的方法,也可以直接使用自动编码器进行处理。
Image Captioning方面的工作可以总结为“Image Captioning with X”,其中的 X 可以是 Visual Attention, Visual Attributes, Entity Recognition, Dense Caption 和 Reinforcement Learning等模块。IBM 最近的一篇 CVPR2017文章就在 Image Captioning 任务中使用了增强学习,通过在目标函数中加入 reward optimize function 来实现这一功能。
在微软亚洲研究院最新的论文中,我们在现有的CNN-LSTM Translation Model(如图中黑色流程线所示)基础上使用 Multiple Instance Learning 学习图片中一些内在的概念,并将这个语义信息作为 LSTM 的输入对其进行约束以提升性能(如图中蓝色流程线所示)。
Video Captioning 与 Image Captioning 有所不同,当我们要理解视频时,我们不仅要理解每一帧中的物体,也要理解物体在多帧之间的运动。所以,视频理解往往比图像理解更为复杂。主要表现为如下几点:
视频既可以被视为帧流,亦可以视为trimmed video clip: 当被视为帧流的时候,首先将视频帧作为图片,最后对其进行池化操作; 对于trimmed video clip的情况,可以使用时域频域模型来学习视频中的一些行为。视频中还存在音频流和字符流,都可以作为 Video Captioning 的输入特征。例如我们组今年被ACM Multimedia大会接收为ORAL的一篇长文就是设计一个multi-stream LSTM网络对视频的多个模态综合处理产生caption。 在Video Captioning中可以使用不同的池化方式,如基于时间轴的均值池化和最大值池化,还可以使用注意力机制,比如Hard-Attention和Soft-Attention,或者使用编解码的方法对其进行处理。
在我们CVPR2017的一个工作中,我们发现,图片数据集比视频数据集的数量多,内容和语意信息更加丰富。所以我们思考了两个问题:
其一是图像和视频的内容是否互补,我们能否以多任务的形式对 Image captioning 和 Video captioning 这两个任务同时进行处理; 另外一个问题是如何将 Image Captioning 迁移到 Video Captioning 中,在论文中我们使用两个MIL模型分别获取图像和视频的信息,并使用Transfer Unit 进行迁移学习。为了更好的促进视觉和语言这一领域的研究,我们在ACM Multimedia 2016和2017举行了微软研究院 ”Video to Language” 挑战赛,并且在今年的CVPR大会上举办了Vision and Language Workshop。
在“Video to Language“挑战赛中,Sequence Learning 是竞赛中最主流的方法。
其中的一个思路是 CNN-LSTM 框架:先使用 CNN 学习图片特征并对其进行不同的处理,最后输入到 LSTM 中得到最终的结果。 另一个思路是编解码框架,其优点是LSTM 模块可以在视频标注上进行端到端的学习。可以使用不同的方法来提取不同的特征:
如可以使用 VGG, GoogLeNet和 ResNet 等深度学习框架提取图片特征; 使用C3D、 IDT 和 Optical Flow来提取动态特征;其他的还有 acoustic features, text features 和 video category 等特征都有助于 Video Captioning 这一任务。
Vision and Language领域中有一个新的问题--Visual Question Answering:给定一张图片,并对图片中的内容进行提问,我们希望计算机能根据图片中的内容对问题给出合理的回答。虽然这个问题有很多人在研究,但是依然不够成熟,还不能应用到真实场景中。
这个问题的处理方法与 Image Captioning相似,如ICCV2015中提出的 baseline 使用的就是LSTM + Image的框架:
先使用 CNN 学习图片蕴含的特征,同时使用 RNN 学习描述问题的句子中包含的特征,然后将这两个特征进行融合,并对使用 Softmax 等方法对其进行处理来得到最终结果。
与 Image Captioning 一样,VQA 中的方法也可以总结为 ”VQA with X”。
当 X 是 visual attention 模块时,这个 visual attention 可以从图像中学习,同时也可以从描述问题的句子中学习,这就是 visual-question co-attention。
我们今年被CVPR 2017接收的一篇论文中还提出了 multi-level attention:即先学习一个初始的 attention,然后通过image 中不同 region 之间的关系以及问题中不同词素之间的关系来学习 multi-level attention。
该方法是先使用CNN学习图像的特征表示,然后以迭代的方式使用LSTM对问题进行学习,使得注意力逐步集中到问题关注的方面。他们在VQA 网络中加入Stack Attention这个模块之后,准确率可以从53.7%提升到58%。
过程如下:
1. 首先将描述问题的句子分解为单词;
2. 然后将单词组合为短语;
3. 最后将短语重新组合为句子;
4. 并通过这三个不同尺度的元素来构建问题的特征表示。
结果:
这种通过三个不同尺度的Text Attention和Image Attention学习特征的方法,能逐步将问题的关注点聚集到图像相应区域,最终可以将准确率从58.7%提高到61.8%。
Multi-level Attention是在传统的 Image Attention 框架上,使用 RNN 来学习图片中不同区域之间的关系,并将准确率提高到了65.4%,是所有公开方法中最好的结果。
写在最后:
对图像及视频的理解,从简单的独立标签到连贯的自然语言描述,深度学习只用了几年的时间。可以说,深度学习这项技术,赋予了计算机对单一维度图片数据、以及二维视频数据更强的识别理解能力,在某些方面已逼近人类、甚至超过人类的水平。
近年来,随着大量的视频数据库的开放,如"MSR Video Decription Corpus", "MSR Video to Language (MSR-VTT)", “ActivityNet”等,为这一领域的学术研究带来了长足的进步,同时也衍生出了一些新的研究方向,如VQA等。
然而,相较于学术界的进展,在真实的应用场景中,我们仍面临着技术不够成熟、鲁棒性不足等问题,离真正落地仍有很长的路要走。
今天,深度学习技术为视觉和语言之间搭建了一座桥梁,这将只是一个开始,随着更多维度信息的加入(如语音、文本等),计算机将能够更好地理解这个多维的世界,为人工智能全方位服务人类提供可能。
原文发布时间为: 2017-09-13
本文作者:梅涛
本文来自云栖社区合作伙伴极市网,了解相关信息可以关注极市网。
应用开发图像识别之经典方法 花无从开日,人无再少年,加油!。 今天主要和大家聊一聊,如何使用百度AI实现图像识别的方法,在现实生活中,我们会看到停车场,高速路口有车牌识别。现在很多车牌方案商都有成熟的车牌识别技术,它们是靠这个吃饭的,不会开源。本次文章主要是使用这些方案商的接口来做识别,百度AI的识别效率是非常高的,毕竟让别人花钱的东西是不一样的。
简述智能对话系统 对话系统(Dialogue System,简称DS),是使人与机器可以通过自然语言进行对话交互的系统。DS除了用准确、简洁的自然语言回答用户用自然语言提出的问题外,更注重与人的交互、对人意图的理解、对对话氛围的感知,以及回答的多样性和个性化。
阿里云机器学习平台PAI-AI行业插件-视觉模拟平台图像分类使用简明教程 AI行业插件提供视觉模型训练插件和通用模型训练插件,他们支持在线标注、自动模型训练、超参优化及模型评估。您只需要准备少量标注数据,并设置训练时长,就可以得到深度优化的模型。同时,插件平台与PAI-EAS高效对接,可以快速将训练模型部署为RESTful服务。视觉模型训练插件支持视觉领域常用模型的标注、训练及发布,并针对移动端场景进行了模型深度优化,您可以通过手机扫码快速体验模型效果,也可以将模型进行服务端部署。本文着重讲述图像分类使用简明教程
BERT是如何理解语言的?谷歌发布交互式平台LIT,解决模型可视化难题 谷歌之前发布的 What-If 工具就是为了应对这一挑战而构建的,它支持对分类和回归模型的黑盒探测,从而使研究人员能够更容易地调试性能,并通过交互和可视化分析机器学习模型的公平性,但是仍然需要一个工具包来解决 NLP 模型特有的挑战。
语音识别(ASR)基础介绍第三篇——经典做法及术语概念 上一章介绍了万金油特征MFCC,相当于数据的输入已经确定了。 本章尽可能的介绍经典asr做法。其中涉及到的各种概念和思考,了解了之后,和相关专业的人交流,大概就不再迷茫了:D 传统方法也可以按 声学模型 和 语言学模型 的方式来划分。 声学模型主要的职责是,把一段音频处理成类似拼音的形式, 然后交给语言模型来猜: 能够发这些音的单词,怎么组合起来更常见一些。然后找到最可能的组合,便是asr的结
语音识别(ASR)基础介绍第四篇——当今流行做法与CTC 本篇开始,就进入到了asr当前的流行做法。 这里单独提到了CTC算法。 这个算法对当前asr使用deep learning的方法有重大影响。 总体感觉,写到本篇,工作量反而变得很小。因为进入deep learning时代后,神经网络模型基本都是那么几种,已经不再需要挨个详细介绍。而且看图就能理解的很明白。 所以本篇后半部分基本就是贴图了。。:D 一、CTC 在CTC之前,训练语料
EMNLP2018 - 语言理解+对话系统的最新进展 2018年10月31日至2018年11月04日,EMNLP 2018 在比利时首都布鲁塞尔举行,我有幸作为集团代表参加会议,收获很多。会议包含了很多主题,结合我们团队目前正在做的小蜜智能对话开发平台(产品名叫对话工厂,英文名Dialog Studio),在这里重点对语言理解和对话系统等方面的前沿进展做一个介绍。
相关文章
- AI-蛋白质-序列设计-从头设计-基于AI-2023:ProGen【基于大语言模型】【生物界的ChatGPT】【从功能到氨基酸序列的预测】【训练数据:2.8亿条蛋白质序列】【参数量:12亿】
- 23 DesignPatterns学习笔记:C++语言实现
- java txt读取指定行_java语言读取文本文件的指定行
- SQL语言基础
- 京东“百亿补贴”提前20小时上线,电商价格战开打; iPhone 15 Pro玻璃面板泄露;凹语言 0.5.0发布|极客头条
- 极客头条:鸿星尔克因公司系统崩溃、恳请顾客退款;乔布斯首份手写求职信拍卖出222万;OpenAI 开源 Triton语言
- 视觉与语言领域年度进展概述
- R语言实战(第2版)
- Go语言之Gin框架,支持开发RESTful API,各种请求处理
- 神奇的go语言(开始篇)
- 大数据必学语言Scala(十一):基础语法学习 方法参数