3、反向传播(backpropagation)算法
深度学习模型,采用梯度下降和误差反向传播进行模型参数更新。
随机初始化网络权重
前向传播计算网络输出
计算误差
后向传播误差到前一层; 计算梯度
前面层更新权重和偏置参数
从步骤2重复该过程最小化误差直到损失收敛
4、前向传播计算
使用损失函数比较实际输出和期望输出
计算图(Computation Graph):计算过程可以表示成有向图的形式。
前向计算过程:
计算各计算结点的导数。
5、反向传播误差信号
后向传播误差到前面的层,传播的误差用来计算损失函数的梯度。
计算损失函数?对各参数的梯度(偏导数)
输出层连接权重的梯度
隐藏层连接权重的梯度
偏置项的梯度
反向传播(backpropagation)
任何导数均可通过将相应连接边上的导数连乘得到。
若求导涉及多条路径,需要将每条路径上的导数连乘起来,然后再求和。
6、更新参数
得到梯度以后,就可以进行更新参数。
链式法则
链式法则简介
链式法chain rule,属于微积分领域,是微积分中的求导法则,用于求一个复合函数的导数,是在微积分的求导运算中一种常用的方法。复合函数的导数将是构成复合这有限个函数在相应点的 导数的乘积,就像锁链一样一环套一环,故称链式法则。
这个结论可推广到任意有限个函数复合到情形,于是复合函数的导数将是构成复合这有限个函数在相应点的 导数的乘积,就像锁链一样一环套一环,故称链式法则。
1、链式法则与复合函数
链式法则是关于复合函数的导数的性质:如果某个函数由复合函数表示,则该复合函数的导数可以用构成复合函数的各个函数的导数的乘积表示。
数学式表示
2、链式法则和计算图
其中“**2”节点表示平方运算,沿着与正方向相反的方向,乘上局部导数后传递。反向传播的计算顺序是,先将节点的输入信号乘以节点的局部导数(偏导数),然后再传递给下一个节点。
反向传播是基于链式法则的。
(1)、根据计算图的反向传播的结果,dz/dx = 2(x + y)
(2)、乘法的反向传播:左图是正向传播,右图是反向传播。
因为乘法的反向传播会乘以输入信号的翻转值,所以各自可按1.3 × 5 =6.5、1.3 × 10 = 13 计算。另外,加法的反向传播只是将上游的值传给下游,并不需要正向传播的输入信号。但是,乘法的反向传播需要正向传播时的输入信号值。因此,实现乘法节点的反向传播时,要保存正向传播的输入信号。
(3)、购买苹果的反向传播的例子:这个问题相当于求“支付金额关于苹果的价格的导数”“支付金额关于苹果的个数的导数”“支付金额关于消费税的导数”。
链式法则使用
1、求导案例