合并Word2Vec中的预训练模型?

pbu*_*pbu 7 machine-learning word2vec

我已经下载了1000亿字谷歌新闻预训练矢量文件.最重要的是,我也在训练自己的3gb数据,生成另一个预训练的矢量文件.两者都有300个特征尺寸和超过1GB的尺寸.

我如何合并这两个巨大的预训练载体?或者我如何训练新模型并在另一个模型之上更新矢量?我看到基于C的word2vec不支持批量训练.

我希望从这两个模型中计算出类比.我相信从这两个来源学到的载体将产生相当好的结果.

goj*_*omo 12

合并单独培训课程的最终结果没有直接的方法.

即使对于完全相同的数据,从初始种子或线程调度抖动的轻微随机化将导致不同的结束状态,使得向量仅在同一会话内完全可比较.

这是因为每个会话都找到了一个有用的向量配置......但是有许多同样有用的配置,而不是一个最好的配置.

例如,无论你达到的最终状态是多少旋转/反射都可以在训练预测任务中完全一样好,或者在其他任务(如类比解决)上表现得非常好.但是大多数这些可能的替代方案都没有可以混合匹配的坐标,以便相互进行有用的比较.

使用先前训练运行的数据预加载模型可能会在对新数据进行更多培训后改善结果,但我不知道对此可能性进行任何严格测试.效果可能取决于您的具体目标,参数选择,新旧数据的相似程度,或者代表使用矢量的最终数据.

例如,如果Google新闻语料库与您自己的训练数据不同,或者您将使用单词向量来理解文本,则将其作为起点可能会减慢或偏向您的训练.另一方面,如果你对新数据进行足够长时间的训练,最终预装值的任何影响都可能被稀释到虚无.(如果您真的想要一个'混合'结果,您可能需要同时使用交错目标训练新数据,以便将向量推回到先前数据集值.)

如何结合独立会议的结果可能会成为一个很好的研究项目.也许word2vec语言翻译项目中使用的方法 - 学习词汇空间之间的投影 - 也可以在不同运行的不同坐标之间"转换".也许锁定一些向量,或者"预测新文本"和"保持接近旧向量"的双重目标的训练将给出有意义的改进的组合结果.