aihot  2017-12-10 15:03:00  机器学习 |   查看评论   

y=\frac{1}{1+e^{-z^1}}=>\frac{\partial y}{\partial z^1}=y*(1-y)

z^1_0=\sum_{i=0}^{3}{w^1_{i0} * x^1_i}+b^1_0=>\frac{\partial z^1_0}{\partial w^1_{00}}=x^1_0 , 同层的其他参数不再赘述

z^1_0=\sum_{i=0}^{3}{w^1_{i0} * x^1_i}+b^1_0=>\frac{\partial z^1_0}{\partial b^1_0}=1

      到这歇一下,我们已经顺利求出第二层的所有参数的导数了,具体的求导过程在这就不说了。下面是第一层

z^1_0=\sum_{i=0}^{3}{w^1_{i0} * x^1_i}+b^1_0=>\frac{\partial z^1_0}{\partial x^1_0}=w^1_{00} , 同层的其他参数不再赘述

x^1_0=\frac{1}{1+e^{-z^0_0}}=>\frac{\partial x^1_0}{\partial z^0_0}=x^1_0*(1-x^1_0) ,同层的其他参数不再赘述

z^0_0=\sum_{i=0}^1{w^0_{i0}*x^0_i}+b^0_0=>\frac{\partial z^0_0}{\partial w^0_{00}}=x^0_0

z^0_2=\sum_{i=0}^1{w^0_{i2}*x^0_i}+b^0_2=>\frac{\partial z^0_2}{\partial w^0_{12}}=x^0_1 ,同层的其他参数不再赘述

z^0_0=\sum_{i=0}^1{w^0_{i0}*x^0_i}+b^0_0=>\frac{\partial z^0_0}{\partial b^0_0}=1 ,同层的其他参数不再赘述

      到这里,我们实际上已经完成了基本运算,后面的事情就是把这些小的部分组合起来,比方说:

\frac{\partial Loss}{\partial w^0_{12}}=\frac{\partial Loss}{\partial y} * \frac{\partial y}{\partial z^1} *\frac{\partial z^1}{\partial x^1_{2}} * \frac{\partial x^1_2}{\partial z^0_2} * \frac{\partial z^0_2}{\partial w^0_{12}}

      看着十分复杂是吧?可是实际上其中每一个部分都已经被我们计算了,我们只需要把数据全部代入就可以了。当然,实际上如果严格按照公式进行计算,梯度的公式会比这个更复杂,但是其中一部分梯度实际上等于0,所以在此略去。

      而且,随着我们从高层网络向低层计算的过程中,很多中间结果可以用于计算高层参数的梯度了。所以经过整理,全部的计算过程可以如下表示:

\frac{\partial Loss}{\partial y}=y-t

\frac{\partial Loss}{\partial z^1_0}=\frac{\partial Loss}{\partial y}*y*(1-y)

  1. \frac{\partial Loss}{\partial w^1_{00}}=\frac{\partial Loss}{\partial z^1_0}*x^1_0 , 同层的其他参数不再赘述

\frac{\partial Loss}{\partial b^1_0}=\frac{\partial Loss}{\partial z^1_0}*1

  1. \frac{\partial Loss}{\partial x^1_0}=\frac{\partial Loss}{\partial z^1_0}*w^1_0 , 同层的其他参数不再赘述
  2. \frac{\partial Loss}{\partial z^0_0}=\frac{\partial Loss}{\partial x^1_0}*x^1_0*(1-x^1_0) ,同层的其他参数不再赘述
  3. \frac{\partial Loss}{\partial w^0_{00}}=\frac{\partial Loss}{\partial z^0_0}*x^0_0 , 同层的其他参数不再赘述
 

除特别注明外,本站所有文章均为 赢咖4注册 原创,转载请注明出处来自神经网络-全连接层(2)

留言与评论(共有 0 条评论)
   
验证码:
[lianlun]1[/lianlun]