昇思25天学习打卡营第六天|函数式自动微分

       今天继续打卡,学习了第七课函数式自动微分。

        神经网络的训练主要使用反向传播算法,模型预测值与正确标签送入损失函数获得loss,然后进行反向传播计算,求得梯度。

        下面用一个简单的单层线形变化模型进行介绍。

1f8c9d7b93f84fdea92c35a375b98d9b.png

 d080cdd38f3a408185ca5306c258bb6e.png

      函数与计算图,计算图式用图论语言表示数学函数的一种方法,也是深度学习框架表达神经网络模型的统一方法。

510b065a080d429aa22232ffd2a047c5.png

       微分函数与梯度计算,为了优化模型参数,我们通常需要求参数对于loss的导数。45a8ac2ab2ab43deb3b21bbdda9b7f53.png

3cc9c484812b45d79b7d1b6524482afd.png 

e070b0fc2b0940548f76e6aa8b8c07fa.png 

7b7acef617d04e538d1594dfaf5e6dcb.png 

 6e337f1eba164f18a4a221035409ec43.png

      神经网络梯度计算,由于我们的神经网络构造是继承自面对对象编程范式nn.Cell,接下来我们将使用Cell构造同样的神经网络,利用函数自动微分来实现反向传播。

ff7e39fcfe644dd48d4ae80d6e01b221.png

5e09d2fe5c2740ac9bf8310f33c2651e.png 

bc82203c2c5f4ee3b19f06124f33d564.png 

211687bd76db4a5a8c10d460630dd586.png 

     执行微分函数,可发现梯度值与前文function求得梯度值一致。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值