反向传播:为什么 ∂L/∂W₁ = x·δᵀ(外积)——逐元素链式推导¶
- 章节:第23章 · 前馈神经网络(反向传播 / 解答题推导)
- 相关条目:反向传播-接力棒与内积外积.md(那条用「形状匹配」解释;本条用「链式法则逐元素」严格推出,互为补充)
- 载体题目:作业二·5(约定 \(z=W^\top x+b\),\(x=[1,2]^\top\),\(\delta_1=[4,0]^\top\))
- 出处:课本 p.401–402 式 23.57/23.58(反向传播)、p.403–404 课程约定 \(z=W^\top x+b\)。
问题/疑问¶
\(\dfrac{\partial L}{\partial W_1}\) 为什么 \(=x\,\delta_1^\top\) 而不是 \(\delta_1\,x^\top\)?能不能用链式法则原本的公式推一下,而不是只看形状?
正确答案(逐元素链式推导)¶
第一步 · 前向写成分量形式¶
课程约定 \(\boldsymbol z_1=\boldsymbol W_1^\top\boldsymbol x+\boldsymbol b_1\),\(\boldsymbol W_1\) 为 \(2\times2\)、元素记 \(W_{ij}\):
关键事实:每个 \(W_{ij}\) 只出现在一个 \(z\) 里——第二个下标 \(j\) 决定它进哪个 \(z_j\),前面乘的是 \(x_i\)。
第二步 · 对单个元素 \(W_{11}\) 用链式法则¶
\(W_{11}\) 只出现在 \(z_1\)(\(z_2\) 式里没有它),求和只剩 \(k=1\):
\(\dfrac{\partial z_1}{\partial W_{11}}=x_1\)(其余项是常数),\(\dfrac{\partial L}{\partial z_1}=(\delta_1)_1\),于是
第三步 · 推广到任意 \(W_{ij}\)¶
\(W_{ij}\) 只进 \(z_j\)、系数 \(x_i\):
| 元素 | \(=x_i(\delta_1)_j\) | 值 | 位置 |
|---|---|---|---|
| \(\partial L/\partial W_{11}\) | \(x_1\delta_1=1\times4\) | 4 | 行1列1 |
| \(\partial L/\partial W_{21}\) | \(x_2\delta_1=2\times4\) | 8 | 行2列1 |
| \(\partial L/\partial W_{12}\) | \(x_1\delta_2=1\times0\) | 0 | 行1列2 |
| \(\partial L/\partial W_{22}\) | \(x_2\delta_2=2\times0\) | 0 | 行2列2 |
拼回矩阵 \(=\begin{bmatrix}4&0\\8&0\end{bmatrix}\)。
第四步 · 顺序被下标关系锁死¶
每个元素是 \(\big(\frac{\partial L}{\partial W_1}\big)_{ij}=x_i(\delta_1)_j\):行号 \(i\) 配 \(x\),列号 \(j\) 配 \(\delta\)。要拼出「第 \((i,j)\) 格 \(=x_i\delta_j\)」的矩阵,只能:
外积里左列向量的 \(i\) 撒在行、右行向量的 \(j\) 撒在列,乘出来正好 \(x_i\delta_j\)。 反写 \(\boldsymbol\delta_1\boldsymbol x^\top\) 则第 \((i,j)\) 格 \(=(\delta_1)_i x_j\)——行配 δ、列配 x,和 \(x_i\delta_j\) 行列对调,得到转置 \(\begin{bmatrix}4&8\\0&0\end{bmatrix}\),错。
结论:顺序不是约定,是被 \(\partial L/\partial W_{ij}=x_i\delta_j\) 这个下标关系唯一锁死的。标量乘法可交换(\(x\delta=\delta x\)),但升到矩阵/外积 \(\boldsymbol x\boldsymbol\delta^\top\ne\boldsymbol\delta\boldsymbol x^\top\),顺序就有意义。
易错点 / 为什么错¶
- 凭"标量可交换"以为 \(x\delta^\top\) 和 \(\delta x^\top\) 一样——外积不可交换,写反得到转置矩阵。
- 万能钥匙:忘了顺序,就现推一个 \(W_{11}\)(分量展开→链式→看哪个下标配哪个量→拼回矩阵),比死记结论稳。
⚠️ 课本记法冲突(务必认准一套)¶
课本内部用了两套前向约定,权重梯度因此长得不一样,但本质同一个梯度(差一个 W 转置):
| 位置 | 前向约定 | 权重梯度 |
|---|---|---|
| 反向传播算法/计算图 p401–402(式23.57/23.58) | \(z=Wx\)(无转置,原文 \(U=W\!\cdot\!X\)) | 式23.58:\(\nabla_W L=\delta\,h^\top\)(δ 在左) |
| BN 节 p403–404 + 本课程标准 | \(z=W^\top x+b\)(有转置) | \(\dfrac{\partial L}{\partial W}=x\,\delta^\top\)(x 在左) |
- 本题/本课用 \(z=W^\top x+b\),所以答案是 \(x\,\delta^\top\)。
- 别把课本式23.58 字面的 \(\delta h^\top\) 直接套到 \(z=W^\top x\) 约定上,否则写出转置错的矩阵。认准 \(z=W^\top x+b\) → \(x\delta^\top\) 这一套。