人工神经网络简介


  人工神经网络,英文全称为Arificial Neural Networks,简称ANN。它的意义在于从样例中进行学习后,为我们提供一个普遍实用的目标函数(输出可为实数、离散值或向量)。目前ANN已广泛应用于视觉场景分析、语音识别、手写识别、机器人控制等多个领域。

一、从生物模型到数学模型

  生物模型:生物学家估计人类大脑是由 1 0 11 10^{11} 1011个互相连接的神经元组成的异常复杂的网络,平均一个神经元与其他约 1 0 4 10^{4} 104个神经元互连,人在收到外部刺激后,经过大脑中复杂神经网络后做出响应。现在知道的神经网络中最快的神经元转换时间在 1 0 − 3 10^{-3} 103秒级别,相比于计算机 1 0 − 10 10^{-10} 1010慢很多,但却能做出复杂度惊人的决策,如我们认出我们的母亲大约需要 1 0 − 1 10^{-1} 101秒,此时被激发的神经元序列不长于数百步,因此很多人推测这得益于大量神经元的高度并行处理。

在这里插入图片描述
图1
  数学模型:受人脑神经元的高度并行处理的启发,模拟神经网络的结构和连接,构建出人工神经网络。ANN由一个输入层、多层隐藏层、一个输出层构成,每个单元在层中,层与层之间彼此关联。人工神经网络
图2
  注1:ANN只是受到神经网络的启发,并非完全等同于人脑神经网络,有许多复杂的生物神经系统特征,它并未模拟。而且ANN很多特征与人脑神经网络并不一致,如ANN中每个单元输出单一的不变值,而生物神经元则输出的复杂的时序脉冲。因此目前衍生出两派研究者:一派热衷于使用ANN研究和模拟生物真实的学习过程;另一派则旨在获取高效的机器学习算法,不考虑算法是否反映生物过程。
  注2:大多数的ANN软件在串行机器上进行,而更快的版本已经在高度并行机和专门为ANN设计的硬件上实现了。

二、典型案例

  Pomerleau(1993)教授的ALVINN(Autonomous Land Vehicle In A Neural Network)系统是神经网络(Neural Network)控制陆地自动驾驶汽车的第一次尝试。通过训练5分钟学习到的ANN,实现在高速公路上以70英里/小时驾驶了90英里(左车道行驶,同时还有其他车辆)。
在这里插入图片描述
图3
  上图为ALVINN系统一个版本使用过的神经网络表示,第一层输入层为从图像中获取的30x32个像素,第二层隐藏层共有4个单元(其输出作为第三层的输入),第三层输出层30输出单元分别代表30个输出方向,输出单元中概率最大的为最强烈推荐的驾驶方向。
  上图中右侧的黑白矩阵和黑白长条,代表ANN学习到的权重,分别代表第一层输入层(所有单元,共30x32个)对第二层隐藏层单元(一个)的权重和第二层隐藏层(一个)对第三层输出层(所有单元,共30个)的权重。
  上图所有单元的分层互连形成了一个有向无环图。ANN的图可以无环或有环,可以有向或无向。大多数实际应用采用的都是采用类似上图的无环前馈网络。

三、适合神经网络的学习问题

  • ANN实例为很多“属性-值”对表示的:要学习的目标函数是定义在用向量描述的实例之上,向量由预先定义的特征组成如ALVINN中的像素值。输入属性之间可以相关也可以独立。
  • ANN输出可为实数、离散值或向量:如ALVINN输出为30个属性的向量。
  • ANN的训练集可能包含错误:ANN具有对训练数据中的错误非常好得鲁棒性的特征。
  • ANN可容忍长时间的训练:训练时间可以从几秒到几小时,由网络中的权值数量、训练实例数量以及不同的学习算法参数设置等因素决定。
  • ANN可能需要快速输出目标函数值:虽然ANN学习的时间可能会很长,但是对于学习到ANN应用后续实例却要求很快,如ALVINN在车辆真实驾驶时,需要快速响应,每秒要应用ANN若干次。
  • 人类是否理解目标函数不重要:神经网络学习到的权值经常是人类难以解释的,学习到的规则人类也很难理解。

    参考:


    1、《机器学习》(美)卡内基·梅隆大学著 曾华军 张银奎等译 60-63页

    2、中国大学MOOC 《人工智能与信息社会》北京大学 陈斌 主讲
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值