阿里最新研究试用因果推理方法让视觉 AI 更智能 | CVPR 2021 论文解读
2021 年 5 月 08 日
学过人类照片和鱼类照片的 AI,第一次见到美人鱼的照片会作何反应?人脸和鱼身它都很熟悉,但它无法想象一个从没见过的事物。近期,阿里巴巴达摩院将因果推理方法引入计算机视觉领域,尝试克服机器学习方法的缺陷,让 AI 想象从未见过的事物,相关论文已被计算机视觉顶会 CVPR 2021 收录。
计算机视觉(CV,Computer Vision)是研究如何让机器“看”的科学,通过将非结构化的图像和视频数据进行结构化的特征表达,让 AI 理解视觉信息。深度学习出现后,AI 在 CV 领域的很多任务取得了超越人类的进展,不过,比起人类的视觉理解能力,AI 仍是非常“低维”的存在。
通过人和鱼的形象来想象美人鱼,对人来说轻而易举,AI 却极有可能把美人鱼胡乱归入“人”或“鱼”中的一类。因为它们缺乏“想象”这一高级别认知能力。现阶段的机器学习技术本质是通过观测数据进行拟合,这导致 AI 只认得学过的事物,遇到超越训练数据的对象,往往容易陷入“人工智障”。
图灵奖得主、因果关系演算法创立者朱迪·珀尔认为,人类的想象能力源于我们自带因果推理技能的大脑,人类善问“为什么”,也就是寻求事物的因果关系。借助这套认知系统,我们用“小数据”就能处理现实世界无限的“大任务”。而 AI 却只能用“大数据”来处理“小任务”,如果 AI 能够学会因果推理,就有望破除“智商天花板”,甚至通向强人工智能。
因果推理理论极大启发了研究者,其与机器学习的结合日益受到关注。在工业界,达摩院城市大脑实验室最早将因果推理方法引入 CV 领域,用因果推理模型赋能机器学习模型,让视觉 AI 更智能。今年,该团队与南洋理工大学合作了《反事实的零次和开集识别》等三篇采用因果推理方法的论文,均被 CVPR 2021 收录。
(左为现有方法的 AI“想象”结果,中为达摩院论文提出的算法核心,右为基于达摩院框架完成的想象结果。在左右二图中,* 红色代表训练集里面的样本,蓝色是 AI 未见过类别的样本,绿色 AI 对未见过类别的想象。)
零次学习是指让机器分类没见过的对象类别,开集识别要求让机器把没见过的对象类别标成“不认识”,两个任务都依赖想象能力。《反事实的零次和开集识别》提出了一种基于反事实的算法框架,通过解耦样本特征(比如对象的姿势)和类别特征(比如是否有羽毛),再基于样本特征进行反事实生成。在常用数据集上,该算法的准确率超出现有顶尖方法 2.2% 到 4.3%。论文作者岳中琪指出,AI 认知智能的进化刚刚开始,业界的探索仍处在早期阶段,今后他们将不断提升和优化相关算法。
城市大脑实验室介绍,数据驱动的机器学习模型普遍面临数据不均衡问题,“以城市为例,它的信息呈长尾分布,相比海量的正常信息,交通事故、车辆违规、突发灾害等异常信息的发生概率很小,样本稀少,尽管可以通过大量增加少见样本的办法来部分解决问题,但这么做成本高、效率低。”
基于自研算法,只需使用正常信息样本,就能让 AI 获得无偏见的异常检测结果。一旦出现紧急情况,比如某辆车和某个行人发生异常交互,城市大脑不必不懂装懂或视而不见,而是可以实时识别和反馈信息。未来,这一技术有望应用于城市基础视觉算法体系优化、极少样本城市异常事件感知能力优化乃至多模态语义搜索、智能图文生成等领域。
下面是岳中琪对 CVPR 2021 论文《反事实的零次和开集识别》(Counterfactual Zero-Shot and Open-Set Visual Recognition)的解析,论文代码请见 https://github.com/yue-zhongqi/gcm-cf。
现有的零次学习和开集识别中,见过和未见过类别间识别率存在严重失衡,我们发现这种失衡是由于对未见过类别样本失真的想象。由此,我们提出了一种反事实框架,通过基于样本特征的反事实生成保真,在各个评估数据集下取得了稳定的提升。这项工作的主要优势在于:
- 我们提出的 GCM-CF 是一个见过 / 未见过类别的二元分类器,二元分类后可以适用任何监督学习(在见过类别上)和零次学习算法(在未见过类别上);
- 我们提出的反事实生成框架适用于各种生成模型,例如基于 VAE、GAN 或是 Flow 的;
- 我们提供了一种易于实现的两组概念间解耦的算法
接下来我会具体的来介绍我们针对的任务,提出的框架,和对应的算法。文章导视:
- 第一节:零次学习和开集识别
- 第二节:反事实生成框架
- 第三节:提出的 GCM-CF 算法
- 第四节:实验结果
第一节:零次学习和开集识别
很多人都认识羚羊和貘这两种动物(如上图所示),那么一个鼻子像貘的羚羊长得什么样呢?可能大家能想象出来一个类似于图右的动物(它叫高鼻羚羊)。在上面的过程中,我们就是在做 零次学习 (Zero-Shot Learning, ZSL):虽然我们没见过高鼻羚羊,但是通过现有的关于羚羊和貘的知识,我们就能想象出来这个未见类别的样子,相当于认识了这个动物。事实上,这种将已有知识泛化到未见事物上的能力,正是人能够快速学习的一个重要原因。
我们再来看一个路牌的例子,我们很容易就认出左边的两个路牌是熟悉的、见过的,而右边的则是一个很奇怪的没见过的路牌。人类很容易就能完成这样的 开集识别 (Open-Set Recognition, OSR),因为我们不仅熟悉见过的样本,也有对未知世界的认知能力,使得我们知道见过和未见之间的边界。
在机器学习当中,这两个任务的定义如上图所示。零次学习训练集提供类别集合。上面的图片,除了每张图片的类别标签,每个类别还额外有一个属性特征 (attribute) 来描述这个类的特点(比如有翅膀,圆脸等等),测试的时候有两种设定:在 Conventional ZSL 下全部是未见类别中的图片(),并且测试的时候也会给定类别的 dense label,而在 Generalized ZSL 中测试集会有和中的图片。开集识别的训练集则和普通的监督学习没有差别,只是在测试的时候会有训练未见过类别的样本,分类器除了正确识别见过的类,还要将未见过的类标成“未知”。
现有的 ZSL 和 OSR 的主要方法是基于生成的,比如 ZSL 中用未见类别的属性特征生成图片,然后在 image space 进行比较。然而生成模型会自然的偏向见过的训练集,使得对于未见类别的想象失真了(这其实是因为属性特征的 entanglement,这里我不详细展开,大家可以参考一下论文)。比如训练的时候见过大象的长鼻子,而去想象没见过的貘的长鼻子的时候,就会想象成大象的鼻子。左边的图展现了这种失真:红色是训练集里面的样本,蓝色是 ground-truth 的未见过类别的样本,绿色是现有方法对未见过类别的想象,这些想象已经脱离了样本空间,既不像见过的类,也不像没见过的类(绿色的点偏离了蓝色和红色的点)。这就解释了为什么见过和未见过类别的识别率会失衡了:用绿色和红色样本学习的分类器(黑色虚线)牺牲了未见过类的 recall 来提高见过类的 recall。
第二节 反事实生成框架
那么如何在想象的时候保真?我们来思考一下人是怎么想象的:在想象一个古代生物的样子时候,我们会基于它的化石骨架(图左);在想象动画世界的一个场景的时候,我们会参考现实世界(图右)。这些 想象其实本质是一种反事实推理(counterfactual inference),给定这样的化石(fact),如果它还活着(counterfact),会是什么样子呢?给定现实世界的某个场景,如果这个场景到了动画世界,它是什么样子呢?我们的想象,通过建立在 fact 的基石上,就变得合情合理而非天马行空。
那么可否在 ZSL 和 OSR 当中利用反事实产生合理的想象呢?我们首先为这两个任务构建了一个 基于因果的生成模型 Generative Causal Model (GCM),我们假设观测到的图片是由样本特征(和类别无关,比如物体的 pose 等)和类别特征(比如有羽毛,圆脸等)生成的。现有的基于生成的方法其实在学习,然后把的值设为某个类的特征(比如 ZSL 中的 dense label),把设成高斯噪声,就可以生成很多这个类的样本了。
反事实生成和现有生成模型的最大区别就是基于了特定的样本特征(fact)来进行生成,而非高斯噪声。具体过程如上图所示,对于一个图片,我们通过 encoder 拿到这个图片的样本特征(比如 front-view,walking 等),基于这个样本特征(fact)和不同的类别特征(counterfact),我们可以生成不同类别的反事实图片(front-view,walking 的猫,羊和鸡等等)。直觉上,我们知道,因为反事实生成的猫、羊和鸡的图片很不像,肯定不属于这三个类别。这种直觉其实是有理论支持的 — 叫做 *反事实一致性(Counterfactual Consistency Rule)