从零实现深度学习框架 给框架增加可变学习率策略

本文介绍如何在自研深度学习框架中实现可变学习率策略,包括Momentum优化器,并展示了框架的结构改进,允许简单地添加更多优化器如AdaGrad、RMSProp和Adam。
摘要由CSDN通过智能技术生成

可变学习步长

在开始之前,我也曾想过是否应该先从二元操作中跳出来,或者增加batchsize的功能,思来想去,还是先来说说优化器吧~

优化器的本质就是调节学习率。以一个“V”形状的一元函数为例,对于不在谷底的任何一点,导数值都是相同的,如果训练过程中不能逐渐降低学习率,则函数收敛到某个值后就不能很好收敛了。但实际上参数w所处的优化空间本就是一个黑盒子,为了能够在优化空间未知的情况下进行优化,一些自适应的补偿变化策略被提出来了。

本节会简单地给之前提到的框架添加一些自适应的学习率变化策略。

框架预处理

首先,在正式开始之前,对上次的代码进行少许修正,主要是针对一些变量名的书写进行规范化。

具体来说:

  • 统一了类中变量名为大写字母起头
  • 将可训练参数的指示符Flag更替为Trainable
  • 将lr更替为Learning_rate
  • 新增函数calculate,用于完成当前节点的计算部分,forward函数会依次调用父节点的forward以及本节点的calculate,提高代码重用性
  • 新增函数calculate,每个节点需要实现自身的calculate函数
  • 将错误的英文updata更新为update
  • Trainable的默认值为False

In [2]


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

人工智能_SYBH

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值