当前位置:   article > 正文

DL之DNN:神经网络原理深度剖析—仅采用十张流程图带你轻松读懂利用BP反向传播算法训练多层神经网络的原理及其数学公式推导实现过程_dl之bp:神经网络算法简介之bp算法简介

dl之bp:神经网络算法简介之bp算法简介

DL之DNN:神经网络原理深度剖析—仅采用十张流程图带你轻松读懂利用BP反向传播算法训练多层神经网络的原理及其数学公式推导实现过程

导读:介绍了使用反向传播算法训练多层神经网络的原理。

文章首先使用一个包含输入层、隐藏层和输出层的三层神经网络作为示例。每个神经元包含加权求和和非线性激活两个部分。

然后介绍了训练数据包含输入和期望输出,训练过程是迭代调整层间连接权重的。

文章详细描述了信息在神经网络内部传播的过程:

>> 输入信号经过输入层传播,计算每个层节点的输出;

>> 比较输出层节点实际输出与期望输出,计算输出误差;

>> 将输出误差通过误差反向传播算法计算每个内层节点的误差信号;

>> 根据每个节点的误差信号,使用梯度下降法调整该节点入边连接权重。

核心贡献是提出了反向传播算法。它通过在正向传播基础上,引入误差反向传播步骤,实现了多层神经网络每个层节点权重的有效更新,开创性地解决了深层网络训练的问题。

总之,该文章系统地介绍了使用反向传播算法训练多层神经网络的原理,解决了传统方法无法有效训练深层网络的关键技术问题。该方法被证明能有效实现深层神经网络的训练。

目录

相关文章

DL之BP: BP神经网络的简介、基础知识(优化目标/梯度下降/链式法则)、反向传播算法原理的各种可视化案例解读之详细攻略

DL之DNN:神经网络原理深度剖析—仅采用十张流程图带你轻松读懂利用BP反向传播算法训练多层神经网络的原理及其数学公式推导实现过程

DL之DNN:神经网络原理深度剖析—仅采用八张图讲清楚BP类神经网络的工作原理(附解读)

《Principles of training multi-layer neural network using backpropagation》翻译与解读

使用反向传播算法训练多层神经网络的原理

1、简单的三层神经网络

2、神经元的作用

3、训练神经网络

3.1、信号正向传播

(1)、输入层→隐藏层01

(2)、隐藏层01→隐藏层02

(3)、输出层:计算误差

3.2、误差反向传播

(1)、输出层→隐藏层02

(2)、隐藏层02→隐藏层01

3.3、权重全部更新:基于每个神经元上的δ、偏导、学习率

(1)、更新连接到隐藏层01的权重

(2)、更新连接到隐藏层02的权重

(3)、更新连接到输出层的权重

3.4、学习率的优化技巧

参考文献


相关文章

DL之BP: BP神经网络的简介、基础知识(优化目标/梯度下降/链式法则)、反向传播算法原理的各种可视化案例解读之详细攻略

https://yunyaniu.blog.csdn.net/article/details/78991544

DL之DNN:神经网络原理深度剖析—仅采用十张流程图带你轻松读懂利用BP反向传播算法训练多层神经网络的原理及其数学公式推导实现过程

https://yunyaniu.blog.csdn.net/article/details/79145288

DL之DNN:神经网络原理深度剖析—仅采用八张图讲清楚BP类神经网络的工作原理(附解读)

https://yunyaniu.blog.csdn.net/article/details/82120268

《Principles of training multi-layer neural network using backpropagation》翻译与解读

地址

文章地址:Backpropagation

时间

2004年9月6日

作者

Mariusz Bernacki

Przemysław Włodarczyk

mgr inż. Adam Gołda(2005)

Katedra Elektroniki AGH

使用反向传播算法训练多层神经网络的原理

1、简单的三层神经网络

本课题描述了使用反向传播算法进行多层神经网络教学的过程。为了说明这个过程,使用了下面图片中显示的具有两个输入一个输出的三层神经网络:

2、神经元的作用

每个神经元由两个单元组成。第一个单元将权重系数和输入信号的乘积相加。第二个单元实现非线性函数,称为神经元激活函数。信号 e 是加法器的输出信号,而 y = f(e) 是非线性元素的输出信号。信号 y 也是神经元的输出信号。

3、训练神经网络

为了训练神经网络,我们需要训练数据集。训练数据集由分配了相应目标(期望输出)z的输入信号(x1和x2)组成。网络训练是一个迭代过程。

3.1、信号正向传播

(1)、输入层→隐藏层01

每次迭代中,使用训练数据集中的新数据修改节点的权重系数。修改使用如下算法计算:

每个教学步骤从强制训练集的两个输入信号开始。在此阶段之后,我们可以确定每个网络层中每个神经元的输出信号值。下面的图片说明了信号是如何通过网络传播的,符号w_(x_m)n表示输入层中网络输入x_m和神经元n之间的连接权值。符号y_n表示神经元n的输出信号。

(2)、隐藏层01→隐藏层02

信号通过隐藏层的传播。符号 w_mn表示下一层神经元m的输出与神经元n的输入之间的连接权值。

(3)、输出层:计算误差

信号通过输出层的传播。

在算法的下一个步骤中,网络的输出信号 y 与训练数据集中找到的期望输出值(目标)进行比较。这个差称为输出层神经元的误差信号δ

3.2、误差反向传播

(1)、输出层→隐藏层02

由于内部神经元的输出值是未知的,因此无法直接计算内部神经元的误差信号。多年来,训练多层网络的有效方法一直是未知的。直到上世纪八十年代中期,反向传播算法才被提出。其思想是将误差信号δ(在单个教学步骤中计算)传播回所有神经元,这些输出信号作为讨论神经元的输入。

(2)、隐藏层02→隐藏层01

用于传播误差的权重系数 w_mn 与计算输出值时使用的权重系数相同。只是数据流的方向发生了改变(信号一个接一个地从输出传播到输入)。技术可用于所有网络层。如果传播误差来自少数神经元,则添加它们。说明如下:

3.3、权重全部更新:基于每个神经元上的δ、偏导、学习率

(1)、更新连接到隐藏层01的权重

当计算每个神经元的误差信号后,可以修改每个神经元输入节点的权重系数。在下面的公式中,df(e)/de 代表神经元激活函数的导数(其权重被修改)。

(2)、更新连接到隐藏层02的权重

(3)、更新连接到输出层的权重

3.4、学习率的优化技巧

系数η影响网络训练速度。有几种方法可以选择这个参数。
>> 第一种方法是以较大的参数值开始教学过程。在建立权重系数的同时,参数逐渐减小
>> 第二种更复杂的方法是从小参数值开始教学的。在教学过程中,该参数在教学进入阶段时逐渐增大,在教学结束阶段又逐渐减小。以较小的参数值开始教学过程,能够确定权重系数的符号。

参考文献

Ryszard Tadeusiewcz "Sieci neuronowe", Kraków 1992

本文内容由网友自发贡献,转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/144808
推荐阅读
相关标签
  

闽ICP备14008679号