如果我用10个神经元的输出层训练模型10次,与用100个神经元的输出层训练一次相比,隐藏层的权重是否会有不同

由于我的内存不足以一次性从头开始训练包含2000个类别的模型,因此我想知道是否可以使用200个神经元的输出层,先用这200个类别训练模型并保存权重,然后加载这些权重,再用另外200个不同的类别继续训练,直到用完所有2000个类别为止。

请注意,这个数据集是用来预训练模型的,以便之后用另一个更小的数据集重新训练模型。因此,我的目标是用这个大型数据集预训练模型,然后更换输出层,并用一个更小的数据集重新训练模型的最后几层。

这种训练方式能否在隐藏层上获得与一次性用2000个类别训练模型相同的权重?


回答:

不会。你的权重会有所不同。这种方法只在训练线性模型时有效,而对神经网络则无效。

我觉得问题出在输出数量从200增加到2000,这导致最终层的内存使用增加了10倍,但这本来就不应该是一个很大的数字。可能是你倒数第二层的隐藏层太大了?即使你前一层也有2000个神经元,这也只会产生一个2000×2000的矩阵,约400万个浮点数,仅占用16兆字节的内存。

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注