猴子论坛

注册

 

发新话题 回复该主题

AlanYuille在计算机视觉领域,谁 [复制链接]

1#

大数据文摘出品

来源:thegradient.pub

编译:籍缓、lvy、蒋宝尚、钱天培

需要大量的注释数据;难以在标准测试集外取得良好表现;对于数据的微小变化尤为敏感。

这都是近年来深度学习被诟病的缺陷。

即便深度学习已经在诸多领域得到广泛应用,但这三大缺陷也成为了深度学习仍旧无法完全胜任自动驾驶、医疗诊断等“敏感”任务的致命弱点。

毕竟,如果一台自动驾驶系统因为训练数据集中不包含“坐在路上的婴儿”这一情境,就无法作出正确的避让判断,想必不会有人会放心让这一系统完全接管方向盘。

那么,这些问题的背后,究竟体现了深度神经网络怎样的致命缺陷呢?

近期,计算机视觉的奠基人之一、约翰霍普金斯大学教授AlanYuille和他的学生刘晨曦撰写了一篇博文,详述了深度网络局限性的本质所在。

他们认为,难以处理“组合爆炸问题”正是深度神经网络的致命弱点。

那么,什么是组合爆炸问题呢?

让我们先来看下面这个例子。

图1:添加遮挡体(Occluders)会导致深层网络失败。左:添加遮挡体摩托车将猴子变成了人类。中心:添加遮挡体自行车将猴子变成人,丛林将自行车把手变成鸟。右:添加遮挡体吉他将猴子变成了人类,丛林将吉他变成了一只鸟。

这张图显示了将吉他照片添加到丛林中的猴子照片中的效果。DeepNet错误地将猴子识别为人类并将吉他误解为鸟类,大概是因为DeepNet认为猴子不可能携带吉他,并且鸟类比吉他更可能在猴子附近的丛林中出现。

这种对背景的过度敏感可以归因于有限的数据集大小。对于任何对象,数据集中仅出现有限数量的背景,因此神经网络就会发生判断偏差。

例如,在早期数据集中,长颈鹿仅在树木边出现,因此,如果长颈鹿附近如果没有树,那神经网络就无法正确识别,即使它们是图片中最主要的对象主体。

捕捉各种各样背景的困难,以及探索大范围的滋扰因素的需要,造成了DeepNets这类方法的缺陷。

关于组合爆炸

上面这一问题就是“组合爆炸”很好的例子。

真实世界图像集是组合的。因此,任何数据集(无论多大)都很难代表现实世界的复杂性。

组合能产生出多大的集合呢?

想象一下,我们可以在一个场景中随意添加各种物体,这显然可以用很多方式完成。即使对于单个对象的图像,我们也可以获得类似的复杂度,因为它可以以指数增加的方式添加被部分遮挡的情况。我们还可以通过无数种方式更改对象的背景。

尽管人类能够自然地适应视觉环境的变化,但是深度神经网络却更敏感,然而更容易出错,就如图1所示。

在某些视觉任务中,这种组合爆炸基本不会发生。深度神经网络在医学图像的应用中可谓是非常成功,因为其背景的变化相对较小(例如胰腺总是非常接近十二指肠)。

但是,对于许多日常使用的应用程序来说,如果没有指数级别的数据集,我们就无法捕捉到现实世界的复杂性。

这就带来了巨大的挑战——在数量有限、随机抽取的样本上训练和测试模型的标准范式变得不切实际。

所以这迫使我们解决两个新的问题:

我们怎样在有限大小的数据集上训练算法,从而使它们能够在需要庞大数据集才能捕获现实世界的组合复杂性的任务中表现良好?如果我们只能在有限的子集上测试这些算法,那么我们如何有效地测试并确保它们在庞大的数据集中表现优秀?

如果克服组合性爆炸

像深度神经网络这样的方法,以目前的形式来看,似乎不太可能具有处理组合爆炸的能力,因为数据集的数量可能永远都不足以训练或测试它们。

我们认为,组合模型或许是解决问题的关键。

组合性

组合性是一个基本原则,可以感性的称它为“一种信仰的体现,即世界是可知的,人们可以将事物拆开并理解它们,然后在精神上随意地重新组合它们”。

但其中关键的假设是,结构是由更基本的子结构按照一组语法规则组成的。这就表明子结构和语法可以从有限的数据中学习,然后拓展到组合的场景中。

与深度神经网络不同,组合模型需要结构化的表征,从而明确其结构和子结构。组合模型能够对可见的数据进行外推,对系统进行推理、干预、诊断以及使用相同的基础知识结构回答许多不同问题。

我们注意到,尽管深度神经网络捕获了一种组合性形式,例如,高层特征是由来自下层特征的响应组成的,但与本文中我们所指的组合性显然还是不一样的。

图2:从(a)到(c),可变性增加同时出现了遮挡情况。尤其(c)是一个庞大组合数据集的例子,它本质上与验证码相同。有趣的是,关于验证码的研究表明,组合模型的性能很好,而深度神经网络的性能则较差。

组合模型的优势已经在很多视觉问题上得到了证明,例如使用相同的底层模型执行多个任务和识别验证码(图2)。其他非视觉的例子也说明了同样的观点,比如智商测试。

在这项任务中,我们的目标是预测3x3网格中丢失的图像,其中8个网格的图像已经给出,同时任务的基本规则是组合型的(并且可以存在干扰)。在这一任务上,组合模型相比深度神经网络也有相当的优势。

组合模型具有许多理想的理论性质,例如可解释性和可生成样本性。这使得错误更容易诊断,因此它们比像DeepNets这样的黑盒方法更难被欺骗。

但是,学习组合模型也是十分困难的,因为它涉及到学习构件和语法(甚至语法的本质也是有争议的)。此外,为了通过合成进行分析,它们需要有一个模型来生成对象和场景结构。

更为根本的是,处理组合爆炸需要学习三维世界的因果模型以及这些模型如何生成图像。对人类婴儿的研究表明,他们通过预测环境结构的因果模型来学习。这种因果理解能够让他们从有限的数据中学习,并拓展到新的环境中。

这与牛顿定律与托勒密模型的对比类似,牛顿定律用最小的自由参数来解释因果关系,而太阳系的托勒密模型给出了非常精确的预测,但它需要大量的数据来确定其细节。

在组合数据上测试

在现实世界中测试视觉算法的组合复杂度的一个潜在挑战是,我们只能测试有限的数据。我们可以通过

分享 转发
TOP
发新话题 回复该主题