深度学习很成功,但为什么它不能解决全部AI问题?

2016-07-13 17:07 来源:雷锋网
浏览量: 收藏:0 分享

深度学习,人工智能,大数据,数据驱动

深度学习成功的启示

  深度学习的成功不仅仅带来了人工智能相关技术的快速进步,解决了许多过去被认为难以解决的难题,更重要的它是给我们带来了思想观念的变革,个人以为主要体现在以下几个方面。

1、优化方法的变革是开启深度学习复兴之门的钥匙

  回顾自2006年(所谓深度学习元年)以来深度学习的十年大发展,我们必须首先注意到优化方法不断进步的重要作用。需要注意的是,深度学习并非全新的技术方法,而是上世纪80年代出现的多层神经网络的复兴。CV领域现在炙手可热的深度模型(如深度卷积神经网络DCNN)在上个世纪八十年代就已经基本成型,当时未能普及的原因很多,其中之一是长期缺少有效地优化多层网络的高效方法,特别是对多层神经网络进行初始化的有效方法。

  从这个意义上讲,Hinton等人2006年的主要贡献是开创了无监督的、分层预训练多层神经网络的先河,从而使众多研究者重拾了对多层神经网络的信心。

  但实际上最近三年来DCNN的繁荣与无监督、分层预训练并无多大关系,而更多的与优化方法或者有利于优化的技巧有关,如Mini-Batch SGD、ReLU激活函数、Batch Normalization、ResNet中的shortcut等,特别是其中处理梯度消失问题的手段,对DCNN网络不断加深、性能不断提升功不可没。

2、从经验驱动的人造特征范式到数据驱动的表示学习范式

  在深度学习兴起之前,专家知识和经验驱动的AI范式主宰了语音处理、计算机视觉和模式识别等众多领域很多年,特别是在信息表示和特征设计方面,过去大量依赖人工,严重影响了智能处理技术的有效性和通用性。深度学习彻底颠覆了这种“人造特征”的范式,开启了数据驱动的“表示学习”范式。具体体现在两点:

  1)所谓的经验和知识也在数据中,在数据量足够大时无需显式的经验或知识的嵌入,直接从数据中可以学到;

  2)可以直接从原始信号开始学习表示,而无需人为转换到某个所谓“更好”的空间再进行学习。数据驱动的表示学习范式使得研发人员无需根据经验和知识针对不同问题设计不用的处理流程,从而大大提高了AI算法的通用性,也大大降低了解决新问题的难度。

3、从“分步、分治”到“端到端的学习”

  分治或分步法,即将复杂问题分解为若干简单子问题或子步骤,曾经是解决复杂问题的常用思路。在AI领域,也是被广泛采用的方法论。

  比如,为了解决图像模式识别问题,过去经常将其分解为预处理、特征提取与选择、分类器设计等若干步骤。再如,为了解决非线性问题,可以采用分段线性方式来逼近全局的非线性。这样做的动机是很清晰的,即:子问题或子步骤变得简单、可控,更易解决。但从深度学习的视角来看,其劣势也是同样明显的:子问题最优未必意味着全局的最优,每个子步骤是最优的也不意味着全过程来看是最优的。

  相反,深度学习更强调端到端的学习(end-to-end learning),即:不去人为的分步骤或者划分子问题,而是完全交给神经网络直接学习从原始输入到期望输出的映射。相比分治策略,端到端的学习具有协同增效(synergy)的优势,有更大的可能获得全局上更优的解。当然,如果我们一定要把分层看成是“子步骤或子问题”也是可以的,但这些分层各自完成什么功能并不是我们预先设定好的,而是通过基于数据的全局优化来自动学习的。

4、深度学习具备超强的非线性建模能力

  众多复杂问题本质上是高度非线性的,而深度学习实现了从输入到输出的非线性变换,这是深度学习在众多复杂问题上取得突破的重要原因之一。

  在深度学习之前,众多线性模型或近似线性模型曾大行其道。特别是从上个世纪90年代开始,以判别式降维为目的的线性子空间方法得到大家的重视,如主成分分析,Fisher线性判别分析,独立成分分析等。

  后来,为了处理非线性问题,Kernel技巧、流形学习等非线性处理方法相继得到重视。其中Kernel方法试图实现对原始输入的非线性变换,但却无法定义显式的非线性变换,只能借助有限种类的kernel函数,定义目标空间中的点积,间接实现非线性。

  而2000年之后曾一度广受重视的流形学习方法则试图通过对样本点之间测地距离或局部邻域关系的保持来学习非线性映射,遗憾的是这类方法难以真正实现对非训练样本的显式非线性变换。而深度学习则通过作用于大量神经元的非线性激活函数(如Sigmoid或ReLU),获得了可以适配足够复杂的非线性变换的能力。

5、大模型未必总是不好的奥卡姆剃刀原理在诸多领域特别是机器学习领域广为人知,它告诫人们:“如无必要,勿增实体”。换句话说,求解问题的模型能简单最好不要复杂。

  这一原理在机器学习领域是提高模型推广能力的重要法则,也使得复杂的大模型往往不被看好。而深度学习恰恰在这一点上是令人费解的,以AlexNet为例,其需要学习的参数(权重)多达6000万个,如此之巨的参数似乎表明这是一个非常复杂(如果不是过分复杂的话)的模型。

  当然,模型中需要学习的参数的多少并不直接等于模型的复杂度,但毋庸置疑的是,深度学习乍看起来是“复杂度”非常高的。那么,奥卡姆剃刀原理失效了吗?抑或看似复杂的深度学习模型的复杂度并不高?目前似乎尚无明确的理论支撑。最近的一些工作表明,很多已经训练好的、复杂的深度学习模型可以通过剪枝、压缩等手段进行约简,其性能并不降低甚至可以提高。

  这里的关键也许在于“大数据”带来的“红利”。一种可能是:科研人员过去长期面对着“小数据”问题,因而过于偏爱简单模型了。而在数据量陡增的今天,适度复杂的模型变得更加适应科研人员面对的复杂问题,当训练数据量大到与测试数据同分布,甚至测试数据基本“跑不出”训练数据所在范围的时候,在训练数据上的“过拟合”就变得不那么可怕了。

6、脑神经科学启发的思路值得更多的重视

  深度学习作为多层神经网络是受脑神经科学的启发而发展起来的。

  特别是卷积神经网络,其根源于Fukushima在1980年代提出的认知机模型,而该模型的提出动机就是模拟哺乳动物视觉神经系统的感受野逐渐变大、逐层提取由简及繁的特征,从而实现语义逐级抽象的视觉神经通路。在诺贝尔奖获得者Hubel和Wiesel的共同努力下,该通路从上个世纪60年代开始逐渐清晰,为CNN的诞生提供了良好的参照。但值得注意的是,生物视觉神经通路极其复杂,神经科学家对初级视觉皮层区中简单神经细胞的边缘提取功能是清晰的,对通路后面部分越来越复杂的神经细胞的功能也有一些探索,但对更高层级上的超复杂细胞的功能及其作用机制尚不清晰。

  这意味着CNN等深度模型是否真的能够模拟生物视觉通路还不得而知。但可以确定的是,生物神经系统的连接极为复杂,不仅仅有自下而上的前馈和同层递归,更有大量的自上而下的反馈,以及来自其他神经子系统的外部连接,这些都是目前的深度模型尚未建模的。

  但无论如何,脑神经科学的进步可以为深度模型的发展提供更多的可能性,是非常值得关注的。例如,最近越来越多的神经科学研究表明,曾一度被认为功能极为特异化的神经细胞其实具有良好的可塑性。例如,视觉皮层的大量神经细胞在失去视觉处理需求后不久,即被“重塑”转而处理触觉或其他模态的数据。神经系统的这种可塑性意味着不同的智能处理任务具有良好的通用性,为通用人工智能的发展提供了参照。

开放问题

  大数据支撑的深度学习的复兴固然是AI领域的里程碑式进步,但并不意味着深度学习具有解决全部AI问题的潜力。下面对深度学习领域的开放性问题做讨论。

1、举一反三:大数据是否学习之必需?

  大数据是深度学习成功的基石,大数据之于深度学习,恰如燃料之于火箭。越来越多的应用领域正持续积累着日趋丰富的应用数据,这为深度学习的进一步发展和应用至关重要。然而,过分倚重有标注的大数据也恰恰是深度学习的局限性之一。

  数据收集是有成本的,而且标注成本已经开始水涨船高,而且还有一些领域存在着难以收集数据的问题。例如在医疗诊断领域,一些较为罕见的疾病的相关数据收集是困难的。

  更重要的,当我们把人的智能作为参照系的时候,自然就会问:人的智能是否是大数据学习的结果呢?其答案并不显然。从人类个体的角度来说,答案很可能是否定的:我们甚至可以只见过一个苹果(甚至只是一张苹果图片)就学会了识别苹果,而无需观察成百上千个不同的苹果。但是,这样批判深度学习看似有理有据,却未必是公平的:人类作为一个种群,进化过程中已经见过了何止成百上千个苹果?

  但无论如何,“小数据”如何驱动深度学习或其他机器学习方法是一个值得探索的新方向。在这个意义上,基于无监督数据的学习、相似领域的迁移学习、通用模型的领域适应、知识与经验的嵌入等方法是非常值得关注的。

2、 无师自通:如何获取无监督学习能力?

  获取有标注数据的时间和金钱成本很高,但大量无监督数据的获取成本却是微乎其微的。而目前深度学习对无监督数据的学习能力严重不足,以致大量无监督数据就像富含黄金的沙海,我们却没有高效淘金的利器。有趣的是,回顾深度学习的历史,我们应该记得2006年Hinton教授等人倡导的却恰恰是利用无监督学习来对深层神经网络进行预训练。但此后,特别是DCNN兴起之后,无监督的预训练似乎已经被很多研究者所抛弃(特别是在CV领域)。

  直接从大量无监督数据中学习模型确实是非常困难的,即便是人这部“机器”,也有“狼孩”的例子警告我们“无师自通”似乎是不现实的。但“少量有导师数据+大量无导师数据”的模式也许是更值得大力研究的。

3、从参数学习到结构学习?

  深度学习以“数据驱动”范式颠覆了“人造特征”范式,这是一个重大的进步。但与此同时,它自己又陷入了一个“人造结构”窠臼中。

  无论Hinton教授组最初设计的AlexNet,还是后来的VGG,GoogLeNet,ResNet等等,都是富有经验的专家人工设计出来的。给定一个新问题,到底什么样的网络结构是最佳的(如多少卷积层)却不得而知,这在一定程度上阻碍了深度学习在更多智能任务上的普及和应用。因此,同时学习网络结构和网络参数是一个值得大力关注的研究方向。

  从计算的角度来看,全面的学习网络结构是极其复杂的。尽管近期已经有一些这方面的尝试,如剪枝算法、网络约简等,可以在一定程度上调整网络结构。同时也出现了少量对网络的结构参数(如DCNN的kernel bank数量)进行学习的探索性工作,但尚处于起步阶段。

4、如何在预测阶段进行反馈与网络调制?

  我们知道,人类视觉系统在实现“看见”的过程中,视觉通路上神经细胞接受的输入并非仅仅来自低层或同层的神经元,还大量接受高层神经元的反馈信号,并受到来自其他神经子系统(如听觉)的信号的调制。

  与之相比,我们目前常用的深度神经网络(特别是DCNN)在训练完成后的特征提取或预测阶段,低层神经元大多无法接受高层神经元的反馈信号,也没有机制接收其他信号(比如先验或其他模态信息)的调制。这意味着先验知识、上下文、猜测和想象(脑补)等“智能”能力难以在现有深度网络上得到应用和体现。如何突破这一困局,赋予深度网络感知阶段的自适应调制能力,是值得大力研究的。

5、如何赋予机器演绎推理能力?

  基于大数据的深度学习可以认为是一种归纳法,而从一般原理出发进行演绎是人类的另一重要能力,特别是在认知和决策过程中,我们大量依赖演绎推理。

  而演绎推理在很多时候似乎与数据无关。例如,即使不给任何样例,我们也可以依赖符号(语言)描述,来学会识别之前从未见过的某种物体。

  这样的zero-shot学习问题看似超出了深度学习的触角范畴,但也许未必不可企及。例如,近年来越来越多的基于深度学习的产生式模型正在努力实现从符号(概念)到图像的生成。

作者简介:

  山世光,博士,中科院计算所研究员、博导,中科院智能信息处理重点实验室常务副主任。主要从事计算机视觉、模式识别、机器学习等相关研究工作,特别是与人脸识别相关的研究工作。

标签:

责任编辑:admin
在线客服