您的位置:首页 > 理论基础 > 计算机网络

Neural Network and deep learning(二)

2016-11-02 09:49 351 查看

Neural Network and deep learning(二)

(1)权重的矩阵表示。该文章中的权重表示是反过来的,即Wij中i表示下一层的神经元,j表示前一层的神经元。这样在计算向下一层传递时直接可以使用wx。



(2)反向传播的理解。

z2a2z3a3=w1x+b1=σ(z2)=w2a2+b2=σ(z3)

神经网路的形式可以写成上述形式,使用梯度下降法更新参数,就是对每个变量按着梯度的方向逼近,知道达到最小值,这样很容易想到使用∂C∂a,其中C是最终的代价函数(即所求的最小值),a是每层的输出,但是这样不便于数学推到和计算,因此使用链式求导法则来变形,得到∂C∂a=∂C∂z⋅∂Z∂a。

输出的误差方程 δL:δLj=∂C∂aLj⋅σ′(zLj),其中右式第1个项表C代价随着j输出激活值的变化变化的速度,第2项刻画了在j处激活函数σ变化的速度。

误差传递 δl:δl=((wl+1)Tδl+1)⋅σ′(zl),这个公式也比较容易理解,把整个网络看成从后面向前传播,δl+1为出入的值,(wl+1)T这为其权重(转置刚好反过来),σ′(zl)则可以看成反激活了。

习题2.5 证明∂C∂blj=δlj和∂Cwljk=al−1kδlj

证明:由于 zl+1=wlx+bl,则∂C∂blj=∂C∂al⋅∂al∂zl⋅∂zl∂blj,由∂C∂al⋅∂al∂zl=δlj,∂zl∂blj=1得,∂C∂blj=δlj。同理可得∂Cwljk=al−1kδlj。

习题2.6.1 使用单个修正神经元的反向传播。

答: 再反向传播中需要求激活函数的导数,如果改变其激活函数,只需要对当前的激活函数导数即可。

习题2.6.2 线性神经元的反向传播。

答: 激活函数为线性的,即∂al∂zl=1,则反向传播∂C∂al=δlj。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息