cs231n BP以及derivatives问题

本文详细探讨了神经网络中反向传播(BP)的原理,特别是针对线性层的情况。通过分析不同维度输入输出的导数,揭示了BP过程中如何处理高维矩阵。关键点在于,无论中间层如何套用,最终的∂x∂L, ∂W∂L, ∂b∂L的形状与x, W, b相同。对于线性层,当Y=XW时,得出∂W∂L=XT∂Y∂L和∂W∂L=∂Y∂LWT的结论,简化了计算过程。" 7524653,1272931,n重幂的不同加括号方法,"['动态规划', '数学', '算法']

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

前言:

关于BP以及链式法则的意义不用多说,cs231n也专门提供了两个PDF,非常有用,建议看一下。
一个是derivations BP and vectorization,讲述了不同维度输入输出之间如何求导。
Derivatives, Backpropagation, and Vectorization
另一个是 BP for a linear layer,解决了一半全连接层的BP问题,基本可以解决所有神经网络的BP问题。
Backpropagation for a Linear Layer
这两个链接不翻墙也可以下。

Derivatives, Backpropagation, and Vectorization

这个前半部分介绍了不同形状的input output如何求导,后半部分和下一篇基本重复。
求导就是y的每个元素对x的每个元素求导。

  1. y,x都是标量。显然 ∂ y ∂ x \frac{\partial y}{\partial x} xy也是一个标量。
  2. y是标量,x是一维向量。 ∂ y ∂ x \frac{\partial y}{\partial x} xy也是一个向量,每个元素是y对x的每个维度的偏导。
  3. y,x都是一维向量。 ∂ y ∂ x \frac{\partial y}{\partial x} xy是一个矩阵 W W W W i , j W_{i,j} Wi,j ∂ y i ∂ x j \frac{\partial y_i}{\partial x_j} xjyi
  4. y,x都是高维矩阵。 ∂ y ∂ x \frac{\partial y}{\partial x} xy就是一个高维矩阵,形状为yx叉乘的维度。(这里他提出了一个广义矩阵的概念,就是将y,x的形状当成一个标量一样运算,但是实际上没有什么意义,后面可以看到在BP里面都是一个标量L对矩阵BP,高维矩阵作为中间过程有办法跳过。)

Backpropagation for a Linear Layer

这就是重点了。
重要性质
∂ L ∂ x \frac{\partial L}{\partial x} xL, ∂ L ∂ W \frac{\partial L}{\partial W} W

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值