2021-04-13

指数衰减学习率

可以先用较大的学习率,快速得到较优解,然后逐步减少学习率,使模型在训练后期稳定
指数衰减学习率=初始学习率x学习率衰减率的(当前轮数/多少轮衰减一次)的次方

epoch=40
LR_BASE=0.2
LR_DECAY=0.99
LR_STEP=1 #上述为超参数
for epoch in range(epoch):
	lr=LR_BASE*LR_DECAY**(epoch/LR_STEP) #在此处加入此代码串

激活函数

大大提升模型表达力,使多层神经网络不再是线性函数

优秀的激活函数:

  • 非线性:激活函数非线性时,多层神经网络可逼近所有函数
  • 可微性:优化器大多用梯度下降更新参数
  • 单调性:当激活函数使单调的,能保证单层网络的损失函数是凸函数
  • 近似恒等性:f(x)≈x 当参数初始化为随机小值时,神经网络更稳定

激活函数输出值的范围:

  • 激活函数为有限值时,基于梯度优化的方法更稳定
  • 激活函数输出为无限值时,建议调小学习率

2021-04-13_第1张图片
2021-04-13_第2张图片
2021-04-13_第3张图片
2021-04-13_第4张图片
2021-04-13_第5张图片
2021-04-13_第6张图片
2021-04-13_第7张图片
2021-04-13_第8张图片
损失函数(loss):预测值(y)与已知答案(y_)的差距
主流损失函数有三种:均方误差、自定义和交叉熵

  • 均方误差 mse:预测结果与标准答案差的平方再求平均

softmax与交叉熵结合

输出先过softmax函数,再计算y与y_交叉熵损失函数
tf.nn.sotfmax_cross_entropy_with_logits(y_,y)

上下两处代码等价

y_pro=tf.nn.softmax(y)
loss_ce1=tf.losses.categorical_crossentropy(y_,y_pro)

你可能感兴趣的:(笔记)