欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-03-01 19:05:03
...

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


此项目描述了多层神经网络利用反向传播算法的训练过程。为了阐明这个过程,使用了两个输入和一个输出的三层神经网络,如下图展示:

使用反向传播的多层神经网络训练原理
            
    
    博客分类: dl4j 反向传播BP




每个神经元由两个单元构成。第一单元添加权重系数与输入信号的乘积。第二单元实现非线性函数,叫作神经激活函数。信号e是加法器输出信号,y= f(e)是非线性元素的输出信号。信号y也是神经元的输出信号。

使用反向传播的多层神经网络训练原理
            
    
    博客分类: dl4j 反向传播BP





为了训练神经网络,我们需要训练数据集。训练数据集由分配给的相应的目标(期望输出)z的输入信号(x1和x2)组成。网络训练是一个迭代过程。在每次迭代中,使用训练数据集的新数据修改节点的权重系数。使用下面描述的算法来计算修改:每个教学步骤都是从训练集强制输入信号开始的。在此阶段之后,我们可以确定每个网络层中每个神经元的输出信号值。下面的图片说明了信号是如何通过网络传播的,符号w(xm)n 代表网络输入xm 和输入层中神经元n之间连接的权重。符号yn代表神经元n的输出信号。

使用反向传播的多层神经网络训练原理
            
    
    博客分类: dl4j 反向传播BP


使用反向传播的多层神经网络训练原理
            
    
    博客分类: dl4j 反向传播BP


使用反向传播的多层神经网络训练原理
            
    
    博客分类: dl4j 反向传播BP





在隐藏层之间的信号传播。符号wmn代表下一层中神经元m的输出和神经元n的输入之间的连接权重。

使用反向传播的多层神经网络训练原理
            
    
    博客分类: dl4j 反向传播BP


使用反向传播的多层神经网络训练原理
            
    
    博客分类: dl4j 反向传播BP


输出层之间信号传播。

使用反向传播的多层神经网络训练原理
            
    
    博客分类: dl4j 反向传播BP


 在下一个算法步骤中,网络输出信号y与期望输出(目标值)比较,期望值可以在训练数据集中找到。它们之间的差异叫作输出层神经元错误信号d。

使用反向传播的多层神经网络训练原理
            
    
    博客分类: dl4j 反向传播BP


直接计算内部神经元的误差信号是不可能的,因为这些神经元的输出值是未知的。多年来,训练多层网络的有效方法是未知的。仅在80年代中期,才建立了反向传播算法。其思想是将误差信号d(在单个教学步骤中计算)传播回所有神经元,这些输出信号被输入给正在讨论的神经元。

使用反向传播的多层神经网络训练原理
            
    
    博客分类: dl4j 反向传播BP


使用反向传播的多层神经网络训练原理
            
    
    博客分类: dl4j 反向传播BP



用于传播误差的权重系数wmn与计算输出值时使用的权重相等。只是数据流的方向发生变化(信号从输出传播到另一个输入)。如果传播误差来自它们添加的少数神经元,该技术用于所有网络层。阐述如下:

使用反向传播的多层神经网络训练原理
            
    
    博客分类: dl4j 反向传播BP


使用反向传播的多层神经网络训练原理
            
    
    博客分类: dl4j 反向传播BP


使用反向传播的多层神经网络训练原理
            
    
    博客分类: dl4j 反向传播BP


 当每个神经元的错误信号被计算完成,每个神经元的输入节点的权重系数可能被修改。下面的公式df(e)/de代表了神经元激活函数(权重被修改)的导数。

使用反向传播的多层神经网络训练原理
            
    
    博客分类: dl4j 反向传播BP


使用反向传播的多层神经网络训练原理
            
    
    博客分类: dl4j 反向传播BP


使用反向传播的多层神经网络训练原理
            
    
    博客分类: dl4j 反向传播BP


使用反向传播的多层神经网络训练原理
            
    
    博客分类: dl4j 反向传播BP


使用反向传播的多层神经网络训练原理
            
    
    博客分类: dl4j 反向传播BP


使用反向传播的多层神经网络训练原理
            
    
    博客分类: dl4j 反向传播BP


系数h影响网络训练速度。选择这个参数有一些技巧。第一种方法是以较大的参数值开始训练过程。在建立权重系数的同时,参数逐渐减少。第二,更复杂的方法,从小参数值开始训练 。在训练过程中,随着训练的推进,参数逐渐增大,最后又逐渐减小。启动低参数值的训练过程,可以确定权重系数符号。

                原文出处:http://galaxy.agh.edu.pl/~vlsi/AI/backp_t_en/backprop.html

 有任何问题请联系微信 

使用反向传播的多层神经网络训练原理
            
    
    博客分类: dl4j 反向传播BP

如果您觉得我的文章给了您帮助,请为我买一杯饮料吧!以下是我的支付宝,意思一下我将非常感激!

使用反向传播的多层神经网络训练原理
            
    
    博客分类: dl4j 反向传播BP     

相关标签: 反向传播 BP