当前位置: 首页 > news >正文

购物建设网站费用百度站长收录入口

购物建设网站费用,百度站长收录入口,瑜伽wordpress模板,让网站百度不到学习率 学习率,控制着模型的学习进度。模型训练过程中,如果学习率的值设置得比较大,训练速度会提升,但训练结果的精度不够,损失值容易爆炸;如果学习率的值设置得比较小,精度得到了提升,但训练过程会耗费太多的时间,收敛速度慢,同时也容易出现过拟合的情况。 退化学习率 退化学…

学习率

        学习率,控制着模型的学习进度。模型训练过程中,如果学习率的值设置得比较大,训练速度会提升,但训练结果的精度不够,损失值容易爆炸;如果学习率的值设置得比较小,精度得到了提升,但训练过程会耗费太多的时间,收敛速度慢,同时也容易出现过拟合的情况。

退化学习率

        退化学习率又叫学习率衰减或学习率更新。更新学习率是希望训练过程中,在精度和速度之间找到一个平衡,兼得学习率大核学习率小的优点。即当训练刚开始时使用大的学习率加快速度,训练到一定程度后使用小的学习率来提高精度。

TensorFlow中常用的退化学习率方法

        ①指数衰减方法

                指数衰减是较为常用的衰减方法,学习率是跟当前的训练轮次指数相关的。

                tf.train.exponential_decay(learning_rate,global_step,decay_steps,decay_rate,staircase = False,name = None)

                参数learning_rate为初始学习率;global_step为当前训练轮次,即epoch;decay_steps用于定义衰减周期,跟参数staircese配合,可以在decay_step个训练轮次内保持学习率不变;decay_rate为衰减率系数;staircase用于定义是阶梯型衰减,还是连续衰减,默认是False,即连续衰减(标准的指数型衰减)。

                指数衰减方法中学习率的具体计算公式如下:

                        decayed_learning_rate = learning_rate*decay_rate^(global_step/decay_steps)

                指数衰减方法中学习率的衰减轨迹如下图:

                        

                        红色的是阶梯型指数衰减,在一定轮次内学习率保持一致

                        绿色的是标准的指数衰减,即连续型指数衰减

        ②自然指数衰减方法

                指数衰减的一种特殊情况,学习率也是跟当前的训练轮次指数相关,只不过是以e为底数。函数中的参数意义与指数衰减方法中的参数相同。

                tf.train.natural_exp_decay(learning_rate,global_step,decay_steps,decay_rate,staircase = False,name = None)

                自然指数衰减方法中的学习率的具体计算公式如下:

                        decayed_learning_rate = learning_rate*exp(-decay_rate*global_step)

                自然指数衰减方法中学习率的衰减轨迹如下图:

                        

                        左下部分的两条曲线是自然指数衰减,右上部分的两条曲线是指数衰减。可以明显看到,自然指数衰减对学习率的衰减程度要远大于一般的指数衰减,它一般用于可以较快收敛的网络,或者是训练数据集比较大的场合。

        ③倒数衰减方法

                训练过程中,倒数衰减方法不固定最小学习率,迭代次数越多,学习率越小。学习率的大小跟训练次数有一定的反比关系。

               tf.train.inverse_time_decay(learning_rate,global_step,decay_steps,decay_rate,staircase = False,name = None)

                参数global_step为用于衰减计算的全局步数,decay_steps为衰减步数,decay_rate为衰减率,staircase用于定义是应用离散阶梯型衰减,还是连续衰减。

                倒数衰减方法中学习率的具体计算公式如下:

                        decayed_learning_rate = learning_rate/(1+decay_rate*global_step/decay_step)

                倒数衰减方法中学习率的衰减轨迹如下图:

                        

                        绿色的是离散阶梯型衰减,红色的是连续型衰减

        ④分段常数衰减方法

                分段常数衰减可以针对不同任务设置不同的学习率,从而进行精细调参。

                tf.train.piecewise_constant(x,boundaries,values,name = None)

                参数x是标量,指的是global_step,即训练次数;boundaries为学习率参数应用区间列表,即迭代次数所在的区间;values为学习率列表,存放在不同区间该使用的学习率的值。需要注意 : values的长度比boundaries的长度多1,因为两个数可以制定出三个区间,有三个区间要用3个学习率。

                分段常数衰减方法中学习率的衰减轨迹如下图:

                        ​​​​​​​

                        每个区间内,学习率的值是不一样的

        ⑤多项式衰减方法

                多项式衰减方法的原理为 : 定义一个初始的学习率和一个最低的学习率,然后按照设置的衰减规则,学习率从初始学习率逐渐降低到最低的学习率,并且可以定义学习率降低到最低的值之后,是一直保持使用这个最低的学习率,还是再升高到一定的值,然后再降低到最低的学习率,循环反复这个过程。

                tf.train.polynomial_decay(learning_rate,global_step,decay_steps,end_learning_rate = 0.0001,power = 1.0,cycle = False,name = None)

                参数global_step为当前训练轮次,即epoch;decay_steps为定义衰减周期;end_learning_rate是最小的学习率,默认值是0.0001;power是多项式的幂,默认值是1,即线性的。cycle用于定义学习率是否到达最低学习率后升高,然后再降低,默认False,保持最低的学习率。

                一般情况下多项式衰减方法中学习率的具体计算公式如下:

                        global_step = min(global_step,decay_steps)

                        decayed_learning_rate = (learning_rate - end_learning_rate) * (1 - global_step / decay_steps)^(power) + end_learning_rate

                如果定义cycle为True,学习率在到达最低学习率后反复升高降低,学习率计算公式如下:

                        decay_steps = decay_steps * ceil(global_step / decay_steps)

                        decayed_learning_rate = (learning_rate - end_learning_rate) * (1 - global_step / decay_steps)^(power) + end_learning_rate

                多项式衰减方法中学习率的衰减轨迹如下图:

                        

                        红色的为cycle = False时的情况,下降后不再上升,保持不变;绿色的为cycle = True时的情况,下降后反复升降。

                多项式衰减中设置学习率反复升降的目的是为了防止神经网络后期训练的学习率过小,导致网络参数陷入某个局部,找不到最优解;设置学习率升高机制,有可能使网络找出局部最优解。

指数衰减示例代码如下:

import tensorflow.compat.v1 as tf
tf.compat.v1.disable_v2_behavior()global_step = tf.Variable(0,trainable=False)
#定义初始学习率
initial_learning_rate = 0.1
#使用指数衰减方法
learning_rate = tf.train.exponential_decay(initial_learning_rate,global_step,decay_steps = 20,decay_rate = 0.8)#定义一个操作,global_step每次加1后完成计步
opt = tf.train.GradientDescentOptimizer(learning_rate)
add_global = global_step.assign_add(1)init = tf.global_variables_initializer()
with tf.Session() as sess:sess.run(init)print(sess.run(learning_rate))#循环20次,将每次的学习率打印出来for i in range(20):g,rate = sess.run([add_global,learning_rate])print(g,rate)

http://www.ds6.com.cn/news/44150.html

相关文章:

  • 海淀公安网站备案办理在线网页制作工具
  • 电子商务网站建设方式山东公司网站推广优化
  • 石家庄做网站排名公司哪家好app拉新平台
  • 网站建设可以在家做吗株洲seo优化报价
  • 银行门户网站开发网站建站公司
  • 网站运营部的职责有什么好的网站吗
  • 网站开发工程师需要哪些技术百度旗下推广平台有哪些
  • 有什么网站可以做深圳初二的试卷练习北京seo公司工作
  • 百度联盟怎么做自己的网站skr搜索引擎入口
  • 太平洋建设集团招标网站搜索引擎营销包括
  • 做党务工作常用到的网站网络广告营销有哪些
  • 判断网站到期seo云优化外包
  • 内江网站seo什么公司适合做seo优化
  • 中华人民共和国建设部官方网站汉中网站seo
  • 房地产网站模板库手机怎么建自己的网站
  • 上海网站建设300衡水网站seo
  • 莱芜网站开发seo包年服务
  • wordpress主题和预览不同seo外包费用
  • 青岛私人做网站seo外包多少钱
  • 网站站内内链建设微信营销的方法
  • 百度海外视频网站建设品牌策划方案
  • 网站登录系统制作优化网站的步骤
  • 网站建设前端学什么语言超级软文
  • 解析网站怎么做国内搜索引擎排行榜
  • 3800给做网站太原网络推广公司
  • wordpress审查元素后找到代码上首页seo
  • 网站管理员权限12月30日疫情最新消息
  • 济南网页制作设计深圳短视频seo教程
  • 台州cms模板建站怎么创建自己的网站
  • wordpress如何seo还有未来吗