目录
人工智能的主流研究方法是连接主义,通过人工构建神经网络的方式模拟人类智能。 人工神经网络(Artificial Neural Network,即ANN ),是20世纪80 年代以来人工智能领域兴起的研究热点。它从信息处理角度对人脑神经元网络进行抽象, 建立某种简单模型,按不同的连接方式组成不同的网络。 人工神经网络借鉴了生物神经网络的思想,是超级简化版的生物神经网络。以工程技术手段模拟人脑神经系统的结构和功能,通过大量的非线性并行处理器模拟人脑中众多的神经元,用处理器复杂的连接关系模拟人脑中众多神经元之间的突触行为。
人脑由大约千亿个神经细胞及亿亿个神经突触组成,这些神经细胞及其突触共同构成了庞大的生物神经网络
生物神经网络大概有以下特点:
外部事物属性一般以光波、声波、电波等方式作为输入,刺激人类的生物传感器。
人类智能建立在有机物基础上的碳基智能,而人工智能建立在无机物基础上的硅基智能。 碳基智能与硅基智能的本质区别是架构,决定了数据的传输与处理是否能够同时进行。
数据的传输与处理无法同步进行。
冯·诺伊曼结构体系的一个核心特征是运算单元和存储单元的分离,两者由数据总线连接。 运算单元需要从数据总线接收来自存储单元的数据,运算完成后再将运算结果通过数据总线传回给存储单元 数据不是为了存储而存储,而是为了在需要时能够快速提取而存储,存储的作用是提升数据处理的有效性
数据的传输和处理是同步进行的。
数据的传输和处理由突触和神经元之间的交互完成,并且是同时进行的,不存在先传输后处理的顺序。 在同样的时间和空间上,哺乳动物的大脑能在分布式的神经系统上交换和处理信息,这是计算机达不到的。 生物记忆是一个保留精华的过程,无法用简单的存储模拟生物记忆。
M-P模型,是按照生物神经元的结构和工作原理构造出来的一个抽象和简化了的模型。 MP神经元接受一个或多个输入,并对输入的线性加权进行非线性处理以产生输出。 假定MP神经元输入信号是N+1维向量[Math Processing Error](x0,x1,...,xN),第i个分量的权重为[Math Processing Error]wi,则输出可以写成
[Math Processing Error]y=ϕ(∑i=0Nwixi)
[Math Processing Error]ϕ(⋅)是传递函数,用于将加权后的输入转换为输出,通常被设计成连续且有界的非线性增函数。 在MP神经元中,麦卡洛克和皮茨将输入和输出都限定为二进制信号,使用的传递函数则是不连续的符号函数,符号函数以预先设定的阈值作为参数:当输入大于阈值时,符号函数输出 1,反之则输出 0 这样MP神经元工作就类似数字电路中的逻辑门,能够实现“逻辑与”或者“逻辑或”的功能.
在1958年,美国心理学家Frank Rosenblatt提出一种具有单层计算单元的神经网络,称为感知器(Perceptron)。它其实就是基于M-P模型的结构。 Frank受到1949 年加拿大心理学家唐纳德·赫布提出的“赫布理论”,核心观点是学习的过程主要是通过神经元之间突触的形成和变化来实现的。 两个神经元细胞之间进行交流的越多,它们之间的联系就越来越强化,学习的效果也在联系不断强化的过程中逐渐产生。 从人工神经网络的角度,这个理论的意义在于给出了改变模型神经元之间权重的准则
感知器不是真实的器件,而是一种二分类的监督学习算法,能够决定向量表示的输入是不属于某个特定类别。 感知器由输入导和输出导组成,输入导负责接收外界信号,输出导是MP神经元,也就是阈值逻辑单元。 每个输入信号(特征)都以一定的权重送入MP神经元中,MP神经元则利用符号将特征的线性组合映射为分类输出。 给一个包含若干输入输出对应关系实例的训练集,学习步骤为:
第三步要对感知器的权重进行更新,是学习算法的核心步骤,其中0<η≤1 被称为学习率参数,是修正误差的一个比例系数。 如果分类结果和真实结果相同,则保持权重不变;如果输出值应该为0但实际为1,就要减少[Math Processing Error]xj中输入值为1的分量的权重;如果输出值应该为1但实际为0,则增加[Math Processing Error]xj中输入值为1的分量的权重
感知器能够学习的前提是它具有收敛性。感知器学习算法能够在有限次的迭代后收敛,得到决策面位于两类之间的超平面。 本质上在执行二分类问题时,感知器以所有误差分类点到超平面的总距离为损失函数,用随机梯度下降法不断使损失函数下降,直到得到正确的分类结果
除了优良的收敛性能外,感知器还有自适应性,只要给定训练数据集,算法就可以基于误差修正自适应地调整参数而无需人工介入,这在MP神经元的有了很大的进步。
只能解决线性分类问题,没有办法处理异或问题 所谓线性分类意指所有的正例和负例可以通过高维空间中的一个超平面完全分开而不产生错误。 如果一个圆形被分成一黑一白两个半圆,这就是个线性可分的问题; 可如果是个太极图的话,单单一条直线就没法把黑色和白色完全区分开来了,这对应着线性不可分问题。
如果训练数据集不是线性可分的,也就是正例不能通过超平面与负例分离,那么感知器就不可能将所有输入向量正确分类。
多层感知器解决了异或问题,在输入与输出层之间添加了隐藏层,采用了反向传播的方式。