当前位置:   article > 正文

基于反向传播的多层神经网络训练原理_(反向传播)神经网络的结构由输入层、______、输出层组成 site:blog.csdn.net

(反向传播)神经网络的结构由输入层、______、输出层组成 site:blog.csdn.net

原文地址请猛戳这里


该项目描述了采用反向传播算法的多层神经网络学习过程。为了说明这一过程, 使用两个输入层和一个输出层的三层神经网络, 如下图所示:
这里写图片描述
每个神经元由两个单元组成。第一单元添加权重系数和输入值的产出。第二单元实现非线性函数, 称为神经元激活函数。e 是加法器输出值, y=f(e) 是非线性元件的输出值。y 也是神经元的输出值。
这里写图片描述
为了学习神经网络, 我们需要训练数据集。训练数据集包括输入值 (x1x2), 分配了相应的目标 (期望输出) z。网络训练是一个迭代过程。在每个迭代中, 节点的权重系数都使用来自训练数据集的新数据进行修改。修改是使用下面描述的算法计算的: 每个学习步骤都是从训练集强制输入值开始的。在此阶段之后, 我们可以确定每个网络层中每个神经元的输出值。下图说明了值是如何通过网络传播的, 符号 w(xm)n 表示在输入层中的网络输入 xm 和神经元 n 之间的连接权重。符号 yn 表示神经元 n 的输出值。
这里写图片描述
这里写图片描述
这里写图片描述
通过隐藏层传播值。符号 wmn 表示神经元 m 的输出与下一层神经元 n 的输入之间的连接权重。
这里写图片描述
这里写图片描述
值通过输出层传播。
这里写图片描述
在下一个算法步骤中, 将网络 y 的输出值与所需的输出值 (目标) 进行比较, 这在训练数据集中找到。其差异称为输出层神经元的误差值 d
这里写图片描述
由于这些神经元的输出值未知, 因此无法直接计算内部神经元的误差值。多年来, 多层网络训练的有效方法尚不得而知。只有在八十年代中旬, 反向传播算法被算出。其思想是将误差值 d (在单学习步骤中计算) 反馈给所有神经元, 输出值输入给正在讨论的神经元。
这里写图片描述
这里写图片描述
用于传播错误的加权系数 wmn 等于计算输出值时使用的权重。只有数据流的方向发生了变化 (值从输出传输到输入, 一个接一个)。此技术用于所有网络层。如果传播的错误来自很少的神经元, 它们被添加。图示如下:
这里写图片描述
这里写图片描述
这里写图片描述
当计算出每个神经元的误差值时, 可以修改每个神经元输入节点的权重系数。在下面的公式中, df(e)/de 代表神经元激活函数的导数 (权重被修改)。
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
系数 h 影响网络学习速度。有几种方法可以选择此参数。第一种方法是启动具有较大参数值的学习过程。在建立权重系数的同时, 参数也逐渐减少。第二, 比较复杂的方法, 以小参数值开始学习。在学习过程中, 随着学习的推进, 在最后阶段一次又一次地降低了参数。采用低参数值的启动学习过程, 可以确定权重系数符号。

References
Ryszard Tadeusiewcz “Sieci neuronowe”, Kraków 1992

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/144841
推荐阅读
相关标签
  

闽ICP备14008679号