当前位置: 代码迷 >> 综合 >> CS231n_Lecture4_介绍神经网络(Backpropagation、Neural Networks)
  详细解决方案

CS231n_Lecture4_介绍神经网络(Backpropagation、Neural Networks)

热度:77   发布时间:2023-11-25 05:33:56.0

可以看:

  • CS231n课程笔记翻译:神经网络笔记 1(上) | 课程原文
  • CS231n课程笔记翻译:神经网络笔记 1(下)
  • CS231n课程笔记翻译:神经网络笔记 2 | 课程原文
  • CS231n课程笔记翻译:神经网络笔记 3(上) | 课程原文
  • CS231n课程笔记翻译:神经网络笔记 3(下)



作者:zhwhong
链接:https://www.jianshu.com/p/182baeb82c71
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

当你计算某个梯度出现问题时,把它当做是计算图的问题,将其分解成某些部分,然后使用链式法则。

这里将f(w,x)分解成上面部分,然后进行求各变量的梯度。分解形式是不唯一的

sigmoid函数导数可求

下面这个max gate ,本地梯度一个是0,一个是上一个梯度的值。想象成一个梯度路由器,加法节点回传相同的梯度给进来的两支,然后max将获取梯度,且将其路由到它其中的一个分支。

本地梯度是另一变量的值,认为它是一个梯度转换器, 我猜它是一个尺度缩放器,获取上游梯度,然后根据另一个分支的值对其缩放、

 

用向量计算梯度呀.... 

 

 

 总结:

1、神经网络将是非常大的:不切实际的手写梯度公式为所有参数

 2、反向传播=递归应用链式法则沿计算图形计算所有梯度

3、implementations maintain a graph structure, where the nodes implement the forward() / backward() API

4、正向:计算一个操作的结果,并在内存中保存梯度计算所需的任何中间值

5、反向:应用链式法则计算损失函数相对于输入的梯度

  相关解决方案