杀死深度学习的真正兇手!「组合爆炸」为什幺会让神经网络寸步难

923℃ 991评论

杀死深度学习的真正兇手!「组合爆炸」为什幺会让神经网络寸步难

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

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

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

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

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

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

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

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

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

杀死深度学习的真正兇手!「组合爆炸」为什幺会让神经网络寸步难

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

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

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

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

深度学习的桎梏:只能在有限数据中表现良好

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

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

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

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

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

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

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

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

1. 我们怎样在有限大小的数据集上训练算法,从而使它们能够在需要庞大数据集才能捕获现实世界的组合複杂性的任务中表现良好?

2. 如果我们只能在有限的子集上测试这些算法,那幺我们如何有效地测试并确保它们在庞大的数据集中表现优秀?

「组合模型」能拯救深度学习

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

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

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

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

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

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

杀死深度学习的真正兇手!「组合爆炸」为什幺会让神经网络寸步难

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

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

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

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

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

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

解方:把问题变成解决「最坏情况」

在现实世界中测试视觉算法的组合複杂度的一个潜在挑战是,我们只能测试有限的数据。我们可以 通过关注最坏情况,而不是一般情况来解决这一问题。

正如我们前面所说,如果数据集没体现出问题的组合複杂性,那幺算法在有限大小数据集中的结果可能没有意义。显然,如果目标是为自动驾驶汽车开发视觉算法,或者在医学图象中诊断癌症,那幺关注最坏的情况也是有意义的,因为算法的失败可能会产生严重的后果。

如果能在低维空间中捕捉到故障模式,例如立体匹配算法的危险因素,那幺我们可以利用电脑图形学和网格搜索对其进行研究。但对于大多数视觉任务,特别是涉及组合数据的任务,我们很难识别出少数可以被隔离和测试的危险因素。

另一种策略是将标準对抗攻击的概念扩展到包括非局部结构,并允许複杂的操作,这些操作会导致图象或场景发生变化,例如通过遮挡或更改正在查看的对象的物理属性,儘管这不会对人的感知造成太大的影响。

将此策略扩展到处理组合数据的视觉算法仍然是非常具有挑战性的。但是,如果在设计算法时考虑到了组合性,那幺它们的显式结构可能使诊断和确定它们的故障模式成为可能。

深度学习的盛世危局:纵然好用,却发展受限

几年前,Aude Oliva 和 Alan Yuille共同组织了一个由 NSF 赞助的电脑视觉前沿研讨会(MIT CSAIL 2011)。这次会议鼓励参会者坦诚交换意见,参会者对电脑视觉的深度神经网络的潜力产生了巨大分歧。

Yann LeCun 大胆地预言,每个人都将很快地使用深度神经网络。他的预测是正确的。深度神经网络的成功非同寻常,它带领电脑视觉走向了热门,极大地增加了学术界和工业界之间的互动,将电脑视觉应用到了许多不同的学科,併产生了很多有意义的成果。

但是,儘管深度神经网络取得了成功,但在我们达到通用人工智能和理解生物视觉系统的目标之前,仍然存在着巨大的挑战。我们的一些担忧与最近对深层网络的批评中提到的类似。

其中,我们今天讨论的「组合爆炸」就是最大的挑战之一。

虽然深度神经网络肯定是解决方案的一部分,但我们相信,我们还需要一些额外的方法用来捕获数据基础结构的复合原理和因果模型。此外,面对组合爆炸,我们需要重新思考如何训练和评估视觉算法。

关于深度学习,还可以看看

深度学习的发展遇到了 3 个瓶颈!霍金的学生:原因是「组合爆炸」
深度学习将要终结?美国教授从 1.6 万篇论文中看到的 AI 趋势
破千颗星的 GitHub 超强资源包,所有好用的「深度学习」资源都在这里啦!

上一篇:           下一篇: