Last updated
Last updated
核心的思想在于理解从x->y正向是计算损失,然后倒过来从y->x计算误差,利用链式法则计算参数的倒数,从而完成更新,迭代这个计算过程。
其中在链式法则计算的过程中,比较难理解是各个变量的依赖关系。
对于上层节点p和下层节点q,要求得,需要找到从q节点到p节点的所有路径,并且对每条路径,求得该路径上的所有偏导数之乘积,然后将所有路径的 “乘积” 累加起来才能得到的值。
重要的是要理解将一个神经元要看成两个小单元组成,下图中的和,然后根据网络结构得到得到要计算参数的路径,沿着路径,根据链式法则,就可以写出完整的求导式子,举个例子,要计算,可以看到从误差到的路径:,路径有了,就可以很轻松写出下面图片中求导式子了。
总的来说就是把握住要求参数的路径,就可以写出对应的求导式子。
正向传播的思路很好理解,这里不再赘述。
参考:
看一个来自两条路径的,这里在这个节点就要分成两部分来写,如下如图公式:
(包含示例代码)