《深度学习导论及案例分析》一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)。这在介绍循环神经网络时还将讨论更多的细节。

相关文章
|
28天前
|
机器学习/深度学习 数据采集 TensorFlow
使用Python实现智能食品消费模式分析的深度学习模型
使用Python实现智能食品消费模式分析的深度学习模型
122 70
|
18天前
|
机器学习/深度学习 人工智能 算法
猫狗宠物识别系统Python+TensorFlow+人工智能+深度学习+卷积网络算法
宠物识别系统使用Python和TensorFlow搭建卷积神经网络,基于37种常见猫狗数据集训练高精度模型,并保存为h5格式。通过Django框架搭建Web平台,用户上传宠物图片即可识别其名称,提供便捷的宠物识别服务。
201 55
|
30天前
|
机器学习/深度学习 数据采集 TensorFlow
使用Python实现智能食品消费习惯分析的深度学习模型
使用Python实现智能食品消费习惯分析的深度学习模型
141 68
|
28天前
|
机器学习/深度学习 人工智能 算法
【宠物识别系统】Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+图像识别
宠物识别系统,本系统使用Python作为主要开发语言,基于TensorFlow搭建卷积神经网络算法,并收集了37种常见的猫狗宠物种类数据集【'阿比西尼亚猫(Abyssinian)', '孟加拉猫(Bengal)', '暹罗猫(Birman)', '孟买猫(Bombay)', '英国短毛猫(British Shorthair)', '埃及猫(Egyptian Mau)', '缅因猫(Maine Coon)', '波斯猫(Persian)', '布偶猫(Ragdoll)', '俄罗斯蓝猫(Russian Blue)', '暹罗猫(Siamese)', '斯芬克斯猫(Sphynx)', '美国斗牛犬
152 29
【宠物识别系统】Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+图像识别
|
26天前
|
机器学习/深度学习 数据采集 数据挖掘
使用Python实现智能食品消费市场分析的深度学习模型
使用Python实现智能食品消费市场分析的深度学习模型
110 36
|
24天前
|
机器学习/深度学习 数据采集 数据挖掘
使用Python实现智能食品消费趋势分析的深度学习模型
使用Python实现智能食品消费趋势分析的深度学习模型
101 18
|
21天前
|
机器学习/深度学习 算法 信息无障碍
基于GoogleNet深度学习网络的手语识别算法matlab仿真
本项目展示了基于GoogleNet的深度学习手语识别算法,使用Matlab2022a实现。通过卷积神经网络(CNN)识别手语手势,如"How are you"、"I am fine"、"I love you"等。核心在于Inception模块,通过多尺度处理和1x1卷积减少计算量,提高效率。项目附带完整代码及操作视频。
|
24天前
|
机器学习/深度学习 算法 数据安全/隐私保护
基于深度学习网络的宝石类型识别算法matlab仿真
本项目利用GoogLeNet深度学习网络进行宝石类型识别,实验包括收集多类宝石图像数据集并按7:1:2比例划分。使用Matlab2022a实现算法,提供含中文注释的完整代码及操作视频。GoogLeNet通过其独特的Inception模块,结合数据增强、学习率调整和正则化等优化手段,有效提升了宝石识别的准确性和效率。
|
2月前
|
机器学习/深度学习 人工智能 算法
基于Python深度学习的【垃圾识别系统】实现~TensorFlow+人工智能+算法网络
垃圾识别分类系统。本系统采用Python作为主要编程语言,通过收集了5种常见的垃圾数据集('塑料', '玻璃', '纸张', '纸板', '金属'),然后基于TensorFlow搭建卷积神经网络算法模型,通过对图像数据集进行多轮迭代训练,最后得到一个识别精度较高的模型文件。然后使用Django搭建Web网页端可视化操作界面,实现用户在网页端上传一张垃圾图片识别其名称。
94 0
基于Python深度学习的【垃圾识别系统】实现~TensorFlow+人工智能+算法网络
|
2月前
|
机器学习/深度学习 人工智能 算法
【手写数字识别】Python+深度学习+机器学习+人工智能+TensorFlow+算法模型
手写数字识别系统,使用Python作为主要开发语言,基于深度学习TensorFlow框架,搭建卷积神经网络算法。并通过对数据集进行训练,最后得到一个识别精度较高的模型。并基于Flask框架,开发网页端操作平台,实现用户上传一张图片识别其名称。
105 0
【手写数字识别】Python+深度学习+机器学习+人工智能+TensorFlow+算法模型