反向传播(backpropagation)是一种用于计算神经网络模型中每个参数的梯度的方法。它使用链式法则来计算损失函数对每个参数的梯度。
在深度学习中, 反向传播算法是计算损失函数对模型参数的梯度的有效方法。模型的参数通常是权重和偏差, 而梯度则是这些参数的偏导数的矢量。
下面是使用 Python 实现反向传播算法的示例代码:
def backward(self, dout):
# dout: gradient of output
dout = dout.reshape(self.y.shape) # reshape to (batch_size, output_size)
# loss gradient
dy = dout * self.y_prime # element-wise multiplication
# gradient w.r.t. parameters