Exponentially decayed learning rate

自定义函数如下,相比于tf.train.exponential_decay,添加了lowbound学习率

α = max ⁡ ( α 0 β ⌊ t Δ t I ⌋ , α e ) \alpha = \max(\alpha_0 \beta^{\left \lfloor \frac{t}{{\Delta t}^I}\right \rfloor},\alpha_e) α=max(α0​β⌊ΔtIt​⌋,αe​)

  • 学习率 α \alpha α,
  • 初始学习率 α 0 \alpha_0 α0​,
  • 衰减率 β \beta β,
  • 学习步数 t t t,
  • 衰减步长 Δ t \Delta t Δt,
  • 阶梯下降指示量 I I I, I = 1 I=1 I=1表示学习率阶梯下降, I = 0 I=0 I=0无阶梯下降
  • 最小学习率 α e \alpha_e αe​

仿真:

def exponentially_decay_lr(lr_ini,lr_lb,decay_factor,learning_steps, decay_steps,staircase=1):import mathif staircase:med_steps = decay_stepselse:med_steps = 1    lr_decayed = lr_ini*decay_factor**(math.floor(learning_steps/med_steps))lr = max(lr_decayed,lr_lb)return lr
lr_ini = 1
lr_lb = 0.1
decay_factor = 0.97
decay_steps = 10
num_learning_steps = 1000
Lr_all=[]
for step in range(num_learning_steps):lr = exponentially_decay_lr(lr_ini,lr_lb,decay_factor=decay_factor,learning_steps=step, decay_steps=decay_steps,staircase=1)Lr_all.append(lr)plt.figure(dpi=100)
plt.plot(Lr_all,label=r'$\psi(x)$')plt.legend(loc='center right')
# plt.xticks(x)
plt.xlabel('steps')
plt.ylabel('lr value')
plt.grid(True)
plt.show()

自定义指数衰减学习率函数相关推荐

  1. java 时间衰减函数_TensorFlow实现指数衰减学习率的方法

    在TensorFlow中,tf.train.exponential_decay函数实现了指数衰减学习率,通过这个函数,可以先使用较大的学习率来快速得到一个比较优的解,然后随着迭代的继续逐步减小学习率, ...

  2. 【tensorflow】】模型优化(一)指数衰减学习率

    指数衰减学习率是先使用较大的学习率来快速得到一个较优的解,然后随着迭代的继续,逐步减小学习率,使得模型在训练后期更加稳定.在训练神经网络时,需要设置学习率(learning rate)控制参数的更新速 ...

  3. 浅谈tensorflow的指数衰减学习率、正则化、滑动平均模型

    指数衰减学习率使训练迭代更加有效: 学习率决定了每一次迭代训练过程优化神经网络数的幅度,学习率的正确选取对于训练的效率.和效果均有一定的影响,如果我们学习率设定过大,则会可能导致参数在极值两侧跳动,这 ...

  4. tf第八讲:global_step理解与指数衰减学习率

      大家好,我是爱编程的喵喵.双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中.从事机器学习以及相关的前后端开发工作.曾在阿里云.科大讯飞.CCF等比赛获得多次Top名次.现 ...

  5. 指数衰减学习率的意义与使用方法

    它的意义在于动态调节学习率,最本质的作用当优化到了一定的瓶颈后,出现当前的学习率已不适用于优化,相对而言,学习率偏大,迈的步子较大,到不了底部:即需要降低学习速率: 使用方法: self.global ...

  6. 指数衰减学习率的staircase

    staircase:楼梯 如果为true,即楼梯为真,说明学习率要向楼梯一样下降: 看代码说话: import tensorflow as tf; import numpy as np; import ...

  7. 【pytorch笔记】(五)自定义损失函数、学习率衰减、模型微调

    本文目录: 1. 自定义损失函数 2. 动态调整学习率 3. 模型微调-torchvision 3.1 使用已有模型 3.2 训练特定层 1. 自定义损失函数 虽然pytorch提供了许多常用的损失函 ...

  8. PyTorch学习率衰减策略:指数衰减(ExponentialLR)、固定步长衰减(StepLR)、多步长衰减(MultiStepLR)、余弦退火衰减(CosineAnnealingLR)

    梯度下降算法需要我们指定一个学习率作为权重更新步幅的控制因子,常用的学习率有0.01.0.001以及0.0001等,学习率越大则权重更新.一般来说,我们希望在训练初期学习率大一些,使得网络收敛迅速,在 ...

  9. pytorch查看应用指数衰减后的学习率

    在pytorch中使用指数衰减后,想着将每轮训练后的学习率打印出来,看指数衰减是否起作用了,于是在每轮训练后通过下面代码查看学习率: print("lr:",net.lr) 发现不 ...

最新文章

  1. Golang闭包陷阱
  2. 使用CSS3各个属性实现小人的动画
  3. php禁止代理ip访问_php如何禁止代理访问
  4. vscode 找不到path路径
  5. MyBatis 配置sql语句输出
  6. http请求被挂起 cancled 原因
  7. struts中采用注解配置Action
  8. 开源组件分析工具OpenSCA教程
  9. Android 如何反编译apk查看源码
  10. mac idea jrebel 激活
  11. js实现页面视频全屏播放
  12. 我所理解的Remoting(3):创建CAO Service Factory使接口和实现相互分离
  13. Java | Java模拟实现扑克牌洗牌、发牌过程
  14. WMTS服务及地图瓦片原理
  15. 学会使用这些常见的网络诊断工具,助力你的网络编程之路
  16. CDH安装时报错:/opt/cloudera/parcels/.flood/.../CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel does not exist
  17. 处nm是什么意思_nm是什么意思
  18. 医咖会stata 笔记(自己能看懂版
  19. 前端程序员常用办公工具(持续更新)
  20. python-数据分析-pandas (1)

热门文章

  1. SQLServer2012 附加数据库时出错
  2. 北语19春计算机应用基础,北语19春《计算机应用基础》练习
  3. Fibonacci数列学习笔记
  4. Android 调用第三方微信支付
  5. manjaro同步数据库报错解决办法
  6. 二次元自适应QQ价值评估源码
  7. 老猿说说-Thread
  8. tf.app.flags.DEFINE_string()和tf.app.flags.FLAGS和tf.app.run()
  9. 制作U盘版Windows 10部署工具
  10. linux mysql mysqld 启动_linux mysqld的启动过程