本文主要谈谈自己对step,epoch,batch_size这几个常见参数的理解。
最近在调试模型的时候,发现在使用keras.optimizer.adam时,模型在添加了新的一层2D卷积层后难以收敛,在不调整初始权重矩阵的情况下,想通过衰减学习率来使loss function的收敛性更好。
tf.keras.optimizers.Adam(
learning_rate=0.001,
beta_1=0.9,
beta_2=0.999,
epsilon=1e-07,
amsgrad=False,
name="Adam",
**kwargs
)
可以看到,adam这个optimizer在没有其他参数条件的情况下,默认学习率为固定0.001。
为了调整学习率,在keras的文档中找到了下述示例代码,代码的意思很简单,初始学习率为0.01,衰减需要的step为10000,衰减率为0.9,即每次经过10000 steps,学习率就衰减为原来的0.9。
lr_schedule = keras.optimizers

本文探讨了机器学习模型中step、epoch和batch_size的概念。step指的是梯度更新的过程,一个epoch内,若每批数据(batch_size)为100,而总数据量为2000,则需要20个step完成一个epoch。通过理解这些参数,可以更好地调整学习率以优化模型训练。
最低0.47元/天 解锁文章
1299

被折叠的 条评论
为什么被折叠?



