神经网络的学习

代价函数、反向传播算法、反向传播算法的直观理解、展开参数、梯度检验、随机初始化。

神经网络使用步骤

    网络 结构:选择网络结构,决定选择多少层以及决定每层分别有多少个单元。
    第一层的单元数是我们训练集的特征数量。
    最后一层的单元数是我们训练集的结果的类的数量。
    如果隐藏层数大于1,就确保每个隐藏层的单元个数相同,通常情况下隐藏层单元的个数越多越好。
    真正要决定的是隐藏层的层数和每个中间层的单元数。

接下来是训练神经网络:

  • 参数的随机初始化
  • 利用正向传播方法计算所有的h*(x)【一个代价函数】
  • 即为h*(x)函数:
  • 编写计算代价函数J的代码。
  • 利用反向传播方法计算所有偏导数。
  • 利用数值检验方法检验这些偏导数。
  • 利用优化算法来最小化代价函数。(这里简单介绍主题,复杂的算法就不做多举例)

自主驾驶

使用神经网络来实现自主驾驶,即汽车通过学习来实现自己驾驶。(这里笔者介绍自主驾驶的一些简单原理)
ALVINN (Autonomous Land Vehicle In a Neural Network)是一个基于神经网络的智能系统,通过观察人类的驾驶来学习驾驶,ALVINN能够控制Navlab,装在一辆改装版军用悍马,这辆悍马装载了传感器、计算机和驱动器来进行自动驾驶的导航实验。实现ALVINN功能的第一步,是对它进行训练,也就是训练一个人驾驶汽车。
然后让 ALVINN 观看,ALVINN 每两秒将前方的路况图生成一张数字化图片,并且记录驾
驶者的驾驶方向,得到的训练集图片被压缩为 30x32 像素,并且作为输入提供给 ALVINN 的
三层神经网络,通过使用反向传播学习算法,ALVINN 会训练得到一个与人类驾驶员操纵方
向基本相近的结果。一开始,我们的网络选择出的方向是随机的,大约经过两分钟的训练后,我们的神经网络便能够准确地模拟人类驾驶者的驾驶方向,对其他道路类型,也重复进行这个训练过程,当网络被训练完成后,操作者就可按下运行按钮,车辆便开始行驶了。每秒钟 ALVINN 生成 12 次数字化图片,并且将图像传送给神经网络进行训练,多个神经网络同时工作,每一个网络都生成一个行驶方向,以及一个预测自信度的参数,预测自信度
最高的那个神经网络得到的行驶方向。比如这里,在这条单行道上训练出的网络将被最终用于控制车辆方向,车辆前方突然出现了一个交叉十字路口,当车辆到达这个十字路口时,我们单行道网络对应的自信度骤减,当它穿过这个十字路口时,前方的双车道将进入其视线,双车道网络的自信度便开始上升,当它的自信度上升时 双车道的网络,将被选择来控制行驶方向,车辆将被安全地引导进入双车道路。这就是基于神经网络的自动驾驶技术。当然,我们还有很多更加先进的试验来实现自动
驾驶技术。在美国,欧洲等一些国家和地区,他们提供了一些比这个方法更加稳定的驾驶控制技术。但我认为,使用这样一个简单的基于反向传播的神经网络,训练出如此强大的自动驾驶汽车,的确是一次令人惊讶的成就。
(人工智能与机器学习)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值