如今,当有人提到人工智能引起社会变革潜力时,他们很可能是在谈论机器学习中的人工神经网络。当一篇文章谈人工神经网络突破性进展时,作者很可能指的是深度学习。
人工神经网络是一种非线性统计建模工具,可以用于发现输入和输出之间的关系,或在大型数据库中发现模式。人工神经网络已应用于统计模型开发、自适应控制系统、数据挖掘模式识别和不确定性下的决策。
深度学习是基于人工神经网络和表示学习的一系列机器学习方法的一部分。学习可以是有监督的、半监督的或无监督的,甚至强化学习的。
【深度学习有别于传统机器学习】
有人称,“实际上,深度学习是一种称为神经网络的人工智能方法的新名称,这种方法已经流行了70多年了”。但是,这样的说法并不准确。深度学习有别于传统机器学习。这里的“传统机器学习”,是指20世纪普通的神经网络,或浅层神经网络。
的确,计算机与大脑的关系,曾经吸引了20世纪40年代计算机先驱的关注。例如,1945年6月,约翰·冯·诺伊曼(John von Neumann)在《EDVAC报告草稿》首次描述现代计算的关键体系结构概念时,就使用了“memory(记忆)”,“organ(器官)”和“neuron(神经元)”等生物学术语。冯·诺伊曼生前还撰写《计算机与人脑》未完成稿,从数学的角度解析了计算机与人脑神经系统的关系。又如,1943年,沃伦·麦卡洛克(Warren McCullough)和沃尔特·皮茨(Walter Pitts)首次提出神经网络,他们的神经元模型,能够实现布尔逻辑语句。
第一次重大的神经网络突破,出现在20世纪60年代中期,苏联数学家亚历克赛·伊瓦克年科(Alexey Ivakhnenko)在他的助手拉帕(V.G.Lapa)的帮助下创建了小型但功能较强的神经网络,采用有监督深度前馈多层感知器的学习算法。而单层感知机是20世纪50年代罗森布拉特发明的。
上世纪80年代初,约翰·霍普菲尔德(John Hopfield)的循环神经网络(recurrent neural networks)引起了轰动,紧接着特里·塞伊诺夫斯基(Terry Sejnowski)的程序NetTalk可以发音英语单词。
2006年,卡内基梅隆大学教授、计算机科学家杰弗里·辛顿使用了“深度学习”这个词,此后,“深度学习”术语很快广泛流行。虽然,这个术语并非辛顿第一个使用的,早在1986年,R.德克特(R. Dechter)的一篇论文就将“深度学习”一词引入机器学习。2000年,艾森伯格(Aizenberg)等人首次将其引入人工神经网络。
21世纪的深度学习与传统神经网络区别在哪里呢?
首先,人工神经网络包含输入层和输出层之间的隐藏层。传统的神经网络只包含一个或几个隐藏层。深度学习是一个非常大的神经网络,包含多得多的隐藏层(通常为150个),它们可以存储和处理更多信息。这是深度学习有别于传统神经网络的最重要的一点。因此,名称“深层”用于此类网络。
其次,深度学习不需要手工提取特征,而直接将图像作为输入。这是深度学习有别于传统神经网络的另一点。图1描述了在机器学习和深度学习中识别对象所遵循的过程。
第三,深度学习需要高性能的GPU和大量数据。特征提取和分类是通过称为卷积神经网络(CNN)的深度学习算法进行的。CNN负责特征提取以及基于多个图像的分类。当数据量增加时,深度学习算法的性能也会提高。相反,当数据量增加时,传统学习算法的性能会降低。
图1 机器学习与深度学习
在机器学习中,需要提供给算法更多的信息(例如,通过执行特征提取)来做出准确的预测。在深度学习中,由于采用了深度人工神经网络的结构,算法可以通过自身的数据处理学习如何做出准确的预测。表1更详细地比较了这两种技术:
表1 深度学习与传统机器学习比对
传统机器学习 |
深度学习 |
|
隐藏层数目 |
一个或少数几个隐藏层。 |
非常多的隐藏层。 |
数据点数量 |
可以使用少量数据进行预测。 |
需要使用大量的训练数据进行预测。 |
硬件依赖性 |
可以在低端机器上工作。它不需要大量的 |