词嵌入训练
Word embedding training
我有一个词嵌入语料库。使用这个语料库,我训练了我的词嵌入。然而,每当我训练我的词嵌入时,结果都大不相同(这个结果基于 K-Nearest Neighbor(KNN))。比如第一次训练时,'computer'最近邻词是'laptops','computerized','硬件'。但是,在第二次训练中,这个 knn 词是 'software', 'machine',...('laptops' 很低ranked!) - 所有训练独立进行20个epochs,超参数都一样。
我想训练我的词嵌入非常相似(例如,'laptops' 排名靠前)。我应该怎么做?我应该调整超参数(学习率、初始化等)吗?
你没有说你用的是什么word2vec软件,可能会改变相关因素。
word2vec 算法本质上使用随机性,在初始化和训练的几个方面(如负样本的选择,如果使用负采样,或非常频繁的词的随机下采样)。此外,如果您正在进行多线程训练,OS 线程调度中的本质随机抖动将改变训练示例的顺序,引入另一个随机源。因此,即使使用完全相同的参数和语料库,您也不必期望后续的 运行 会给出相同的结果。
不过,有了足够好的数据、合适的参数和适当的训练循环,相对邻居的结果应该与运行-到-[非常相似=42=]。如果不是,更多数据或更多迭代可能会有所帮助。
如果模型对于您的语料库而言过大(太多 dimensions/words),则很可能会出现截然不同的结果——因此容易出现过度拟合。也就是说,它通过从本质上记住数据的特性来为数据找到一个很好的配置,而没有获得任何泛化能力。如果这种过度拟合是可能的,那么通常会有很多同样好的这样的记忆——所以它们可能与 运行-to-tun 非常不同。同时,具有大量数据的适当大小的模型将取而代之的是捕捉真正的普遍性,并且 those 从 运行 到 运行 会更加一致,尽管任何随机化。
获取更多数据、使用更小的向量、使用更多的训练遍数或将单词出现的最小次数增加到 retain/train 个单词都可能有所帮助。 (非常不常见的词得不到高质量的向量,所以最终只会干扰其他词的质量,然后随机侵入最相似的列表。)
要知道还有什么问题,您应该在您的问题中澄清以下内容:
- 使用的软件
- modes/metaparameters 使用
- 语料库大小,示例数量,单词平均示例大小和唯一单词数(在原始语料库中,以及应用任何最小数量之后)
- 预处理方法
- 您用于训练的代码(如果您自己管理多个训练阶段)
我有一个词嵌入语料库。使用这个语料库,我训练了我的词嵌入。然而,每当我训练我的词嵌入时,结果都大不相同(这个结果基于 K-Nearest Neighbor(KNN))。比如第一次训练时,'computer'最近邻词是'laptops','computerized','硬件'。但是,在第二次训练中,这个 knn 词是 'software', 'machine',...('laptops' 很低ranked!) - 所有训练独立进行20个epochs,超参数都一样。
我想训练我的词嵌入非常相似(例如,'laptops' 排名靠前)。我应该怎么做?我应该调整超参数(学习率、初始化等)吗?
你没有说你用的是什么word2vec软件,可能会改变相关因素。
word2vec 算法本质上使用随机性,在初始化和训练的几个方面(如负样本的选择,如果使用负采样,或非常频繁的词的随机下采样)。此外,如果您正在进行多线程训练,OS 线程调度中的本质随机抖动将改变训练示例的顺序,引入另一个随机源。因此,即使使用完全相同的参数和语料库,您也不必期望后续的 运行 会给出相同的结果。
不过,有了足够好的数据、合适的参数和适当的训练循环,相对邻居的结果应该与运行-到-[非常相似=42=]。如果不是,更多数据或更多迭代可能会有所帮助。
如果模型对于您的语料库而言过大(太多 dimensions/words),则很可能会出现截然不同的结果——因此容易出现过度拟合。也就是说,它通过从本质上记住数据的特性来为数据找到一个很好的配置,而没有获得任何泛化能力。如果这种过度拟合是可能的,那么通常会有很多同样好的这样的记忆——所以它们可能与 运行-to-tun 非常不同。同时,具有大量数据的适当大小的模型将取而代之的是捕捉真正的普遍性,并且 those 从 运行 到 运行 会更加一致,尽管任何随机化。
获取更多数据、使用更小的向量、使用更多的训练遍数或将单词出现的最小次数增加到 retain/train 个单词都可能有所帮助。 (非常不常见的词得不到高质量的向量,所以最终只会干扰其他词的质量,然后随机侵入最相似的列表。)
要知道还有什么问题,您应该在您的问题中澄清以下内容:
- 使用的软件
- modes/metaparameters 使用
- 语料库大小,示例数量,单词平均示例大小和唯一单词数(在原始语料库中,以及应用任何最小数量之后)
- 预处理方法
- 您用于训练的代码(如果您自己管理多个训练阶段)