人工神经网络(简称神经网络)是神经系统的模拟,包括了大脑神经系统的许多特征。人脑是一个高度复杂的、非线性的和并行的计算机器(信息处理系统)。人脑能够组织它的组成成分,即神经元,以比今天已有的最快的计算机还要快许多倍的速度进行特定的计算(如模式识别、感知和运动神经控制)。由于目前人类对大脑神经系统及其智能机理研究水平以及相关科学技术水平有限,神经网络对大脑神经系统进行了合理的简化和抽象。神经网络是一个由大量结构简单的处理单元,即神经元,通过广泛的连接而形成的神经系统。通过大量神经元的并行计算和分布存储,神经网络具有很强的计算能力和存储能力,因此神经网络是一种基于大规模并行的分布式处理系统。神经网络在两方面与大脑相似:
1)神经网络获取的知识是从外界环境中学习得来的;
2)互连神经元的连接强度,即突触权值,用于存储获取的知识。
设计一个网络模型需要考虑下面几个因素:
1)网络拓扑结构。前向式神经网络(feed forward)还是反馈式神经网络(feed back),网络的层数,神经元的数目;
2)神经元的类型。神经元输入输出函数的类型,是可以同模拟电路实现的简单神经元还是必须用数值电路实现的复杂神经元,是连续型神经元还是离散型神经元;
3)学习训练机制。是有监督的学习还是无监督的自组织学习方式,所用的学习规则和训练方法。
这些因素也是用来划分神经网络类型的标准。例如,按照网络拓扑结构,可以将神经网络分为前向式神经网络和反馈式神经网络;按照神经元类型,可以分为连续型神经网络和离散型神经网络;按照学习机制,则可分为有监督的学习和无监督的学习。
1943年,W. S. McCulloch和W. Pitts提出了的M-P模型。该模型根据生物神经元的结构和工作机理构造了一个简化的数学模型,
1949年,D. Hebb给出了Hebb学习规则。该规则认为权值调整正比于神经元的输入向量X和输出向量Y的相关性,该规则根据神经元之间连接的激活水平来调整权值(输入输出相关性强,则权值增大,相关性弱,则权值减弱),训练神经网络,这个过程与人类观察和认知世界的过程相吻合,至今还在被许多人工神经网络学习算法所使用。
1957年,F. Rosenblat提出了感知器(Perceptron)模型,这是一个由线性阀值神经元组成的前馈人工神经网络,可实现与或非等逻辑门,用于实现简单分类。
1960年,B. Widrow和M. Hoff提出了自适应线性单元,一种连续取值的人工神经网络,可用于自适应系统。随即人工神经网络进入第一个研究高潮期。
1969年,人工智能创始人M. Minsky和S. Papert发表《Perceptrons》一书,书中指出:单层Perceptron不能实现异或门(XOR),多层Perceptron不能给出一种学习算法,因此毫无使用价值。鉴于两人在人工智能领域的地位,该书产生极大反响,人工神经网络研究陷入低潮。
1982年,加州理工大学教授H. Hopfield提出Hopfield人工神经网络,在著名的旅行商(TSP)问题这个NP(Nondeterministic Polynomia)完全问题的求解上获得当时最好结果,引起了巨大的反响,使人们重新认识到人工神经网络的威力。
1985年,Rumelhart等人重新给出了多层感知机权值训练的BP算法(Backpropagation Algorithm),事实上,1975年哈佛大学的Paul Werbos发明了BP算法,因为当时正值人工神经网络冰河期,因此未受到应有的重视),该算法通过实际输出对比理论输出产生的误差(Error),反向微调各层连接权值系数从而优化网络权值,从而解决了Minsky认为不能解决的多层感知机的学习问题。藉此,带来人工神经网络研究的二次热潮。
20世纪90年代中期,随着统计学习理论和支持向量机的兴起,人工神经网络学习理论性质的不明确、试错性强、使用中充斥大量“技巧”的弱点,使得人工神经网络研究又进入低谷, NIPS 会议甚至多年不接受人工神经网络为主题的论文。
2010年前后,随着算法改进、计算速度提升和大数据的涌现,深度学习在自然语言处理(NaturalLanguage Processing,NLP)、计算机视觉、语音识别下棋(AlphaGo、Master、AlphaGo Zero)、自动驾驶等应用领域取得显著成绩,人工神经网络又再度焕发青春,从而掀起持续至今的第三次高潮。
人工神经网络发展曲线图
从上可知人工神经网络的发展到目前为止都经历了三起两落,如图2-2所示。低潮多是因为概念被过渡泡沫化后的幻灭或者遇到解决实际问题的瓶颈,而高潮也多是踏踏实实、兢兢业业的研究者坚持研究或者转换思路取得新的突破,赢得大家的认可,进而促成的。
几个概念之间的关系示意图
我们可以将人工智能和人工神经网络的关系总结为:人工智能是一个领域,设计软件和硬件,而其软件方面的研究,延伸出来了机器学习,人工神经网络是研究机器学习的一种方法思路,同时更是一个模型,所以有它自己的独立性,深度学习又从算法和模型两个角度对人工神经网络进行了延伸。它们之间的关系,由图2-3表示。