论文学习:BP神经网络 |
您所在的位置:网站首页 › bp神经网络是什么模型 › 论文学习:BP神经网络 |
最近在学习 Long Short-Term Memery (LSTM)[1], 文献中指出:通过递归反向传播算法学习在长时间间隔内存储信息需要花费很长的时间,这主要是由于不足、衰减的误差反向流造成的(Learning to store information over extended time intervals via recurrent backpropagation takes a very long time, mostly due to insufficient, decaying error back flow.)。故先了解一下反向传播算法。 一、原理BP (back propagation)神经网络是1986年由 Rumelhart 和 McClelland 为首的科学家提出的概念,是一种按照误差反向传播算法训练的多层前馈神经网络(如图1),是应用最广泛的神经网络。 ![]() 人工神经网络无需事先确定输入输出之间映射关系的数学方程(也就是连接权重 ![]() 基本 BP 算法包括信号的前向传播和误差的反向传播两个过程。即计算误差输出时按从输入到输出的方向进行,而调整权值和阈值则从输出到输入的方向进行。正向传播时,输入信号通过隐含层作用于输出节点,经过非线性变换,产生输出信号,若实际输出与期望输出不相符,则转入误差的反向传播过程。误差反向传播是将输出误差通过隐含层向输入层逐层反向传播,并将误差分摊给各层所有单元,以从各层获得的误差信号作为调整各单元权值的依据。通过调整输入节点与隐层节点的联接强度和隐层节点与输出节点的联接强度以及阈值,使误差沿梯度方向下降,经过反复学习训练,确定与最小误差相对应的网络参数(权值和阈值),训练即告停止。此时经过训练的神经网络即能对类似样本的输入信息,自行处理输出误差最小的经过非线形转换的信息[2]。 二、详述 (一)信号的前向传播图2 [3]以输入层 Input units(3个节点)、隐藏层 Hidden units H1(4个节点)、隐藏层 Hidden units H2(3个节点)和输出层 Output units(2个节点)为例,展示了信息的前向传播。 ①Hidden units H1 的输入 其中, ②Hidden units H2 的输入
③同理,得到输出层 误差的反向传播是将输出误差通过隐含层向输入层逐层反向传播,并将误差分摊给各层所有单元,以从各层获得的误差信号作为调整各单元权值的依据。简单地讲就是,我们要根据每个节点对输出误差的“贡献度”,来分摊误差(贡献度高的自然就要“承担“更重的责任),并借助于随机梯度下降(SDG)方法来重新调整权重。 此处需要补充随机梯度下降(SDG)!!! 继图2 给出的信息的前向传播模型,我们这里据需给出误差的反向传播模型,如图3 。 首先我们得清楚一点,就是神经网络中每个节点的处理逻辑(以 Hidden units H1 为例,如图2 所示):用可微函数 (1)输出层 使用均方误差来表述输出层的误差 ①将误差分摊到输出节点 ②将误差分摊到输出节点 ③将误差分摊到权重
(2)隐藏层 ①将误差分摊到隐藏节点
②其他同输出层方程相似。 三、示例这里通过一个简单的神经网络(图4 )对 BP 进行演示。该模型对输入 ![]() 输入 ①计算隐藏层 ②计算输出层 ③均方误差 这里我们以更新权重 ①计算 ②对 ③对 同理,对其他权重进行修改,循环上诉过程,直到输出值接近真值。 [1] Hochreiter, S, Schmidhuber, J. Long Short-Term Memory[J]. Neural Computation, 9(8):1735-1780. [2] https://baike.baidu.com/item/BP神经网络 [3] Lecun Y, Bengio Y, Hinton G. Deep learning.[J]. 2015, 521(7553):436.
|
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |