您的位置:首页 > 其它

反向传播中的数学理解

2017-12-03 17:41 393 查看
前言

梯度的直观解释

用链式法则计算f(x)

公式与代码

1.前言

人工神经网络这篇文章中,除了介绍简单的神经网络,还举了一个非常详细的关于反向传播算法的传播过程,但这一次,希望通过更加直观的例子,来了解反向传播,同时会用到链式法则。深入理解反向传播的过程及其中的微妙变化,有助于我们更好的理解神经网络和调试我们的代码。

我们这次的核心问题就是:给定一个函数f(x),其中x是一个输入向量,希望求得这个函数对应的梯度∇f(x),它代表了方向,也是模型学习的方向。

其中f(x)一般对应着算法使用的损失函数,而x则代表了输入的训练数据和神经网络的权重,正如你所知,训练数据是给定不变的,但是权重是可以改变的,我们通过调整权重参数,让神经网络学习出一套分类的判定标准。在实际应用中,我们会使用BP算法来求出参数w对应的梯度,然后调整(更新)参数,让这组参数能更好的分类。

但有时,我们想要看一下我们的神经是什么样子的,也可以对x对梯度。

2.梯度的直观解释

假设有一个函数f(x,y)=xy,如果你学过微积分,一定知道对x求偏导,就是把除了x以外的所有参数,无论是y,还是w都当成参数处理,只对x求一次导就OK了。

f(x,y)=xy→∂f∂x=y∂f∂y=x

定义:其实导数定义的就是一个函数的在一点处的变化率。

df(x)dx=limh →0f(x+h)−f(x)h左边表达的是将f(x)对x求偏导,右边可以发现,当h很大的时候,就是两间的斜率表示了,如图,可以得到lPQ这条线,当h →0,两点间的距离慢慢减少,最后两点可以近似认为是一个点的时候,就是与这条曲线相切了,就可以得到绿色这条线了。其实积分,积分,用的就是逼近原理。



那导数代表了什么呢?

The derivative on each variable tells you the sensitivity of the whole expression on its value.

翻译过来就是:导数反应了每个变量对函数值的影响程度。

我们先前说了梯度代表了方向,那梯度和导数的关系是怎么样的呢?

其实∇f就是用偏导数表示的向量(有方向的),用上一个函数就是:∇f=[∂f∂x,∂f∂y]=[y,x]用图像表示就是:



3.用链式法则计算f(x)

为了理解链式法则,我们先用一个简答的例子:f(x,y,z)=(x+y)z,这个式子依然很简单,我们可以把这个公式分成两部分:q=x+y,f(q,z)=qz,这两个式子和第一个式子是等价的。

先前我们已经知道怎么计算偏导数了:∂f∂q=z,∂f∂z=q但是,q=x+y也是一个函数,对他也求导数:∂q∂x=1,∂q∂y=1但我们最后关心的不是q的偏导数,我们最后关系的是f对x,y,z三个的偏导数,所以f对x求偏导就有:∂f∂x=∂f∂q∂q∂x=z∗1分别对y,z求偏导,就可以得到对应的梯度了。

用更复杂的例子,sigmoid函数大家都挺熟悉的:σ(x)=11+e−x→dσ(x)dx=e−x(1+e−x)2=(1+e−x−11+e−x)(11+e−x)=(1−σ(x))σ(x)

4.公式与代码

我们写代码的人可能最怕的就是看到一大堆的数学公式了,但是我们并不需要自己手动算他们,所以知道他们怎么用代码写出来就OK了,举个例子:f(x,y)=x+σ(y)σ(x)+(x+y)2你可能会感觉这个公式还是挺复杂的,但只要你学会拆分,就一点都不难了。

x = 3 # example values
y = -4

# forward pass
sigy = 1.0 / (1 + math.exp(-y)) # sigmoid in numerator   #(1)
num = x + sigy # numerator                               #(2)
sigx = 1.0 / (1 + math.exp(-x)) # sigmoid in denominator #(3)
xpy = x + y                                              #(4)
xpysqr = xpy**2                                          #(5)
den = sigx + xpysqr # denominator                        #(6)
invden = 1.0 / den                                       #(7)
f = num * invden # done!


参考

cs231n
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: