tensorflow-正则化与指数衰减率

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了tensorflow-正则化与指数衰减率相关的知识,希望对你有一定的参考价值。

指数衰减率
先用较大的学习率快速迭代,得到一个较优的解。然后,指数衰减法生效,随着迭代的继续逐步减少学习率,这样,可以得到更稳定的解。
decayed_learning_rate=learning_rate*decay_rate^(global_step/decay_steps)
decay_rate衰减系数
decay_steps衰减速度
当staircase为True,则global_step/decay_steps为整数(学习率下降阶梯),否则为浮点数(学习率下降平滑)。

globalStep=tf.Variable(0)
learningRate=tf.train.exponential_decay(0.1,globalStep,100,0.96,staircase=True)
learningStep=tf.train.GradientDescentOptimizer(learningRate).minimize(losss,global_step=globalStep)

正则化
正则化可避免过拟合,模型的复杂程度,由神经网络的所有参数决定,w和b,一般是由权重w决定。
1.L1正则化
L1:
技术分享图片
L2:
技术分享图片
L1使参数变得稀疏,很多参数会为0,这样,可以达到类似特征提取的作用。L1不可导。
L2公式可导,所以对其优化更简洁,但其没有稀疏作用。
可将2个正则化一起使用
技术分享图片

#L2
loss=tf.reduce_mean(tf.square(y_-y)+tf.contrib.layers.l2_regularizer(lambda)(w)
#lambda为正则化权重,即:R(w)*lambda
#L1
loss=tf.reduce_mean(tf.square(y_-y)+tf.contrib.layers.l1_regularizer(lambda)(w)

以上是关于tensorflow-正则化与指数衰减率的主要内容,如果未能解决你的问题,请参考以下文章

Tensorflow+Keras学习率指数分段逆时间多项式衰减及自定义学习率衰减的完整实例

tensorflow机器学习指数衰减学习率的使用tf.train.exponential_decay

tensorflow-正则化+指数衰减+滑动平均

Tensorflow实现学习率衰减

TensorFlow 中的 tf.train.exponential_decay() 指数衰减法

指数衰减学习率