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

相关文章
|
11月前
|
机器学习/深度学习 数据采集 TensorFlow
使用Python实现智能食品消费模式分析的深度学习模型
使用Python实现智能食品消费模式分析的深度学习模型
299 70
|
11月前
|
机器学习/深度学习 人工智能 算法
猫狗宠物识别系统Python+TensorFlow+人工智能+深度学习+卷积网络算法
宠物识别系统使用Python和TensorFlow搭建卷积神经网络,基于37种常见猫狗数据集训练高精度模型,并保存为h5格式。通过Django框架搭建Web平台,用户上传宠物图片即可识别其名称,提供便捷的宠物识别服务。
947 55
|
10月前
|
机器学习/深度学习 人工智能 算法
基于Python深度学习的眼疾识别系统实现~人工智能+卷积网络算法
眼疾识别系统,本系统使用Python作为主要开发语言,基于TensorFlow搭建卷积神经网络算法,并收集了4种常见的眼疾图像数据集(白内障、糖尿病性视网膜病变、青光眼和正常眼睛) 再使用通过搭建的算法模型对数据集进行训练得到一个识别精度较高的模型,然后保存为为本地h5格式文件。最后使用Django框架搭建了一个Web网页平台可视化操作界面,实现用户上传一张眼疾图片识别其名称。
547 5
基于Python深度学习的眼疾识别系统实现~人工智能+卷积网络算法
|
8月前
|
机器学习/深度学习 运维 自然语言处理
当深度学习遇上故障根因分析:运维人的绝佳拍档
当深度学习遇上故障根因分析:运维人的绝佳拍档
379 17
|
8月前
|
机器学习/深度学习 存储 算法
基于MobileNet深度学习网络的活体人脸识别检测算法matlab仿真
本内容主要介绍一种基于MobileNet深度学习网络的活体人脸识别检测技术及MQAM调制类型识别方法。完整程序运行效果无水印,需使用Matlab2022a版本。核心代码包含详细中文注释与操作视频。理论概述中提到,传统人脸识别易受非活体攻击影响,而MobileNet通过轻量化的深度可分离卷积结构,在保证准确性的同时提升检测效率。活体人脸与非活体在纹理和光照上存在显著差异,MobileNet可有效提取人脸高级特征,为无线通信领域提供先进的调制类型识别方案。
|
11月前
|
机器学习/深度学习 数据采集 TensorFlow
使用Python实现智能食品消费习惯分析的深度学习模型
使用Python实现智能食品消费习惯分析的深度学习模型
294 68
|
10月前
|
机器学习/深度学习 算法 前端开发
图解前向、反向传播算法,一看就懂!
前向传播是神经网络中信息从输入层经过隐藏层传递到输出层的过程。每个神经元接收前一层的输出,通过加权求和和激活函数处理后传递给下一层,最终生成预测结果。此过程涉及输入信号、加权求和、激活函数应用等步骤。前向传播用于生成预测结果,在训练阶段与真实标签比较以计算损失函数,并在推理阶段直接生成预测值。反向传播则利用链式法则计算损失函数相对于权重的梯度,调整参数以减小误差,从而优化模型性能。两者结合实现神经网络的有效训练和预测。
|
9月前
|
机器学习/深度学习 算法 安全
基于深度学习的路面裂缝检测算法matlab仿真
本项目基于YOLOv2算法实现高效的路面裂缝检测,使用Matlab 2022a开发。完整程序运行效果无水印,核心代码配有详细中文注释及操作视频。通过深度学习技术,将目标检测转化为回归问题,直接预测裂缝位置和类别,大幅提升检测效率与准确性。适用于实时检测任务,确保道路安全维护。 简介涵盖了算法理论、数据集准备、网络训练及检测过程,采用Darknet-19卷积神经网络结构,结合随机梯度下降算法进行训练。
|
11月前
|
机器学习/深度学习 人工智能 算法
【宠物识别系统】Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+图像识别
宠物识别系统,本系统使用Python作为主要开发语言,基于TensorFlow搭建卷积神经网络算法,并收集了37种常见的猫狗宠物种类数据集【'阿比西尼亚猫(Abyssinian)', '孟加拉猫(Bengal)', '暹罗猫(Birman)', '孟买猫(Bombay)', '英国短毛猫(British Shorthair)', '埃及猫(Egyptian Mau)', '缅因猫(Maine Coon)', '波斯猫(Persian)', '布偶猫(Ragdoll)', '俄罗斯蓝猫(Russian Blue)', '暹罗猫(Siamese)', '斯芬克斯猫(Sphynx)', '美国斗牛犬
564 29
【宠物识别系统】Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+图像识别
|
9月前
|
机器学习/深度学习 文字识别 自然语言处理
分析对比大模型OCR、传统OCR和深度学习OCR
OCR技术近年来迅速普及,广泛应用于文件扫描、快递单号识别、车牌识别及日常翻译等场景,极大提升了便利性。其发展历程从传统方法(基于模板匹配和手工特征设计)到深度学习(采用CNN、LSTM等自动学习高级语义特征),再到大模型OCR(基于Transformer架构,支持跨场景泛化和少样本学习)。每种技术在特定场景下各有优劣:传统OCR适合实时场景,深度学习OCR精度高但依赖大量数据,大模型OCR泛化能力强但训练成本高。未来,大模型OCR将结合多模态预训练,向通用文字理解方向发展,与深度学习OCR形成互补生态,最大化平衡成本与性能。

热门文章

最新文章