大白话5分钟带你走进人工智能-第37节神经网络之反向传播详细案例及解释(5)

1、反向传播前述:

我们知道正向传播就是把x拿下来一层层的和w乘,然后经过function非线性变化,最后得到一个y输出结果。反向传播(reverse-mode autodiff)就是反过来,从最后的y到x,反向的自动求导。前向传播是make predictions,去预测ŷ,然后计算出误差,再计算出每个神经节点对误差的贡献。这里的求贡献就是反向传播过程,首先根据前向传播的误差来求梯度,梯度越大贡献越大。然后根据梯度调整原来的权重。总结下来反向传播就是求导、求梯度,然后根据梯度在迭代里面调整w的一个过程。

反向自动求导是tensorflow实现的方案,首先,它执行图的前向阶段,从输入到输出,去计算节点值;然后反向阶段,从输出到输入去计算所有变量的偏导。

什么是偏导数:在数学中,一个多变量的函数的偏导数,就是它关于其中一个变量的导数而保持其他变量恒定(相对于全导数,在其中所有变量都允许变化)。偏导数在向量分析和微分几何中是很有用的。

说白了就是假如f对x求偏导:∂f*∂x。就是把除x以外的自变量当成常数,然后再进行正常的求导即可。

2、第一个案例解说反向传播:

比如

                                                                                 

f(x, y)=x^{2} * y+y+2

这个计算逻辑,即这个算法。可以用如图来表达正向传播和反向传播逻辑。图中红色虚线表示正向传播,黑色实线是反向传播。

大白话5分钟带你走进人工智能-第37节神经网络之反向传播详细案例及解释(5)

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zwywzz.html