Deep learning 学习率AdamW优化器

Deep learning 学习率AdamW优化器,deep-learning,nlp,huggingface-transformers,learning-rate,Deep Learning,Nlp,Huggingface Transformers,Learning Rate,我使用BERT(来自huggingface)情绪分析进行训练,这是一项NLP任务 我的问题是关于学习率 EPOCHS = 5 optimizer =

我使用BERT(来自huggingface)情绪分析进行训练,这是一项NLP任务

我的问题是关于学习率

EPOCHS = 5                                                                                                                                                                                
optimizer = AdamW(model.parameters(), lr=1e-3, correct_bias=True)                  
total_steps = len(train_data_loader) * EPOCHS
scheduler = get_linear_schedule_with_warmup(                                    
  optimizer,
  num_warmup_steps=0,                                                          
  num_training_steps=total_steps
)
loss_fn = nn.CrossEntropyLoss().to(device)
你能解释一下如何阅读1e-3吗

这是台阶的密度还是衰减的值

如果是后者,它是线性衰减吗

如果我的训练值为3e-5,这是NLP任务的建议值huggingface,那么我的模型很快就会过度拟合:训练损失降至最低,验证损失增加

学习率3e-5:

如果我以1e-2的值进行训练,我会得到验证损失值的稳步改善。但在第一个历元之后,验证精度没有提高。见图。为什么即使损失减少,验证值也没有增加。这不矛盾吗?我认为这两种价值观是对彼此的诠释

学习率1e-2:


您有什么建议?

在反向传播中对权重进行的每次更新都使用一个称为学习率的参数进行加权。如果较小,则以较小的步长向最小步长前进


有时,如果你过度适应,建议你降低学习率(并增加历次次数),但也有其他方法来对付过度适应。一个好的学习率应该让你在足够的时间内达到一个好的最低水平。这是你需要尝试的东西。

但什么是小步骤?就Xe-Y而言,1e-1是最小的一步,5e-5是最大的一步吗?其中哪一个是0.00001?这更多的是关于浮点表示法,但意思是x*10^y上的科学表示法,因此1e-1转换为0.1,5e-5转换为0.00005。