[deeplearning-004] 一般形式的反向传导算法BP最简推导-2

本文详细介绍了深度学习中反向传播算法(BP)的最简推导,从梯度下降法出发,解析了神经网络中权重矩阵和偏置矩阵的一阶偏导数计算,逐步展开推导出一般形式,为优化网络参数提供理论基础。

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

3.2 梯度下降
训练神经网络,就是让 J(W,b) 的值最小。解法就是梯度下降,或者随机梯度下降。
梯度下降法的迭代公式是:

(Wlj,i)s+1=(Wlj,i)sηJ(W,b)Wlj,iWlj,i=(Wlj,i)s

(blj)s+1=(blj)sηJ(W,b)bljbli=(blj)s

其中, s 是迭代次数,η是学习速率。

上两式的一阶偏导又可以写成:

J(W,b)Wlj,i=k=1mWlj,iJ(W,b;xk,yk)+λWlj,i

J(W,b)blj=k=1mbljJ(W,b;xk,yk)

3.2.1 输出层 Lp 和隐层 Lp1 之间的权重矩阵 Wp1 一阶偏导求解并推广到一般情形

我们可以把神经网络视为一个复杂一点的函数,自变量 x 经过一系列函数的操作,输出因变量 y y 是由 W b 决定的,优化输出结果,需要调整 W b

这里,先推导一个具体的权重,也就是最后一个隐层的第二个神经元跟输出层的第一个神经元之间的权重,然后再扩展到一般形式:

J(W,b)Wp11,2=k=1mWp11,2J(W,b;xk,yk)+λWp11,2=12k=1mWp11,2(q=1dp(ykqf(zp,kq))2)+λWp11,2=k=1mq=1dp((ykqf(zp,kq))f(zp,kq)zp,kqWp11,2)+λWp11,2=k=1mq=1dp(δp,kqzp,kqWp11,2)+λWp11,2=k=1mδp,k1ap1,k2+λWp11,2

其中, δp,kq=(ykqf(zp,kq))f(zp,kq) 是简便写法。

进一步地, Wp1 的所有权重系数的一阶偏导如下:

J(W,b)Wp1j,i=k=1mδp,kjap1,ki+λWp1j,i

神经网络的最后一个 Wl 跟其他层有一点区别在于其 δp,kq 是直接的,其他层不是如此,需要推导一般形式对 Wlj,i 一阶偏导,也就是,推导其和后一层的各值的关系。先从 Wp2 开始:注意,考虑到误差最小时应当设置 D=dp ,以免引起对 p 的不必要推导误会。

J(W,b)Wp2j,i=k=1mWp2j,iJ(W,b;xk,yk)+λWp2j,i=12k=1mWp2j,i(q=1D(ykqf(zp,kq))2)+λWp2j,i=k=1mq=1D((ykqf(zp,kq))f(zp,kq)zp,kqWp2j,i)+λWp2j,i=k=1mq=1D(δp,kqzp,kqWp2j,i)+λWp2j,i=k=1mq=1D(δp,kqzp,kqzp1,kjzp1,kjWp2j,i)+λWp2j,i=k=1mq=1D(δp,kqzp,kqzp1,kjap2,ki)+λWp2j,i=k=1map2,ki(q=1D(δp,kqzp,kqzp1,kj))+λWp2j,i=k=1map2,ki(q=1D(δp,kqf(zp1,kj)Wp1q,j))+λWp2j,i=k=1map2,kif(zp1,kj)(q=1D(δp,kqWp1q,j))+λWp2j,i

更进一步地推导 Wl Wl+1 的一阶偏导关系:

J(W,b)Wlj,i=k=1mWlj,iJ(W,b;xk,yk)+λWlj,i=12k=1mWlj,i(q=1D(ykqf(zp,kq))2)+λWlj,i=k=1mq=1D((ykqf(zp,kq))f(zp,kq)zp,kqWlj,i)+λWlj,i=k=1mq=1D(δp,kqzp,kqWlj,i)+λWlj,i=k=1mq=1D(δp,kqzp,kqzl+1,kjzl+1,kjWlj,i)+λWlj,i=k=1mq=1D(δp,kqzp,kqzl+1,kjal,ki)+λWlj,i=k=1mal,ki(q=1D(δp,kqzp,kqzl+1,kj))+λWlj,i

l=p2 ,结论同上文已经推导的一致。
l<p2 ,又有所不同:
J(W,b)Wlj,i=k=1mal,ki(q=1D(δp,kqzp,kqzl+1,kj))+λWlj,i=k=1mal,ki(q=1D(δp,kqr=1dl+2zp,kqzl+2,kr))+λWlj,i

更进一步地, Wl 的权重系数一阶偏导如下:

J(W,b)Wlj,i=k=1mδl+1,kjal,ki+λWlj,i

3.2.2 输出层 Lp 和隐层 Lp1 之间的bias矩阵 bp1 一阶偏导求解并推广到一般情形
先推导一个具体的bias,也就是最后一个隐层的第二个神经元跟输出层的第一个神经元之间的bias,然后再扩展到一般形式:

J(W,b)bp11=k=1mbp11J(W,b;xk,yk)=k=1mbp11(12q=1dp(ykqf(zp,kq))2)=k=1mq=1dp((ykqf(zp,kq))f(zkq)zkqbp11)=k=1m((ykqf(zp,k1))f(zk1)zk1bp11)=k=1mδp,k1

进一步地,输出层和隐层之间的bias矩阵一阶偏导的一般形式是:

J(W,b)bp1j=k=1mδp,kj

更进一步地,所有层的bias矩阵一阶偏导的一般形式是:

J(W,b)blj=k=1mδl+1,kj

3.2.3 梯度下降法最终迭代公式

(Wlj,i)s+1=(Wlj,i)sη(k=1mδl+1,kjal,ki+λWlj,i)Wlj,i=(Wlj,i)s

(blj)s+1=(blj)sη(k=1mδl+1,kj)Wlj,i=(Wlj,i)s

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值