前言:
关于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的每个元素求导。
- y,x都是标量。显然 ∂ y ∂ x \frac{\partial y}{\partial x} ∂x∂y也是一个标量。
- y是标量,x是一维向量。 ∂ y ∂ x \frac{\partial y}{\partial x} ∂x∂y也是一个向量,每个元素是y对x的每个维度的偏导。
- y,x都是一维向量。 ∂ y ∂ x \frac{\partial y}{\partial x} ∂x∂y是一个矩阵 W W W, W i , j W_{i,j} Wi,j是 ∂ y i ∂ x j \frac{\partial y_i}{\partial x_j} ∂xj∂yi
- y,x都是高维矩阵。 ∂ y ∂ x \frac{\partial y}{\partial x} ∂x∂y就是一个高维矩阵,形状为yx叉乘的维度。(这里他提出了一个广义矩阵的概念,就是将y,x的形状当成一个标量一样运算,但是实际上没有什么意义,后面可以看到在BP里面都是一个标量L对矩阵BP,高维矩阵作为中间过程有办法跳过。)
Backpropagation for a Linear Layer
这就是重点了。
重要性质
∂ L ∂ x \frac{\partial L}{\partial x} ∂x∂L, ∂ L ∂ W \frac{\partial L}{\partial W} ∂

本文详细探讨了神经网络中反向传播(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重幂的不同加括号方法,"['动态规划', '数学', '算法']
最低0.47元/天 解锁文章
964

被折叠的 条评论
为什么被折叠?



