加速的真正原因是什么,尽管 fasttext 论文中提到的管道使用了技术——负采样和 heirerchichal softmax;在早期的 word2vec 论文中。我无法清楚地理解实际差异,这是导致这种加速发生的原因吗?
问问题
846 次
2 回答
1
有那么大的加速吗?
我认为没有任何算法突破可以使 FastText 中的 word2vec 等效词向量训练显着更快。(如果您在 FastText 中使用 character-ngrams 选项,以允许基于与训练词共享的子字符串对未见词的向量进行训练后合成,我希望训练会更慢,因为每个词都需要训练它的子字符串向量也是如此。)
FastText 中的任何加速都可能只是因为代码经过良好调整,并受益于更多的实施经验。
于 2017-05-23T23:29:26.843 回答
0
为了在具有大量类别的数据集上高效,Fast text 使用分层分类器而不是平面结构,其中不同的类别组织在树中(想想二叉树而不是列表)。这将训练和测试文本分类器的时间复杂度从类数的线性降低到对数。FastText 还通过使用 Huffman 算法构建用于表示类别的树来利用类别不平衡的事实(某些类别比其他类别出现的频率更高)。因此,非常频繁类别的树中的深度小于不频繁类别的深度,从而提高了计算效率。
于 2020-04-22T16:14:36.433 回答