数据要素产业
机器也能看图说话
机器看到图像或视频就能像人类一样进行精准地表述,这看似不可能,但已在深兰科学院诞生的“智慧交通协管员”,已把它变为了现实。
这段视频的场景就是在城市繁忙的十字路口,尤其上下班高峰,行人违章现象非常多,即使有交警在路口执勤也很难做到面面俱到,此时“智慧交通协管员”将大大发挥作用。
利用自主研发的图像语义识别算法,“智慧交通协管员”可以实时识别行人和非机动车违章行为,可识别的行为包括:
1. 行人闯红灯; 2. 非机动车闯红灯; 3. 非机动车在逆行; 4. 非机动车在斑马线骑行; 5. 非机动车在人行道骑行;
还可精确描述违章者特征,进行语音播报提醒,识别率可达80%以上。同时,支持个性化语音定制,可以利用现有的视频摄像头资源进行人脸识别违章抓拍,方便处罚,还可辅助对接车路协同系统。
其中涉及到的技术比较多,概括起来就是视觉理解、认知推理、自然语言生成和语音合成。接下来,我们会对其中的关键技术视觉理解和认知推理进行展开。
视觉理解+认知推理
一、认知智能概述
人工智能的发展可以粗略划分为三个阶段:计算智能、感知智能和认知智能。
计算智能通俗来说就是计算机能存储、记忆会运算,这方面,计算机的智能水平早已经远远超过人类。
感知智能就是计算机具备类似于人类的视觉和听觉等方面的能力,比如,听到了什么,对应语音识别;看到了什么,对应图像的分类检测和语义分割。其中人脸识别就是包含感知智能技术的一种人工智能应用,近年来,随着深度学习技术在视觉感知领域的蓬勃发展,目前机器感知智能的性能已经可与人类媲美,甚至在许多场景下已经超过人类。
认知智能强调知识、推理等技能,要求机器能理解、会思考,目前机器远不及人类。从计算智能到感知智能,标志着人工智能走向成熟;从感知智能到认知智能,是人工智能质的飞跃。认知智能,与人的语言、知识、逻辑相关,是人工智能的更高阶段,涉及到语义理解、知识表示、小样本学习甚至零样本学习、联想推理和自主学习等等。相比于计算智能和感知智能,认知智能是更复杂和更困难的任务,也是未来数十年最重要的任务。
二、视觉理解与推理
Image captioning的发展历程
1996-2000年 符号规则方法
追溯到1996年,Gerber发表了一篇知识表示的论文,限定于交通场景,在图像序列中用知识表示来进行自然语言描述的问题。2010年时,朱松纯(S.-C.Zhu)教授团队首次提出与或图(And-Or Graph)的模型。进一步与 D. Mumford 合作进行了框架的完善,融入随机上下文相关语法(Stochastic Context Sensitive Grammar),能对复杂物体的多层次构造特性(Hierarchical Compositionality)建模,完全表示图像语法(Image Grammar)。
与或图表示突破了传统单一模板(Template)的表示方法,对每类物体用多个图结构表示,该结构可以通过语法(Grammar)、产生规则(Production Rule)进行动态调制,从而可以用相对小的视觉字典(Visual Vocabulary),表达大量类间结构变化很大的物体的图像表现形式(Configuration)。
这些方法实际上都基于逻辑体系和规则的系统,对图像的内容设计很多规则,继而产生自然语言描述。由于强依赖于手工定制,人工特征工程的工作量就非常大,这也是当时亟待改善的问题。
2011-2013年 无明显进展
2014年至今 深度学习方法等
2014年,谷歌的Oriol Vinyals 等人公开论文《Show and Tell: A Neural Image Caption Generator》,并发表于2015年CVPR,开了深度学习在Image captioning中使用的先河。该方法来源于以前的机器翻译。
输入图形后,深度卷积神经网络对图形特征进行提取,通过固定长度矢量形成输入(Input)进入循环神经网络(RNN),经过一系列训练后,输出一段描述性的自然语言文字。按照时间序列的顺序,逐个词进行输出,条件依附于之前的词。
使用如下公式最大化给定图像的正确描述概率:
Encoding-Decoding 灵感来源于翻译模型。
基于更复杂的视觉特征提取模型的Image Captioning。其中利用人的常识构建了一个知识库(ConceptNet),然后把它加入Encoding-Decoding模型里,赋予模型一定程度的常识能力。我们一直希望机器能有所谓的认知智能,实际上就是希望机器能够像人一样具有常识。
基于 Image Captioning 的 VQA(视觉问答)
Image Captioning是实现视觉认知的一个重要方面,现在基于上文提及的谷歌提出的Image Captioning模型来构造对场景的理解,并进行问答。
问题:地面上覆盖着什么?
模型回答:积雪
问题:地面上覆盖着什么?模型回答:积雪情况变得不那么乐观了
深度学习系统,例如用于VQA的系统,可能会发展出类似的“作弊”方法,表面上似乎“解决了”任务,而无需学习潜在的推理过程。 例如,模型可以正确回答“地面覆盖着什么?”这个问题,不是因为它理解了场景,而是因为有偏差的数据集经常在积雪时提出有关地面的问题。 我们怎样才能确定一个系统是否能够进行复杂的推理而不仅仅是利用数据的偏差?模型即使给出了正确的回答,我们仍然要明确重要一点:这个正确答案是模型真正通过一步一步推理得到的,还是通过对图像和问题的肤浅理解,利用数据集偏差,得到的统计结果。 因此就需要在图像感知基础上进行理解、推理、认知,并构建数据集。
Visual Genome(视觉基因组)
这是斯坦福李飞飞团队构建的数据集,它就是尝试解决这样的问题。
现有模型能够检测照片中的离散对象(人或物);但无法解释它们之间的交互(interactions)或它们之间的关系; 大多数模型停留在感知智能阶段; 对视觉世界的推理与认知理解 要求计算机不仅具有检测对象的能力,还要具有描述这些对象的能力,并理解它们在场景中的相互作用。
采用自然语言对图像内容进行描述,加进去人类的认知理解构造训练集。进一步通过知识图谱工程(关系抽取、实体链接等等),标注出对象(Objects)、属性(Attribute)和关系(Relationships)。 构造视觉概念到语义层面的数据集: 提供目标对象的交互和属性的详细标注;对人、事、物、关系进一步密集标注;将注释词汇映射到WordNet中实现规范化;对每个区域构建一个组织关系图;联结一张图片上的所有区域图,构成一个完整的场景图。
然而,上述数据集构造人力成本大,下面介绍生成式推理数据集CLEVR。
生成式推理数据集CLEVR
CLEVR是一个诊断数据集,用于构成语言和基本视觉推理的场景,由斯坦福李飞飞团队和Facebook AI研究所合作研发。 CLEVR 数据集包含:
10万幅渲染图像;
100万条自动生成的问题,其中85.3万条独一无二的问题。
它具有挑战性的图像和问题对,可以测试视觉推理能力,如计数、比较、逻辑推理和在记忆中存储信息。 下面是来自CLEVR的示例图像和问题,问题测试视觉推理的方面,例如属性识别、计数、比较、多重注意和逻辑操作。
问:大型物体和金属球体的数量是否相等?问:大球体左边的棕色金属物体的左边的圆柱体是什么尺寸的?问:有一个和金属立方体大小相同的球体,它是由和小红球相同的材料制成的吗?问:有多少物体是小圆柱体还是红色的?
CLEVR数据集优于其他数据集的两点:
(1)CLEVR最大限度地减少了先前VQA数据集的偏差,避免学习系统在没有视觉推理的情况下就可以正确回答问题的情况;(2)CLEVR的合成性质和详细注释有助于深入分析现有数据集无法实现的推理能力。 下图可以直观呈现出CLEVR数据集是如何生成的。
CLEVR中的每个问题都与一个可以在图像的场景图(Scene Graph) 上执行的功能程序(Functional Program) 相关联,从而得到问题的答案。 CLEVR中的每个问题都以自然语言和功能性程序表示。功能程序表示精确确定回答每个问题所需的推理技能。
我们使用问题族的方法,以最小化问题条件偏差的方式将功能程序转换为自然语言。 CLEVR包含总共90个问题族,每个族都有一个程序模板和平均四个文本模板;文本模板是通过为每个族手动编写一个或两个模板然后众包问题重写生成的;为了进一步增加语言多样性,我们对每种形状,颜色和材料使用一组同义词;每个模板最多有19个参数,少数族可以生成大量独特的问题; 右图显示了CLEVR中近一百万个问题,超过85.3万个是独一无二的。通过添加新的问题族可以轻松扩展CLEVR。 CLEVR数据集上六种VQA方法:在每个问题类型的准确度(越高越好)
Q-typemode:该baseline 对于每个问题类型预测最常见的训练集答案。
LSTM:问题是用学习得到的单词嵌入和单词级LSTM进行处理的。最终的LSTM隐藏状态被传递给多层感知器(MLP),以预测可能答案的分布。此方法不使用图像信息,因此它只能建模了(学习了)问题条件偏差。
CNN+ BoW:BoW( Bag of Words, 词袋), 问题中的每个单词的词向量求平均来编码该问题,并且使用卷积网络(CNN)提取的图像特征对图像进行编码。问题和图像特征被级联然后传递给多层感知器(MLP),MLP预测可能答案的分布。我们使用在Google-News语料库中训练的词向量; 这些在训练期间没有经过微调。
CNN+LSTM:图像和问题分别使用CNN特征和LSTM的最终隐藏状态进行编码,这些特征被级联并传递给MLP以预测答案分布。
CNN+LSTM+MCB:图像和问题分别使用CNN特征和LSTM的最终隐藏状态进行编码,但接下来不是级联,而是使用紧凑的多模池化 (MCB)汇集它们的特征。(MCB, Multimodal CompactBilinear pooling, 多模紧凑双线性池化)
CNN+LSTM+SA:同样,问题和图像分别使用CNN和LSTM编码。使用一轮或多轮柔性空间注意力来组合这些表示,然后用MLP预测最终答案分布。(Stacked Attention Networks,SANs, 堆叠注意力网络)
Human:使用土耳其机器人从测试集中随机收集5500个问题的人工响应,对每个问题在三个工人响应中进行投票取多数。 查询问题询问特定对象的属性(例如“红色球体右侧物体是什么颜色?”) CLEVR数据集中物体有两种尺寸(大,小),八种颜色,两种材料(金属,橡胶)和三种形状(立方,球,圆柱)。在询问这些不同属性的问题上,Q-type mode 和 LSTM 都分别获得接近50%,12.5%,50%和33%的准确度,表明数据集对这些问题具有最小的问题条件偏差。 CNN + LSTM + SA 在这些问题上大大优于所有其他模式; 它的注意力机制可以帮助它专注于目标对象并识别其属性。
我们比较“两个空间关系的链式结构问题“和”沿着每个分支都有一个关系的树状结构问题“性能。 在查询问题上,CNN + LSTM + SA 在链式和树状问题之间存在较大差距(92%对74%);在计数问题上,CNN + LSTM + SA 在链式问题上略胜LSTM(55%对49%)但在树问题上没有任何方法优于LSTM。树问题可能更难,因为它们需要模型在融合其结果之前并行执行两个子任务。
数据集构建好了,就可以在此基础上探索视觉语义推理算法 用于机器推理的组合注意网络 斯坦福Christ师生提出了组合注意力网络,是一种新的、完全可区分的神经网络架构,旨在促进显性和表达性推理。其特点包括:
1、许多常见类型的神经网络在学习和泛化大量数据方面是有效的,然而是单一黑盒架构。
2、该‘组合注意推理网络’为迭代推理提供强大优先级的设计,支持可解释和结构化学习,从小样本数据的泛化能力强。
3、该模型基于现有循环神经网络,对单个循环记忆、注意力和控制(MAC)单元进行序列化,对每个单元和它们之间的相互作用施加结构约束,将显式控制和软注意机制合并到它们的接口中。
4、该模型在具有挑战性的CLEVR数据集上展示了极好强度和稳健性,用于视觉推理,实现了最新的98.9%的精确度,将之前最佳模型的错误率减半。更重要的是,我们新模型的计算效率更高,数据效率更高。 该模型是一个基于注意力的循环神经网络,使用了一种新的 MAC架构:记忆(Memory),注意力(Attention),合成(Composition)。MAC架构,是一个循环架构,类似于LSTM,每个Cell的结构如上图,由控制单元CU,读单元RU和写单元WU组成。蓝色显示控制流(Control Flow),红色显示记忆流(Memory Flow)。
每个cell的MACi包含两个双重状态:
1、控制态ci、记忆态mi2、都是d维连续空间矢量3、控制 ci 表示:MAC cell 在当前步骤中应该完成的推理操作,仅关注整个问题的某些方面。由加权平均后基于注意力问题词的总和表示4、记忆态 mi 表示:那些被认为与响应查询或者回答问题相关的当前上下文信息,实际上,mi 通过对来自知识库(KB)的元素的加权平均来表示,或者对于VQA的情况,对图像中的区域进行加权平均。5、将 m0 和 c0 分别初始化为d随机矢量6、控制态ci 和记忆态mi 以循环方式从一个cell传递到下一个cell,并以类似 键值记忆网络(Key-Value memory networks) 的方式运行 MAC 原理
精心设计和限制MAC cell内部单元之间的相互作用的接口,限制了其可以学习的假设空间,从而引导其获得预期的推理行为,因此,该结构有助于增强学习过程并减轻过度拟合问题。
MAC允许问题与知识库 (对于VQA的情况,就是指图像) 仅仅通过间接方式进行交互,引导cell关注知识库KB中的不同元素,通过门控机制控制其操作。因此,在这两种情况下,这些媒介(视觉和文本,或知识和查询)之间的相互作用,或者以注意力图(Attention Maps)的形式、或者作为门,通过概率分布来调节。
三、场景图
现实世界的场景表示要复杂的多,不仅仅是物体之间的前后左右位置关系,还有on, has,wearing, of, in 等等关系。 2015年,李飞飞参与的一篇图像检索的文章中提到,可以用场景图(Scene Graph)的方法来提升图像检索的性能,也是一个开创性的工作,文章里首次对场景图进行了定义。场景图是用来描述场景中的内容的结构化数据,把目标的属性做编码,把目标的关系提炼出来作为机器的输入。
场景图生成的新算法之一,在CVPR 2019的一篇论文中有所体现,它采用图卷积网络、知识嵌入式路由网络,生成了场景图。 场景图应用基本在四大方面:图像检索、Image Captioning(看图说话)、Video Captioning、Visual Reasoning(视觉推理)。文章开头提到的“智慧交通协管员”正是Video Captioning的表现形式。