人工神经网络的研究源于以下观察:人类智能来自于高度并行的、相对简单的非线性神经元网络,这些神经元通过调整其连接的强度来学习知识。这一观察引发出一个核心计算问题:这种一般类型的网络如何学习识别物体或理解语言等困难任务所需的复杂内部表示呢?深度学习试图通过深度表征向量和最优化损失函数得到的权重链接来回答这个问题。
非常令人惊讶的是,这种概念上简单的方法在使用大量计算资源和大型训练集时被实验证明是如此有效,而且似乎一个关键因素是深度,即浅层网络无法正常工作。本文,我们将回顾近年来深度学习的基本概念和一些突破性成就,描述深度学习的起源,以及讨论一些未来的挑战。
这些挑战包括在很少或没有外部监督的情况下进行学习,处理来自与训练样本不同分布的测试样本,以及使用深度学习方法,用于那些人类通过一系列步骤有意识地解决的任务——即Kahneman称之为system 2而非system 1的任务,例如对象识别或即时自然语言理解。
人工智能有两种截然不同的范式。简而言之,逻辑启发范式将顺序推理视为智能的本质,旨在使用手工设计的推理规则在计算机中实现推理,这些规则对手工设计的将知识形式化的符号表达式进行操作。受大脑启发的范式将从数据中学习表征视为智能的本质,旨在通过手动设计或演化规则来实现学习,以修改人工神经网络中的连接强度。
在逻辑启发范式中,符号没有有意义的内部结构:它的意义在于它与其他符号的关系,这些关系可以用一组符号表达式或关系图来表示。相比之下,在类脑范式中,用于交流的外部符号被转换为神经活动的内部向量,这些向量具有丰富的相似结构。活动向量可用于通过为每个符号学习适当的活动向量并学习允许填充与符号串缺失元素对应的活动向量的非线性变换来对一组符号串中固有的结构进行建模。
深度学习的兴起在2000年代初期,深度学习领域通过引入一些新技术使训练更深的网络变得容易,从而重新激发了神经网络的研究。GPU和大型数据集是深度学习的关键推动因素,并且通过开发具有自动区分功能的开源、灵活的软件平台(例如Theano、Torch、Caffe、TensorFlow和PyTorch)大大增强了深度学习的发展,这使得训练复杂的深度网络和重用最新模型及其构建块变得容易。
而且,更多层的组合允许更复杂的非线性,并在感知任务中取得了令人惊讶的好结果。
尽管更深层次的神经网络可能是更强大的直觉早于现代深度学习技术,这是架构和训练程序方面的一系列进步,但是,为什么更深的网络可以更好地概括我们对建模感兴趣的输入输出关系类型?重要的是,要认识到这不仅仅是具有更多参数的问题,因为深度网络通常比具有相同参数数量的浅层网络具有更好的泛化能力。
最流行的计算机视觉卷积网络架构是ResNet系列,其中最常见的代表ResNet-50有50层。本文未提及但结果证明非常有用的其他成分包括图像变形、dropout和批量归一化。我们相信深度网络之所以出色,是因为它们利用了一种特定形式的组合性,其中一层中的特征以多种不同的方式组合,以在下一层创建更多抽象特征。
当标记训练示例的数量与执行任务所需的神经网络的复杂性相比较小时,开始使用一些其他信息源来创建特征检测器层然后微调这些特征检测器是有意义的。在迁移学习中,信息来源是另一个具有大量标签的监督学习任务。但也可以通过堆叠自动编码器来创建多层特征检测器,而无需使用任何标签。
深度学习的未来深度学习系统的性能通常可以通过简单的扩展来而得到显著提高。有了更多的数据和更多的计算,它们通常会更好地工作。具有1750亿个参数的语言模型GPT-3(与人脑中的突触数量相比仍然很小)生成的文本,明显优于只有15亿个参数的GPT-2。随着聊天机器人Meena和BlenderBot变得越来越大,它们也在不断改进。
当前深度学习存在一些根本性的缺陷,无法仅仅通过扩大规模来克服。
我们将人类学习能力与当前的人工智能进行比较,提出了几个改进方向:监督学习需要太多标记数据,而无模型强化学习需要太多试验。人类似乎能够以少得多的经验很好地概括。当前的系统对分布变化的鲁棒性不如人类,人类可以通过很少的例子快速适应这种变化。当前的深度学习在感知任务和通常所谓的system 1任务方面最为成功。
将深度学习用于需要经过深思熟虑步骤序列的system 2任务,是一个仍处于起步阶段的令人兴奋的领域。