在神经网络中使用 softmax 函数处理反向传播算法

Working with backpropagation algorithm using softmax function in the neural network

我正在为 MNIST 数据从头开始创建一个神经网络,所以我在输出层中有 10 个 类。我需要执行反向传播,为此,我需要为最后一层计算 dA*dZ,其中 dA 是损失函数 L 的导数 wrt softmax 激活函数 A dZ 是 softmax 激活函数 Az 的导数,其中 z=wx+bdA 获得的大小是 10*1dZ 获得的大小是 10*10

是否正确?如果是,我乘谁 dA*dZ 因为他们有不同的维度。

你快到了。但是,您需要转置 dA,例如numpy.transpose(dA)。 然后,您将拥有 dAdZ 的正确维度来执行矩阵乘法。