TensorFlow中优化DNN模型tips
一、学习率的设置
指数衰减法–tf.train.exponential_decay
exponential_decay(learning_rate, global_step, decay_steps, decay_rate, staircase=False, name=None)
通过这个函数,可以先使用较大的学习率来快速得到一个比较优的解,然后随着迭代的继续逐步减小学习率,使得模型在训练后更加稳定,即指数级的减小学习率。
exponential_decay
实现了以下代码的功能:
decayed_learning_rate = \
learning_rate * decay_rate ^(global_step / decay_steps)
其中:
- decayed_learning_rate:为每一轮优化时使用的学习率;
- learning_rate:为事先设定的初始学习率;
- decay_rate:为衰减系数;
- decay_steps:为衰减速度;
- staircase:可以通过设置来选择不同的衰减方式,默认值为False;当为True时,global_step/decay_stpes会被转化成整数,学习率成为一个阶梯函数。
二、正则化
正则化时,即在优化的时候不是直接优化损失函数J(θ),而是优化J(θ)+λR(w)。
L1、L2正则化
常用的R(w)有两种:
- L1正则化:R(w)=∥w∥1=∑