gpt4 book ai didi

python - Wor2vec 微调

转载 作者:行者123 更新时间:2023-11-30 08:33:27 29 4
gpt4 key购买 nike

我需要微调我的 word2vec 模型。我有两个数据集,data1data2

到目前为止我所做的是:

model = gensim.models.Word2Vec(
data1,
size=size_v,
window=size_w,
min_count=min_c,
workers=work)
model.train(data1, total_examples=len(data1), epochs=epochs)

model.train(data2, total_examples=len(data2), epochs=epochs)

这是正确的吗?我需要将学习到的权重存储在某处吗?

我检查了this answerthis one但我无法理解它是如何完成的。

有人可以向我解释一下要遵循的步骤吗?

最佳答案

请注意,如果您已经在以下位置提供了 data1,则您不需要需要使用 data1 调用 train()模型实例化的时间。该模型将已经在提供的语料库上使用默认的 epoch 数(5 ) 如果您没有在实例化中指定。

“微调”并不是一个简单的过程,需要确保改进模型的可靠步骤。这是非常容易出错的。

特别是,如果模型尚不知道 data2 中的单词,它们将被忽略。 (可以选择使用参数 update=True 调用 build_vocab() 来扩展已知词汇,但这些单词并不真正与早期单词完全平等。 )

如果 data2 包含一些单词,但不包含其他单词,则只有 data2 中的单词会通过额外训练进行更新 - 这实际上可能会拉出这些单词 与仅出现在 data1 中的其他单词具有可比较的对齐方式。 (只有在交错的共享训练类(class)中一起训练的单词才会经历“推拉”,最终使它们处于有用的排列中。)

增量训练最安全的做法是将data1data2混在一起,并对所有数据进行持续训练:以便所有单词都得到新的交错训练一起。

关于python - Wor2vec 微调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56166089/

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