先看下面信号流图,L=2和M0=M1=M2=M3=3的情况,上面是前向通过,下面部分是反向通过。

1.初始化。假设没有先验知识可用,可以以一个一致分布来随机的挑选突触权值和阈值,这个分布选择为均值等于0的均匀分布,它的方差选择应该使得神经元的诱导局部域的标准偏差位于sigmoid激活函数的线行部分与饱和部分过渡处。

(1)训练样本的呈现。呈现训练样本的一个回合给网络。对训练集中以某种形式排序的每个样本,一次进行下面的第3点和第4点中所描述的前向和反向计算。

(2)前向计算。在该回合中设一个训练样本是(x(n),d(n)),输入向量x(n)作用于感知节点的输入层,期望响应向量d(n)指向计算节点的输出层。不断经由网络一层一层第前进,可以计算网络的诱导局部域和函数信号。在层L的神经元j的诱导局部域为:

这里η为学习率参数,α为动态常数。

迭代。通过呈现新的一回合样本给网络并根据第3和第4进行前向和反向迭代计算,知道满足停止准则。

注意:训练样本的呈现顺序从一个回合到另一个回合必须是随机的。动量和学习率参数随着训练迭代次数的增加而调整(通常是减少的)。

3.学习率和动量问题。反向传播算法(BP)提供使用最速下降方法在权空间计算得到的轨迹的一种近似。使用的学习率参数η越小,从一次迭代带下一次迭代的网络突触权值的变化量就越小,轨迹在权值空间就越光滑。然而,这种改进是以减慢学习速度为代价的。另一方面,如果让η的值太大以加快学习速度的话,结果有可能是网络突触权值不稳定。一个既要加快学习速度又要保持稳定的简单方法是修改

这里α是动量常数,通常是正数。他控制围绕Δwji(n)的反馈环路如下图(z-1表示单位时间延迟操作符)

  1. 欲使时间序列收敛,动量常数必须限制在0<=|α|<1 范围内。当α等于0时,反向传播算法运行起来没有动量。虽然在实际中动量常数α不大可能是负的,但是它还是可正可负。
  2. 在反向传播(BP)算法中包含动量趋于在稳定的下降方向上加速下降。
  3. 在反向传播算法中包含动量具有符号正负摆动方向的稳定效果。
  4. 动量向一定程度上可以防止学习过程停止在误差曲面上的局部最小值。

在反向传播算法的应用中可以选择使所有突触权值都是可调整的,或者在自适应过程中可能限制网络中某些权值使其保持固定。对于后者,误差信号是以通常的方式通过网络反向传播的;然而,固定的突触权值是不改变的。这一点可以简单通过使突触权值的学习率参数等于0来做到。

4.停止准则。通常,不能证明反向传播算法是收敛的,并且没有明确定义的算法停止准则。相反,仅有一些合理的准则,它们每个都有自己的实际用处,这些准则可用于终止权值的调整。

  1. 当梯度向量的欧几里得范数达到一个充分小的帝都阈值时,我们认为反向传播算法已经收敛。
  2. 当每一回合的均方误差变化的绝对速率足够小时,我们认为反向传播算法已经收敛。

最新文章

  1. Json格式转换
  2. Note for Computer Networks_Circuit Switching &amp; Packet Switching
  3. js基础知识之_对象
  4. java字节码指令集
  5. PolarDB &#183; 新品介绍 &#183; 深入了解阿里云新一代产品 PolarDB
  6. php 中 global 与 $GLOBAL 的区别
  7. anytime
  8. POJ1151-扫面线+线段树+离散化//入门题
  9. VSIX 插件右键菜单(2)
  10. 29-2-电容触摸屏控制芯片GT911
  11. 5--Selenium环境准备--firefox与geckodriver
  12. MVC 学习(一)Linq to Entities 简单Demo
  13. 20145339 Exp5 MS11_050
  14. Template类的使用指南【python】
  15. 如何在单片机上使用printf函数(printf)(avr)(stm)(lpc)(单片机)(转)
  16. MINI3内存分配算法
  17. Linux内核学习笔记(6)-- 进程优先级详解(prio、static_prio、normal_prio、rt_priority)
  18. PCI-Express协议传输层读书笔记
  19. Useful WCF Behaviors - IErrorHandler
  20. Keras 训练时出现 CUDA_ERROR_OUT_OF_MEMORY 错误

热门文章

  1. FPGA的开发板
  2. hibernate 的一对多关联关系映射配置
  3. docker配置私有镜像仓库-registry和hyper/docker-registry-web
  4. github个人主页 阿里云域名的绑定
  5. Java 树结构实际应用 三(二叉排序树)
  6. C#无边框窗体拖动代码
  7. 【ZeyFraのJavaEE开发小知识05】Mybatis-Plus &amp; Axios
  8. Java程序员都要懂得知识点:反射
  9. 新动能 &#183; 新机遇:SaaS软件提供商 Zoho 25 周年战略再升级
  10. 第2课:操作系统网络配置【DevOps基础培训】