1.3.4 深度网络
2019年3月27日,美国计算机学会(ACM)发表声明称,三位计算机科学家因其在深度学习方面的成就被授予图灵奖(ACM Turing Award)。他们是Yoshua Bengio、Yann LeCun和Geoffrey Hinton,都是很有成就的科学家。他们的一个主要贡献就是提出了反向传播学习算法。
美国计算机学会的官方声明这么评价Hinton博士和他的一篇奠基性论文(Rumelhart,D.E.,1985):
在1986年与David Rumelhart和Ronald Williams合著的一篇论文“Learning Internal Representations by Error Propagation”中,Hinton证明了反向传播算法能够让神经网络获得自己内部的数据表示,可以使用神经网络来解决问题,而以前人们认为这是无能为力的。反向传播算法是当今大多数神经网络的标准算法。
类似地,美国计算机学会的官方声明这么评价LeCun博士的论文(LeCun,Y.,et.al.,1998):
LeCun提出了一个早期版本的反向传播算法(backprop),并根据变分原理给出了一个清晰的推导。他的工作加速了反向传播算法,提出了两种简单的方法来缩短学习时间。
Hinton博士证明了存在一种方法可以使神经网络中的损失函数最小化,这种方法使用的是受生物学启发的算法,比如通过修改连接对特定神经元的重要性来反向或正向调整连接。通常,反向传播与前馈神经网络有关,而后向–前向传播与受限玻尔兹曼机有关(将在第10章中介绍)。
前馈神经网络是一种输入通过没有反向连接的中间层直接流向输出层的神经网络,如图1.8所示,我们将在本书中一直讨论前馈神经网络。
我们通常可以假设,除非是其他情况,否则所有的神经网络都有一个前馈结构。本书的大部分内容都将讨论深度神经网络,其中绝大多数都是类前馈的,除了诸如受限玻尔兹曼机或循环神经网络之类的神经网络。
反向传播使人们能够以一种前所未见的方式训练神经网络,然而,在大型数据集和更大(更深)的架构上训练神经网络则会存在问题。如果你去看20世纪80年代末90年代初的神经网络论文,会发现网络架构的尺寸都很小:网络通常不超过两到三层,神经元的数量通常不超过数百的数量级。这些网络(今天)被称为浅层神经网络。
主要的问题是训练算法运行更大数据集所需要的收敛时间,以及用于训练更深层次网络模型所需要的收敛时间。LeCun博士的贡献正是在这个领域,因为他设想了以不同的方式来加快训练过程。其他的进步,如图形处理单元(GPU)上的向量(张量)计算也极大地提高了训练速度。
因此,在过去的几年里,我们看到了深度学习的兴起,也就是训练深度神经网络的能力,从三层到四层,再从几十层到几百层。此外,我们可以使用各种各样的程序架构完成过去十年无法完成的事情。
图1.10所示的深度网络在30年前是不可能训练的,现在看,它也不算很深。
图1.10 一个八层的深度及全连接的前馈神经网络
在本书中,我们将研究深度神经网络,即总体上超过三层或四层的网络。然而,对于到底有多深才算是深度,并没有一个标准的定义。同时,你需要考虑到,到了二三十年之后,我们今天认为是深度的算法可能不会被认为是深度的。
不管DL的未来如何,现在让我们讨论一下到底是什么原因使得DL在现代社会中变得如此重要。