当前位置: 首页 > news >正文

机器学习:反向神经元传播公式推导

首先,我们有正向传播的公式:
qk+1,i=∑j=1nkwk+1,i,j⋅rk,j+bk+1,i q_{k+1,i}=\sum_{j=1}^{n_{k}} w_{k+1,i,j}\cdot r_{k,j}+b_{k+1,i} qk+1,i=j=1nkwk+1,i,jrk,j+bk+1,i

∂l∂wk,i,j=∂l∂qk,i⋅∂qk,i∂wk,i,j=∂l∂qk,i⋅rk−1,j \begin{aligned} \frac{\partial l}{\partial w_{k,i,j}}&= \frac{\partial l}{\partial q_{k,i}}\cdot\frac{\partial q_{k,i}}{\partial w_{k,i,j}}\\ &=\frac{\partial l}{\partial q_{k,i}}\cdot r_{k-1,j} \end{aligned} wk,i,jl=qk,ilwk,i,jqk,i=qk,ilrk1,j

∂l∂bk,i=∂l∂qk,i⋅∂qk,i∂bk,i=∂l∂qk,i \begin{aligned} \frac{\partial l}{\partial b_{k,i}} &=\frac{\partial l}{\partial q_{k,i}}\cdot\frac{\partial q_{k,i}}{\partial b_{k,i}}\\ &=\frac{\partial l}{\partial q_{k,i}} \end{aligned} bk,il=qk,ilbk,iqk,i=qk,il

观察这个式子:

qk+1,i=∑j=1nkwk+1,i,j⋅rk,j+bk+1,i q_{k+1,i}=\sum_{j=1}^{n_{k}} w_{k+1,i,j}\cdot r_{k,j}+b_{k+1,i} qk+1,i=j=1nkwk+1,i,jrk,j+bk+1,i

我们考察 rk,jr_{k,j}rk,jqk+1,iq_{k+1,i}qk+1,i 的影响,发现:
∂qk+1,i∂rk,j=wk+1,i,j \frac{\partial q_{k+1,i}}{\partial r_{k,j}} =w_{k+1,i,j} rk,jqk+1,i=wk+1,i,j

进而:

∂qk+1,i∂qk,j=∂qk+1,i∂rk,j⋅∂rk,j∂qk,j=wk+1,i,j⋅fk′(qk,j) \begin{aligned} \frac{\partial q_{k+1,i}}{\partial q_{k,j}} &= \frac{\partial q_{k+1,i}}{\partial r_{k,j}} \cdot \frac{\partial r_{k,j}}{\partial q_{k,j}} \\ &= w_{k+1,i,j} \cdot f_k^{'}(q_{k,j}) \end{aligned} qk,jqk+1,i=rk,jqk+1,iqk,jrk,j=wk+1,i,jfk(qk,j)

因此:

δk,j=∂l∂qk,j=∂l∂qk+1,i⋅∂qk+1,i∂qk,j=δk+1,i⋅∂qk+1,i∂qk,j \begin{aligned} \delta_{k,j} = \frac{\partial l}{\partial q_{k,j}} &= \frac{\partial l}{\partial q_{k+1,i}} \cdot \frac{\partial q_{k+1,i}}{\partial q_{k,j}} \\ &= \delta_{k+1,i} \cdot \frac{\partial q_{k+1,i}}{\partial q_{k,j}} \\ \end{aligned} δk,j=qk,jl=qk+1,ilqk,jqk+1,i=δk+1,iqk,jqk+1,i

最后,由于每一个神经元对下一层有多条影响路径,所以对其求和,并带入
∂qk+1,i∂qk,j\frac{\partial q_{k+1,i}}{\partial q_{k,j}}qk,jqk+1,i

δk,j=∂l∂qk,j=∑i=1nk+1∂l∂qk+1,i⋅∂qk+1,i∂qk,j=fk′(qk,j)⋅∑i=1nk+1δk+1,i⋅wk+1,i,j \begin{aligned} \delta_{k,j}= \frac{\partial l}{\partial q_{k,j}} &= \sum_{i=1}^{n_{k+1}} \frac{\partial l}{\partial q_{k+1,i}} \cdot \frac{\partial q_{k+1,i}}{\partial q_{k,j}} \\ &= f_k^{'}(q_{k,j}) \cdot \sum_{i=1}^{n_{k+1}} \delta_{k+1,i} \cdot w_{k+1,i,j} \end{aligned} δk,j=qk,jl=i=1nk+1qk+1,ilqk,jqk+1,i=fk(qk,j)i=1nk+1δk+1,iwk+1,i,j

l=L(rT1,rT2,...rTnT,y1,y2,...ynT)l=L(r_{T1}, r_{T2}, ... r_{Tn_T}, y_1, y_2, ... y_{n_T})l=L(rT1,rT2,...rTnT,y1,y2,...ynT)

∂l∂qTi=∂l∂rTi⋅∂rTi∂qTi=∂l∂rTi⋅fT′(qTi) \begin{aligned} \dfrac{\partial l}{\partial q_{Ti}}&=\dfrac{\partial l}{\partial r_{Ti}}\cdot\dfrac{\partial r_{Ti}}{\partial q_{Ti}}\\ &=\dfrac{\partial l}{\partial r_{Ti}}\cdot f_T^{'}(q_{Ti}) \end{aligned} qTil=rTilqTirTi=rTilfT(qTi)

http://www.lryc.cn/news/584261.html

相关文章:

  • C#基础:Winform桌面开发中窗体之间的数据传递
  • 机器学习13——支持向量机下
  • Linux - firewall 防火墙
  • Spring MVC 1
  • C语言<数据结构-链表>
  • 基于Catboost算法的茶叶数据分析及价格预测系统的设计与实现
  • CH9121T电路及配置详解
  • 《Stata面板数据分析:数据检验、回归模型与诊断技术 - 以NLSW工资研究(公开数据)为例》
  • 时间显示 蓝桥云课Java
  • 数据分析中的拉链表解析
  • 整数反转(C++)
  • JDK的Closure闭包详解
  • x86汇编语言入门基础(三)汇编指令篇3 位移运算
  • expect 安装入门手册
  • window显示驱动开发—XR_BIAS 和 BltDXGI
  • 图书管理系统(完结版)
  • windows11桌面部分区域无法点击
  • Netron的基本使用介绍
  • Django+DRF 实战:自定义异常处理流程
  • QT数据交互全解析:JSON处理与HTTP通信
  • 原生微信小程序研发,如何对图片进行统一管理?
  • 记录今天学习Comfyui的感受
  • JDK 1.7 vs JDK 1.8
  • QT5使用cmakelists引入Qt5Xlsx库并使用
  • 公网 IP 不稳定?用多点 Ping 策略监控真实可达率
  • MyBatis集成Logback日志全攻略
  • Java---IDEA
  • 开源 Canvas 和 WebGL 图形库推荐与对比
  • Yolov模型参数对比
  • 基于大模型的膀胱癌全周期精准诊疗方案研究