多层全连接神经网络的后向传播

用一个二分类样本演示各层中间量和参数梯度的真实计算结果及其维度。

网络与样本设置
输出层宽度固定为 \(d^{[L]}=1\)。
随机种子只用于生成输入和初始参数。页面中的梯度并不是随机数组,而是根据二元交叉熵损失和链式法则实际计算得到的结果。所有层均使用 sigmoid 函数。
输出层满足 $\mathrm{d}\boldsymbol{z}^{[L]}=\boldsymbol{a}^{[L]}-y$。对第 $l$ 层,$\mathrm{d}\boldsymbol{W}^{[l]}=\mathrm{d}\boldsymbol{z}^{[l]}\cdot(\boldsymbol{a}^{[l-1]})^{\rm\scriptsize T}$,且 $\mathrm{d}\boldsymbol{b}^{[l]}=\mathrm{d}\boldsymbol{z}^{[l]}$。
后向传播的数值结果