根据Andrew Ng关于反向传播的笔记(第9页),delta值仅针对隐藏层(从n-1到2层)进行计算。这些delta值随后被累积并用于更新权重矩阵。
然而,笔记中并未提及如何更新第一层的权重矩阵。
- 一般来说,第一层的矩阵是否从不通过反向传播进行更新?
- 第一层的矩阵是否会被更新?
回答:
最后一层的权重以与后续权重层相同的方式进行更新:
#Excerpt from my code at githubdW_matrix = -learning_rate * np.dot( delta, input_signals ).Tweight_matrix += dW_matrix
其中delta
是在上一层计算得到的delta值。
delta值将在层[1, ->]
中计算。没有必要计算层0
的delta值,因为没有进一步的层需要将delta值向下传播。权重总是使用上一层的delta值进行更新。