李宏毅机器学习笔记——07. Backpropagation

反向传播的作用在于,在有多个神经元,参数维度较高时候,可以更有效率的train。

以交叉熵定义了lossfuc,在更新参数的过程中,从正向传播和反向传播两个方面进行推导介绍。

20180509,回顾,增加详细内容

lossfun

使用了交叉熵来表示,由上式可知,只需要计算“某笔数据对w的偏导,然后在以n的变量累加即可”,

前向和反向

拆成前向和后向两个部分

前向部分

计算为,weight前面接的什么作为输入,则偏微分结果即是什么

1525790296540

反向部分

又使用chain rule拆分成两个部分,假设激活函数是sigmoid,求偏微分已知。而后面Ca\frac{\partial C}{\partial a}又进一步拆解为两个部分,其中za\frac{\partial {z^·}}{\partial a}很简单,剩下就是Cz\frac{\partial C}{\partial {z^`}}

1525790531207

如何求解Cz\frac{\partial C}{\partial {z^`}}

输出层情况

后面直接是输出层,可以轻易求解出。

1525791306411

非输出层的情况

a,基于前面的知识

1525792152176

b,递归计算,直到输出层,将递归过程反过来考虑,从结尾反向计算偏微分,

1525791524663

1525791756885

换个角度考虑,从反向来计算

1525792111015