gpt4 book ai didi

python - 我试图在神经网络训练中理解 'epochs'。接下来的实验是等价的吗?

转载 作者:行者123 更新时间:2023-12-01 11:56:07 27 4
gpt4 key购买 nike

假设我有一个定义的神经网络的训练样本(带有相应的训练标签)(神经网络的架构对于回答这个问题无关紧要)。让我们称神经网络为“模型”。

为了不产生任何误解,假设我介绍了“模型”的初始权重和偏差。

实验 1。

我使用训练样本和训练标签来训练“模型”40 个时期。训练结束后,神经网络将对整个神经网络具有一组特定的权重和偏差,我们称之为 WB_Final_experiment1。

实验二

我使用训练样本和训练标签训练“模型”20 个时期。训练结束后,神经网络将对整个神经网络具有一组特定的权重和偏差,我们称之为 WB_Intermediate。

现在我在“模型”中引入 WB_Intermediate 并训练另外 20 个时期。训练结束后,神经网络将对整个神经网络具有一组特定的权重和偏差,我们称之为 WB__Final_experiment2。

注意事项。每个单独的参数、超参数、激活函数、损失函数......除了 epoch 之外,两个实验都完全相同。

问题:WB_Final_experiment1 和 WB__Final_experiment2 完全相同吗?

最佳答案

如果您遵循本教程 here , 你会发现两个实验的结果如下 -

实验一

enter image description here

enter image description here

实验二

enter image description here

enter image description here

在第一个实验中,模型运行了 4 个 epoch,在第二个实验中,模型运行了 2 个 epoch,然后使用先前训练的最后一个权重再训练 2 个 epoch。您会发现结果会有所不同,但变化幅度很小。由于权重的随机初始化,它们总是会有所不同。但是这两个模型的预测将非常接近。

如果模型使用相同的权重进行初始化,那么两个模型在 4 个 epoch 结束时的结果将保持相同。

另一方面,如果您训练了 2 个时期,然后关闭您的训练类(class)并且不会保存权重,如果您在重新开始类(class)后现在训练 2 个时期,则预测将不一样。为避免在训练前出现这种情况,请始终加载保存的权重以使用 model.load_weights("path to model") 继续训练。

长话短说

如果模型使用完全相同的权重进行初始化,则相同训练时期结束时的输出将保持不变。如果它们是随机初始化的,输出只会略有不同。

关于python - 我试图在神经网络训练中理解 'epochs'。接下来的实验是等价的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60780523/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com