假设有一个双层网络
Input (N*D matrix) -> W1 (D*H matrix) -> ReLU -> W2 (H*C matrix)
-> Output (N*C matrix)
当我试图计算反向传播中的导数时。在我看来,W2的导数应该是H C矩阵。然后我计算ReLU的局部导数,它应该是N H矩阵(与ReLU的输入相同)。并且ReLU的最终导数应该是N * H * H C = N C矩阵(链规则)。但我认为结果不对。我认为它应该是N * H矩阵。你能告诉我通过ReLU反向传播的正确方法吗?感谢
答案 0 :(得分:1)
如果x <0,则ReLU前进为0。 0和x否则。
这是因为:如果x <0,则为0。否则为0和1。
这意味着在反向传播期间,您可以保持正值不变,并将负数乘以0.矩阵的形状不变。