donut 验证损失没有减少

u1ehiz5o  于 5个月前  发布在  其他
关注(0)|答案(2)|浏览(86)

从你的训练日志来看,验证损失在几个epoch之后没有明显下降。这可能是由于模型过拟合或者学习率过高导致的。你可以尝试以下方法来解决这个问题:

  1. 降低学习率:将学习率从3e-5降低到1e-4或更低,以便模型能够更好地收敛。

  2. 增加批次大小:尝试将批次大小从1增加到更大的值,例如16或32,以便模型能够更好地捕捉数据中的模式。

  3. 使用早停法(Early stopping):在训练过程中,当验证损失连续几个epoch没有明显下降时,停止训练。这可以防止模型过拟合。

  4. 添加正则化项:为了减少模型的过拟合风险,可以在损失函数中添加L1或L2正则化项。

以下是一个修改后的配置示例:

config = { "max_epochs":30,
 "val_check_interval":1.0,
 "check_val_every_n_epoch":1,
 "gradient_clip_val":1.0,
 "num_training_samples_per_epoch": 12032,
 "lr":1e-4, # 降低学习率
 "train_batch_sizes": [16], # 增加批次大小
 "val_batch_sizes": [16], # 增加批次大小
 # "seed":2022,
 "num_nodes": 1,
 "warmup_steps": 36096,
 "result_path": "./result",
 "verbose": False,
 }

尝试这些建议,看看是否能改善验证损失的收敛情况。祝你好运!

wfveoks0

wfveoks01#

train_batch_sizes可能太小,无法获得全局最优解。尝试增加更多的warmup_steps。

f8rj6qna

f8rj6qna2#

你好,Mann1904!请问你是如何获取每个时期损失信息的?我无法获取到这些信息。

相关问题