反向传播算法的理解(图片来自cs231n李飞飞课件)

1 链式求导法则(L是损失函数)

反向传播算法的理解(图片来自cs231n李飞飞课件)_第1张图片

2 简单例子(没有矩阵向量参与运算)

反向传播算法的理解(图片来自cs231n李飞飞课件)_第2张图片
把复杂的函数表达式拆分成一个个基础运算,每个基础运算记做一个节点,针对单个节点进行求导。需要服从链式求导法则,由后端开始反向传递,节点左边(前端)的梯度等于该节点求导的结果乘上右边(后端)的求导梯度(箭头上端是正向输入,下端是反向梯度,这里最末端的梯度1.0是提前假设的)。

2.1 引入Sigmoid函数可以简化节点图
反向传播算法的理解(图片来自cs231n李飞飞课件)_第3张图片

2.2 常见运算节点梯度传播总结
反向传播算法的理解(图片来自cs231n李飞飞课件)_第4张图片
加法运算:梯度不变
最大值运算:最大值的输入分支获得整个梯度,其他输入分支梯度为0
乘法运算:梯度交换(假设f(x)=xy,对y求导结果为x,对x求导结果为y)

3 复杂例子(有矩阵向量参与运算)

3.1 f(x,W)函数反向求q梯度
反向传播算法的理解(图片来自cs231n李飞飞课件)_第5张图片
思路解析:
反向传播算法的理解(图片来自cs231n李飞飞课件)_第6张图片
3.2 f(x,W)函数反向求W梯度
反向传播算法的理解(图片来自cs231n李飞飞课件)_第7张图片
思路解析:
反向传播算法的理解(图片来自cs231n李飞飞课件)_第8张图片
3.1 f(x,W)函数反向求x梯度
反向传播算法的理解(图片来自cs231n李飞飞课件)_第9张图片
思路解析:
反向传播算法的理解(图片来自cs231n李飞飞课件)_第10张图片

你可能感兴趣的:(机器学习)