当前位置:   article > 正文

Meaching Learning -【Backpropagation-a simple example】_simple backpropagation example

simple backpropagation example

Meaching Learning -【1-Backpropagation-a simple example】

Backpropagation-a simple example


闲看世间美景,静品岁月静好
大家好 ! 我是这花花世界中的小铁匠


在深度学习中,虽然 Pytorch,Tensorflow 等深度学习框架已经为我们设计好了求导引擎,但是,如果没有更加深入的去理解其中的概念是无法去深入的研究其工作的机制的,因此,在本节博文中,为大家讲解使用 Computation Graph 去计算梯度。

A simple example

简单节点设计

1、Input:x1,x2
2、Output:h1
3、Weights:w1,w2
4、Activation function :
激活函数,在深度学习的早期阶段较常用
5、h1 = sigmoid(w1x1+w2x2+b)
这样我们就从公式上建立了变量(x1,x2,w1,w2,b)之间的关系


现在我们可以直接通过链式求导法则进行梯度的求解
针对变量 x1,x2,w1,w2,b 进行求导
在这种计算方式中,需要注意的一点是在求导过程中红框中的部分实际上是已经经过重复计算了,在理论推导梯度的情况下并没有什么不好,相反公式还可以表示的很简洁。
在这里插入图片描述
但是在计算机的实现中,就会出现问题,因为计算机的算力是有限的,因此但你的计算量要求较高的时候,这种求导方式在计算机中就是一个很大的问题,所以就可以通过反向传播的方式借助 Computation Graph 来讲解。


下面我们先画出式子表示的神经网络结构及其对应的 Computation Graph 的结构。
神经网络结构


进一步可以转化成 Computation Graph,该表示方式实际上与上面的神经网络结构的表现方式一致
以计算流图的形式呈现神经网络结构梯度的计算可以根据 Computation Graph 的方式进行。关于梯度计算的部分后续会继续补充

参考资料

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/359362
推荐阅读
  

闽ICP备14008679号