滑动平均模型

指数衰减学习率使训练迭代更加有效:

      学习率决定了每一次迭代训练过程优化神经网络数的幅度,学习率的正确选取对于训练的效率、和效果均有一定的影响,如果我们学习率设定过大,则会可能导致参数在极值两侧跳动,这样的迭代训练显然不是我们希望的。假设我们学习率设定过小,则我们可能在我们所能提供的训练次数内无法寻找到极优值,即是我们需要更多的迭代训练才能达到更好的优化效果。我们想想,如果使学习率处于一个动态变化的过程,即随着我们迭代训练次数的增加,学习率也随着变化。tensorflow提供了一个灵活的学习率设定方法:指数衰减法。这个算法实现达到的效果是:随着迭代次数的增加逐步减小学习率,是模型前期训练速度加快,后期训练模型更加稳定而不会出现极优值两边跳动的情况。

learning_rate = tf.train.exponential_dacay(0.1 , global_step , 100 , 0.96 , staircase = True)

tensorflow提供如上函数实现指数衰减学习率,0.1 为学习率基值 , global_step 为我们定义的Variable(需要我们手动指定不可训练参数并将该参数传入我们选择优化模型 , 100 为衰减速度decay_steps(可以理解为衰减的步长,即每一次改变学习率的间隔,应该设定为总训练样本数除以每次喂入量BATCH,这样做的目的是每过一轮总训练样本,就改变学习率,使训练数据集中的所有的数据对模型训练都有相同的作用) ) , 0.96为学习率衰减率learning_rate_dacay (一般设定为接近1的数值) ,staircase 参数则影响衰减方式 True为梯度衰减,False为平滑衰减。

正则化解决过度拟合问题:

      转载(https://blog.csdn.net/sinat_29957455/article/details/78397601

 

正则化:是一种常用的为了避免过度拟合而采用的一种算法。正则化的主要思想是通过在损失函数中加入刻画模型复杂程度的指标,假设模型的损失函数为J(θ),那么我们在使用优化算法来优化损失函数的时候,不是直接优化J(θ),而是优化J(θ)+ λ *R(w)。其中R(w)是指模型的复杂程度,λ表示模型复杂损失在总损失中的比例。需要注意的是这里的θ表示的是一个神经网络中的所有参数,它包括权重和偏置。一般来说,模型复杂度只由其权重(w)来决定。而常用的来刻画模型复杂度的函数R(w)有两种,一种是L1正则化,计算公式如下,以下公式中w都是从w1到wn:

还有一种L2正则化,计算公式如下:

无论是L1正则化还是L2正则化,两者的目的都是通过限制权重的大小,来使得模型不能任意的拟合训练数据中的随机噪音。两者正则化也有很大的区别。L1正则化会让参数变得稀疏,而L2正则化则不会产生这个问题。参数稀疏是指会有更多的参数变为0,其实就相当于达到了类似于特征选取的功能。L2正则化不会产生稀疏的原因在于,当参数很小的时候,参数的平方基本上就趋近于0,可以忽略了,而模型不会进一步将这个参数调整为0。L1正则化的计算公式不可导,L2正则化可导。而在优化模型的时候需要计算损失函数的偏导数,所以对于这种情况L2比较合适。在实践中,也可以将L1正则化和L2正则化同时使用:

滑动平均模型增强模型鲁棒性(robustness):

      滑动平均模型,它可以使得模型在测试数据上更健壮,在使用随机梯度下降算法训练神经网络时,通过滑动平均模型可以在很多的应用中在一定程度上提高最终模型在测试数据上的表现。其实滑动平均模型,主要是通过控制衰减率来控制参数更新前后之间的差距,从而达到减缓参数的变化值(如,参数更新前是5,更新后的值是4,通过滑动平均模型之后,参数的值会在4到5之间),如果参数更新前后的值保持不变,通过滑动平均模型之后,参数的值仍然保持不变。(本段转载:出处

tensorflow提供滑动平均类供我们使用:

tf.train.ExponentialMovingAverage(decay, num_updates=None, zero_debias=False,name="ExponentialMovingAverage")

常用参数为decay,滑动平均衰减率,同时大多数情况还会传入global_step 。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值