适合初学者的神经网络理论到实践(2):理论结合python编程实践介绍反向传播,为何说深度学习离不开反向传播?

本文深入浅出地介绍了反向传播在深度学习中的重要性,通过一个简单的三层神经网络实例,详细解释了为何需要反向传播以及其工作原理。通过手动推导和代码验证,展示了如何实现和检查反向传播的正确性,为初学者提供了实践指导。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

适合初学者的神经网络理论到实践(2):理解并实现反向传播及验证神经网络是否正确

专栏中《零神经网络实战》系列持续更新介绍神经元怎么工作,最后使用python从0到1不调用任何依赖神经网络框架(不使用tensorflow等框架)来实现神经网络,梯度下降、反向传播、卷积神经网络CNN、循环神经网络RNN。从0基础角度进行神经网络实战。 上一篇: 零基础神经网络实战(1):单个神经元+随机梯度下降学习逻辑与规则
作者: 

@Ai酱

实例介绍反向传播,为何说深度学习离不开反向传播?

我们专栏之前介绍了单个神经元如何利用随机梯度下降自己调节权重。深度学习指的是数以百千层的层数很深的神经网络,每层又有数以百千个神经元。那么深度学习是否也可以使用这种形式的梯度下降来进行调节权重呢?答:很难。为什么?主要原因是太深了。为何“深”用梯度下降解会有问题呢?主要是因为链式法则导致计算损失函数对前面层权重的导数时,损失函数对后面层权重的导数总是被重复计算,反向传播就是将那些计算的值保存减少重复计算。不明白?那这篇文章就看对了。接下来将解释这个重复计算过程。反向传播就是梯度下降中的求导环节,它从后往前计算导数重复利用计算过的导数而已。。梯度下降不懂或者神经网络不懂请先阅读这个文章单个神经元+随机梯度下降学习逻辑与规则

文章结构:

  1. 为何要使用反向传播?
  2. 反向传播优化神经网络权重参数实践。

为何要使用反向传播?

我们用一个最简单的三层神经网络(无激活函数)来进行解释为何需要使用反向传播,所使用的三层神经网络如下所示:

 

 

我们神经网络是可以用公式表示。对于整个网络而言,x​是输入,e​是输出。对于神经网络的各层而言,第一层神经网络的输入是x​输出是y​。那么其用公式表示就是:y=w1*x​.第二层神经网络用公式表示就是:z = w2 * y​。第三层用公式表示是:e = w3 * z​。假设\hat e​是真实值,那么损失函数L​可以写成这样:L(w1,w2,w3)=\frac{1}2 (e-\hat e )^2​这个1/2 只是为了抵消二次方求导所产生的2。其实可以不写的。

这里我们有三个要优化的参数:w1,w2,w3

我们先用传统的梯度下降方法来看看哪些地方重复计算了,而反向传播就是将这些重复计算的地方计算结果保存,并且向前面层传播这个值以减少运算复杂度。梯度下降不懂或者神经网络不懂请先阅读这个文章单个神经元+随机梯度下降学习逻辑与规则。梯度下降需要先得求损失函数对w1,w2,w3的导数,然后根据导数来不断迭代更新w1,w2,w3的值。

  1. 第1层:求损失函数L(w1,w2,w3)​w1​的导数(更规范的讲是偏导数)。

我们先看看损失函数L(w1,w2, w3)w1之间的关系是什么。

L(w1,w2,w3)=\frac{1}2 (e-\hat e )^2

e = w3 * z​

z= w2*y​

y = w1 *x ​

所以这是个复合函数的求导。根据高中学习到的复合函数求导法则(也是大家可能经常听到的链式法则),复合函数求导等于各级复合函数导数的乘积,也就是这样\frac{dL} {dw1} =\frac{dL} {de} * \frac{de} {dz} * \frac{dz} {dy} * \frac {dy} {dw1}​

  1. 第2层:求损失函数L(w1,w2, w3 )w2的导数。

我们再看看损失函数L(w1,w2, w3)​w2​之间的关系是什么。

L(w1,w2, w3)=\frac{1}2 (e-\hat e )^2 ​

e = w3 * z

z= w2*y​

根据复合函数求导可得:\frac{dL} {dw2} = \frac{dL} {de} * \frac{de} {dz} * \frac{dz} {dw2}​

  1. 第3层:求损失函数
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值