学习率与batchsize关系
Created by: cszhou
看了book里面的几个demo,有的学习率要除以batchsize,如03.image_classification
# Create optimizer
momentum_optimizer = paddle.optimizer.Momentum(
momentum=0.9,
regularization=paddle.optimizer.L2Regularization(rate=0.0002 * 128),
learning_rate=0.1 / 128.0,
learning_rate_decay_a=0.1,
learning_rate_decay_b=50000 * 100,
learning_rate_schedule='discexp')
有的又没有除,如06.understand_sentiment
# create optimizer
adam_optimizer = paddle.optimizer.Adam(
learning_rate=2e-3,
regularization=paddle.optimizer.L2Regularization(rate=8e-4),
model_average=paddle.optimizer.ModelAverage(average_window=0.5))
我的模型中,L2惩罚设置为0,只设置了全局的学习率, 没有对每一层再次设置学习率。在batchsize大小为30k的时候,发现学习率不管是设置为 0.001,还是0.001/30000的时候,都是4~5个batch(不是pass)就会稳定loss到0.3左右。 这里面有什么讲究?