0

查看 Daniel Möller 对这个问题的回答,我了解到重新编译经过训练的模型不应影响/更改已训练的权重。然而,每当我重新编译我的模型以使用不同的学习率或批量大小来进一步训练它时,val_mse 开始时的值会比初始训练结束时的值更高/更差。

虽然最终会降低到val_mse之前的水平,但我不确定通过重新编译模型是否只是在重置模型并重新训练。

有人可以确认重新编译是否真的会从头开始重新开始学习过程吗?另外,在模型的初始训练之后使用不同的超参数进行第二阶段的训练是否是一种常见的做法(或者是否有好处)?

4

1 回答 1

1

在第一个训练时期结束时,权重当然会发生变化。一个可能的原因是,您在较早的时期看到性能下降,然后可能会有所改善,这是因为一些优化方法的内部状态会随着时间的推移而适应,例如在收敛时减小步长,或增加动量衰减等。在训练内部state 通常不允许离模型所在的位置太远,因为它被认为接近最优,所以只尝试微调。当您从头开始重新开始训练时,该方法通常会在早期允许更大的步骤以加速早期收敛,因为假设模型远非最优。在您的情况下,您开始接近最佳状态并允许算法迈出一大步,这可能会使它变得更糟......

如果您不希望发生这种情况,则需要深入研究优化方法的内部结构。这样做是否是个好主意?与 ML 中的往常一样,没有人适合所有答案,这取决于许多因素,因此请尝试查看您自己的具体情况。

于 2021-01-28T03:03:49.853 回答