我正在从头开始为MNIST数据创建一个神经网络,所以我在输出层有10个类。我需要执行反向传播,为此,我需要为最后一层计算dA*dZ
,其中dA
是损失函数L
的导数,其中包括softmax激活函数A
dZ
是softmax激活函数A
wrt到z
的派生形式,其中z=wx+b
。为dA
获得的大小为10*1
,而从dZ
获得的大小为10*10
。
对吗?如果是,我将dA*dZ
乘以谁,因为它们的维数不同。
答案 0 :(得分:2)
您快到了。但是,您需要转置dA
,例如与numpy.transpose(dA)
。
然后,您将拥有dA
和dZ
的正确尺寸以执行矩阵乘法。