4.3 深度学习
深度学习和机器学习之间经常存在混淆,这两个概念都很复杂,而且它们确实有很多相似之处。虽然两者通常都需要大量的数据,但解决问题的方式是不同的。机器学习是一种能够赋予机器学习的能力,以此让它完成直接编程无法完成的任务。但从实践的意义上来说,机器学习是一种通过利用数据,训练出模型,然后使用模型对真实世界中的事件做出决策与预测的一种方法。例如,假设我们有成千上万张动物的照片,并且想要创建一个算法来找到马的照片。机器学习不能分析照片本身,相反,数据必须被标记。然后,机器学习算法将通过一个被称为监督式学习的过程来训练识别马匹,虽然机器学习可能会有好的结果,但仍然有局限性。机器学习使用特征提取的方法,这意味着必须想出一匹马的各种特征,如形状、蹄子、颜色和高度,然后利用运算法则去试图识别这些特征。但如果特征不符合标记,或者没有考虑异常值或异常,在这种情况下,模型的准确性可能会受到影响。毕竟,马有很多品种。特征提取也有忽略大量数据的缺点。但是通过深度学习,我们可以解决这些问题。深度学习对所有数据逐像素进行分析,然后利用模拟人脑的神经网络进行关联分析。
深度学习是机器学习的子领域。这种类型的系统能够处理大量数据,并且发现人类往往无法察觉的问题。“深”字指的是神经网络中的隐藏层,负责学习。神经网络的历史充满了起伏,最初由弗兰克·罗森布拉特发明了感知器,这是一个最基本的系统,但是直到20世纪80年代,借助反向传播、卷积神经网络和回归神经网络的突破,神经网络才取得了真正的学术进步。但深度学习要想对现实世界产生影响,就需要海量的数据支持,比如来自互联网的数据,同时还要计算能力的激增。
人工神经网络(artificial neural networks)成为机器学习中的一个重要的算法,其中反向传播算法(back propagation)是最常用的ANN学习技术。早期由于训练困难、需要大量计算,所以神经网络算法的运算能力即算力需求难以得到满足。进入20世纪90年代,神经网络的发展进入瓶颈期,其主要原因是尽管有BP算法的加速,神经网络的训练过程仍然很困难,因此90年代后期支持向量机(SVM)算法取代了神经网络的地位。
2006年,加拿大多伦多大学教授、机器学习领域的泰斗Geoffrey Hinton在《科学》上发表了一篇文章,开辟了深度学习在学术界和工业界的浪潮。这篇文章有两个主要观点:
(1)多隐层的人工神经网络具有优异的特征学习能力,学习得到的特征对数据有更本质的刻画,从而有利于可视化或分类。
(2)深度神经网络在训练上的难度,可以通过“逐层初始化”来有效克服,逐层初始化是通过无监督学习实现的。深度学习使得机器学习能够实现众多的应用,并拓展了人工智能的领域。深度学习在语音识别和图像识别等领域获得了巨大的成功,因此极有可能是真正实现人工智能梦想的关键技术。
下面分别介绍神经网络的基础和深度学习。