《深度学习导论及案例分析》一2.14通用反向传播算法

简介:

#### 本节书摘来自华章出版社《深度学习导论及案例分析》一书中的第2章,第2.14节,作者李玉鑑 张婷,更多章节内容可以访问云栖社区“华章计算机”公众号查看。

2.14通用反向传播算法

由于深度学习在本质上是人工神经网络的延续,是在克服反向传播算法对深层网络的训练困难过程中逐步发展和建立起来的,因此有必要先讨论反向传播算法,又称为BP算法。下面将给出任意前馈神经网络的通用BP算法,以帮助读者理解其他各种不同网络的具体BP算法。

不妨设前馈神经网络共包含N个节点{u1,u2,…,uN},只有从编号较小的神经元才能连接到编号较大的神经元,没有反馈连接。当网络共包含10个节点时,通用前馈神经网络的一种连接方式如图2.17所示。第n个节点对第l个输入样本的输出用xn,l表示,其中1≤n≤N且1≤l≤L。如果un是输入节点,那么它对第l个输入样本的输入为netn,l=xn,l;否则,相应的输入为netn,l=∑kwk→nxk,l且xn,l=fn(netn,l),其中非输入节点可以是隐含节点或输出节点,wk→n(k

n∈OUT,εwk→n=∑Tt=1εnetn,lnetn,lwk→n=∑Ll=1(xn,l-yn,l)f′n(netn,l)netn,lwk→n

=∑Ll=1δn,lnetn,lwk→n(2.124)


kOUT,εwj→k=∑Ll=1εnetk,lnetk,lwj→k=∑Ll=1∑k→nεnetn,lnetn,lnetk,lnetn,lwj→k

=∑Ll=1∑k→nwk→nδn,lf′k(netk,l)netk,lwj→k=∑Ll=1δk,lnetk,lwj→k(2.125)

因此,根据公式(2.124)和公式(2.125),在理论上可以设计一个前馈神经网络的通用BP算法,即算法2.4。


477c85dd6a22e7456bac091f2563cb7a3cee186d

算法2.4通用BP算法的一次迭代过程

1.设置合适的学习率η>0,随机初始化wk→n≈0。

2.若l=1,…,L,则

如果n是输出节点,则计算其反传误差信号δn,l=(xn,l-yn,l)f′n(netn,l)。

否则递归计算其反传误差信号δk,l=∑k→nwk→nδn,lf′k(netk,l)。

3.计算Δwk→n=∑Ll=1δn,lxk,l,并更新wk→n=wk→n-ηΔwk→n。

注意,在算法2.4中,只给出了通用BP算法的一次迭代过程,在实际应用时,还需要选择合适的迭代次数,常常在进行多次、几十次、几百次,甚至成千上万次迭代之后,才能获得令人满意的学习训练效果。

如果把循环神经网络的结构按时间展开成虚拟的前馈网络结构,同时考虑权值和偏置在时间上共享的特点,那么也不难得到相应的时间展开BP算法(backpropagation through time,BPTT)。这在介绍循环神经网络时还将讨论更多的细节。

相关文章
|
1月前
|
机器学习/深度学习 人工智能 自然语言处理
深度学习算法:探索人工智能的前沿
深度学习算法:探索人工智能的前沿
|
2月前
|
机器学习/深度学习 算法
m基于深度学习的QPSK调制解调系统相位检测和补偿算法matlab仿真
m基于深度学习的QPSK调制解调系统相位检测和补偿算法matlab仿真
42 2
|
1月前
|
机器学习/深度学习 算法 计算机视觉
基于yolov2深度学习网络的视频手部检测算法matlab仿真
基于yolov2深度学习网络的视频手部检测算法matlab仿真
|
1天前
|
机器学习/深度学习 人工智能 算法
揭秘深度学习中的优化算法
【4月更文挑战第24天】 在深度学习的广阔天地中,优化算法扮演着至关重要的角色。本文将深入探讨几种主流的优化算法,包括梯度下降法、随机梯度下降法、Adam等,并分析它们的特点和适用场景。我们将通过理论分析和实例演示,揭示这些优化算法如何帮助模型更高效地学习参数,从而提高模型的性能。
|
8天前
|
机器学习/深度学习 数据可视化 测试技术
深度学习:Keras使用神经网络进行简单文本分类分析新闻组数据
深度学习:Keras使用神经网络进行简单文本分类分析新闻组数据
21 0
|
9天前
|
机器学习/深度学习 并行计算 算法
R语言深度学习不同模型对比分析案例
R语言深度学习不同模型对比分析案例
26 0
|
10天前
|
机器学习/深度学习 人工智能 分布式计算
R和Python机器学习:广义线性回归glm,样条glm,梯度增强,随机森林和深度学习模型分析
R和Python机器学习:广义线性回归glm,样条glm,梯度增强,随机森林和深度学习模型分析
15 0
|
15天前
|
机器学习/深度学习 自然语言处理 算法
|
1月前
|
机器学习/深度学习 算法
m基于深度学习的64QAM调制解调系统相位检测和补偿算法matlab仿真
MATLAB 2022a仿真实现了基于深度学习的64QAM相位检测和补偿算法,有效应对通信中相位失真问题。通过DNN进行相位检测和补偿,降低解调错误。核心程序生成随机信号,模拟AWGN信道,比较了有无相位补偿的误码率,结果显示补偿能显著提升性能。
27 8
|
1月前
|
机器学习/深度学习 算法 生物认证
基于深度学习的人员指纹身份识别算法matlab仿真
这是一个关于使用深度学习进行指纹识别的算法概述。在matlab2022a环境下,通过预处理指纹图像(灰度化、二值化等)并利用卷积神经网络(CNN)提取特征。CNN架构包含卷积、池化、归一化和全连接层。特征向量通过余弦相似度计算匹配,训练时采用triplet loss优化。部分核心代码展示了加载预训练模型进行测试集分类预测并计算准确率的过程。