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