吴恩达课程--week2神经网络基础:模拟神经网络计算过程(前向传播与反向传播)

模拟神经网络计算过程

 

我们通过比logistic回归更简单的例子来说明神经网络的基本计算过程:

 

神经网络计算过程分为两个过程:前向传播反向传播

假如我们要计算函数J(a,b,c)=3*(a+b*c)

这里我们应用神经网络的计算特点将函数的计算过程分解成如下的层次:

 

 

  • 前向传播

       如图箭头的过程就是前向传播过程,该过程在这个例子的作用就是计算函数值,将任务分解,分别给交给

       不同的单位完成最后完成任务:

      (1)通过b,c计算出u=6

      (2)通过a,u计算出v=11

      (3)通过v计算出函数J=33

      这样完成阿前向传播的计算得出函数J的值

  • 反向传播

       在这里解释一下为什么要有反向传播的过程。神经网络训练过程是基于对损失函数的,优化损失函数,训练完成的标志是

       损失函数收敛,即通过对参数的调整使损失达到最小。这里调整参数重新进行前向传播计算。

       反向传播过程的计算就是求函数J对于各个参数的偏导数,这里的参数是a,b,c,中间参数是u,v

      下面是对各个参数求偏导数

     

     

    反向传播计算过程:

   (1)计算参数v对于J的偏导数,用于加快计算(2)

   (2)计算参数a对于J的偏导数,利用(1)的结果

   (3)计算参数u对于J的偏导数,用于加快计算(3)(4)

   (4)计算参数b对于J的偏导数,利用(3)的结果

   (5)计算参数a对于J的偏导数,利用(3)的结果

    特别地:当计算所有偏导数时,即从右向左计算,计算v的偏导数对之后的计算a的偏导数可以用到;

    计算u的偏导数,可以帮助计算对比的偏导数,对c的偏导数。提高了计算效率反向传播的结果用于

    梯度下降法对参数的更新。

 

  • 总结

      神经网络经过一次的前向传播和反向传播,即完成了一次迭代的过程,一次迭代通过梯度下降法更新网络的参数,

     优化一次损失函数,我们可以设置通过设置迭代次数来优化它,使损失达到我们满意的程度。更新参数的过程也

     就是我们说的学习过程。

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值