Math 神经网络的再训练

Math 神经网络的再训练,math,machine-learning,Math,Machine Learning,我已经使用训练数据集[X,Y]训练了一个NN。让我们考虑这个模型叫做“代码> M。现在,我有了一个新的数据集[Xnew,Ynew]。我想用数据集[Xnew,Ynew]更新我的型号M,而无需从头开始重新培训 我的问题是:是否有可能以这种方式更新模型,或者我必须对此进行再培训?如果可以更新,如何更新?是,如果您正在进行反向传播。可以将在第一个数据集上训练的权重作为在第二个数据集上训练的起点,而不是从随机权重开始 当然,这是否明智在很大程度上取决于您的数据集和网络拓扑。答案是否定的。对于某些类型的模型

我已经使用训练数据集
[X,Y]
训练了一个NN。让我们考虑这个模型叫做“代码> M</代码>。现在,我有了一个新的数据集
[Xnew,Ynew]
。我想用数据集
[Xnew,Ynew]
更新我的型号
M
,而无需从头开始重新培训


我的问题是:是否有可能以这种方式更新模型,或者我必须对此进行再培训?如果可以更新,如何更新?

是,如果您正在进行反向传播。可以将在第一个数据集上训练的权重作为在第二个数据集上训练的起点,而不是从随机权重开始


当然,这是否明智在很大程度上取决于您的数据集和网络拓扑。

答案是否定的。对于某些类型的模型,可以用相对较少的参数汇总数据,然后用一些新数据更新汇总,并根据更新的汇总重建模型。这种总结称为模型的“充分统计”。不幸的是,只有相对狭窄的模型族(称为指数族)才存在足够的统计数据,指数族不包括具有隐藏单元的神经网络。在缺乏足够统计数据的情况下,您可能能够找到加快培训速度的启发式方法。您的问题中的“$”是什么意思?你可以看到它们不会导致任何特殊的渲染,不是吗?@RobertDodier你的答案是有疑问的;在实践中,在非常普遍的情况下,当然可以继续使用新数据训练网络,如下所示suggests@desertnaut网络的误差面由训练数据确定。根据现有重量进行训练只意味着你从一个不同的点开始训练,而不是随机选择起点。如果你训练收敛,你会发现相同的点,如果你随机开始(模多个局部极小值)。如果不进行收敛训练,就不清楚结果具有什么性质。特别是,不能保证它相当于一个从所有旧数据加上新数据中训练出来的网络。@RobertDodier同意不明确和不保证的部分;我想说的是,考虑到问题的普遍性(甚至模糊性),简单地说“答案是否定的”是过于简单化了。毕竟,有人会说,正如(模糊地)这里所描述的,转移学习本身确实属于“再培训”的范畴。