快速加速的真正原因

时间:2017-05-23 12:51:46

标签: word2vec fasttext

加速的真正原因是什么,即使快速文本中提到的管道使用了技术 - 负采样和heirerchichal softmax;在早期的word2vec论文中。我无法清楚地了解实际的差异,这会使这种加速发生吗?

2 个答案:

答案 0 :(得分:0)

有那么多的加速吗?

我认为没有任何算法突破可以使FastText中的word2vec等效字矢量训练明显加快。 (如果你在FastText中使用了character-ngrams选项,为了允许训练合成基于与训练单词共享的子串的看不见的单词的向量,我希望训练更慢,因为每个单词都需要训练它的子串向量也是如此。)

FastText中的任何加速可能只是因为代码经过良好调整,具有更多实施经验。

答案 1 :(得分:0)

为了对具有大量类别的数据集有效,Fast文本使用分层分类器而不是平面结构,在这种结构中,不同类别以树的形式组织(以二叉树代替列表)。相对于类的数量,这将训练和测试文本分类器的时间复杂度从线性降低到对数。 FastText还利用Huffman算法构建用于表示类别的树,从而使类不平衡(某些类比其他类更频繁地出现)。因此,非常频繁类别的树中的深度小于不频繁类别的树,从而进一步提高了计算效率。

参考链接:https://research.fb.com/blog/2016/08/fasttext/