了解人工神经网络
一.什么是人工神经网络?
人工神经网络(Artificial Neural Network,即ANN ),是20世纪80 年代以来人工智能领域兴起的研究热点。它从信息处理角度对人脑神经元网络进行抽象, 建立某种简单模型,按不同的连接方式组成不同的网络。在工程与学术界也常直接简称为神经网络或类神经网络。神经网络是一种运算模型,由大量的节点(或称神经元)之间相互联接构成。每个节点代表一种特定的输出函数,称为激励函数(activation function)。每两个节点间的连接都代表一个对于通过该连接信号的加权值,称之为权重,这相当于人工神经网络的记忆。网络的输出则依网络的连接方式,权重值和激励函数的不同而不同。而网络自身通常都是对自然界某种算法或者函数的逼近,也可能是对一种逻辑策略的表达。
二.人工神经网络的特征
人工神经网络是由大量处理单元互联组成的非线性、自适应信息处理系统。它是在现代神经科学研究成果的基础上提出的,试图通过模拟大脑神经网络处理、记忆信息的方式进行信息处理。人工神经网络具有四个基本特征:
(1)非线性:人工神经元处于激活或抑制二种不同的状态,这种行为在数学上表现为一种非线性关系。具有阈值的神经元构成的网络具有更好的性能,可以提高容错性和存储容量。
(2)非局限性:一个神经网络通常由多个神经元广泛连接而成。一个系统的整体行为不仅取决于单个神经元的特征,而且可能主要由单元之间的相互作用、相互连接所决定。
(3)人工神经网络具有自适应、自组织、自学习能力。神经网络不但处理的信息可以有各种变化,而且在处理信息的同时,非线性动力系统本身也在不断变化。经常采用迭代过程描写动力系统的演化过程。
(4)非凸性是指这种函数有多个极值,故系统具有多个较稳定的平衡态,这将导致系统演化的多样性。
三.典型神经网络结构
(1)层次结构:输入层(input layer),隐藏层(hidden layer),输出层(output layer)。其中的隐藏层可以由多层构成。
输入层指向神经网络中输入需要处理的数据。每个神经元对应的是原始数据,向隐藏层提供信息,将数据输入到神经网络之前的数据处理需要耗费大量的时间。
隐藏层由神经网络中的大多数神经元组成,是处理数据以获得所需输出的核心部分。数据将穿过隐藏层,并有多权重和偏差调节,责特征提取。
输出层是在神经网络中处理数据的最终产物,可以表示不同的事物。输出层是神经网络传递数据的结果,也是人们试图达到的目标。
(2)神经元:在一个神经网络中每一个层次所含有的神经元是不同的。输入层中其神经元的数量取决于原始数据的不同特征,以图片为例一张图片所具有的像素就是其特征数,特征数即为对应的输入层神经元个数。隐藏层中的每一层神经元表示对x进行一次更新的数据,而每层有几个神经元(比如图中hidden1层中有四个神经元)表示将你的输入数据的特征扩展到几个(比如图中就是四个)。
(3)全连接:每一层的每个神经元都连接着下一层中的所有神经元,相互连接的线称其为全连接,这些线可以用一个矩阵来表示,通常称其为权重矩阵。
(4)非线性:在每层运算做完后,数据并非是直接进入下一层计算中,而是需要添加一些非线性函数(激活函数)。
四.人工神经网络发展历史
1943-MP模型:提出了神经元的形式化数学描述和网络结构方法,证明了单个神经元能执行逻辑功能,从而开创了人工神经网络研究的时代,元器件、用计算机程序实现人工神经网络打下了坚实的基础。
1949-Hebb学习律:Hebb学习律在人.工神经网络的发展史中占有重要的地位,被认为是人工神经网络学习训练算法的起点是里程碑。
1950年到1968年,也就是从单级感知器(Perceptron)的构造成功开始,到单级感知器被无情地否定为止。这是人工神经网络的研究被广为重视的一个时期。其重要成果是单级感知器及其电子线路模拟。
1969年MIT出版社发行了《Perceptron》一书,从理论上指出单级感知器无法解决许多简单的问题,包括最简单的异或问题都无法被解决。这一时期仍然产生了不少具有重大意义的成果,如BP算法,适应谐振理论(ART网)、自组织映射、认知机网络,同时进行了神经网络数学理论的研究。以上研究为神经网络的研究和发展奠定了基础。
1982年,J.Hopfield提出循环网络,并将Lyapunov函数引入人工神经网络, 1984年J. Hopfield设计研制了后来被人们称为Hopfield网的电路。上述两项研究标记着人工神经网络第二次高潮的到来。而后人工神经网络得到蓬勃的发展。
2006年,Hinton提出了深度置信网络(DBN),一种深层网络模型。使用一种贪心无监督训练方法来解决问题并取得良好结果。深度神经网络模型的出现解决了许多的难题,成为人工智能研究最热门的研究方向。
四.人工神经网络类型
前馈神经网络:在此种神经网络中,各神经元可以接收前一层神经元的信号,并产生输出到下一层。第0层叫输入层,最后一层叫输出层,其他中间层叫做隐含层(或隐藏层、隐层)。隐层可以是一层,也可以是多层。
全连接神经网络:每一层是全连接层—即每一层的每个神经元与上一层所有神经元都有连接;多个全连接层可以从不同角度提取特征;全连接层作为输出层有分类和数值预测的功能;也经常用于卷积神经网络。但其权重多,计算量大。所有的神经网络均可以利用
卷积神经网络:卷积神经网络是一种具有局部连接,权重共享等特性的深层前馈神经网络。一般是由卷积层,汇聚层,全连接层交叉堆叠而成,使用反向传播算法进行训练。其有三个结构上的特征:局部连接,权重共享以及汇聚。
循环(递归)神经网络:之所以称为循环神经网路,一个序列当前的输出与前面的输出也有关。具体的表现形式为网络会对前面的信息进行记忆并应用于当前输出的计算中,即隐藏层之间的节点不再无连接而是有连接的,并且隐藏层的输入不仅包括输入层的输出还包括上一时刻隐藏层的输出。