Word Embedding 稳定性研究

回眸只為那壹抹淺笑 提交于 2020-10-28 17:30:23

https://zhuanlan.zhihu.com/p/113339927


我们在production的系统里面会遇到一个问题,模型如何处理新进来的数据。重新训练的话下游的prediction可能会非常不一样,但是我们不知道到底怎么不一样。之前在MLSys 2020 看到了这个关于稳定心的文章,所以跟大家分享一下。这个paper尝试总结retraining对embedding的影响到底有多大,原文在这里

https://proceedings.mlsys.org/static/paper_files/mlsys/2020/104-Paper.pdfproceedings.mlsys.org

既然我们要讨论稳定性,我们得先给一个稳定性的定义

这个定义的逻辑本身是根据下游的task来定义上游够不够稳定,如果完全稳定的话下游的模型就不用retrain了。这里文章讲用zero one可能是因为讨论的是NLP的问题,假设是ctr的话这种zero one loss就不合理。

对于word embedding的算法,文中用了三种

  • Matrix Completion
  • GloVE
  • word2vec

quantization用的是uniform quantization,原文在这里

https://arxiv.org/pdf/1909.01264.pdfarxiv.org

Embedding distance 的算法文中也用了几个来做比较

  • kNN,看邻居有没有变
  • semantic displacement, 看cosine distance的变化
  • Pairwise inner product loss, 我的理解就是所有embedding之间的距离在旧的数据跟新的数据上有没有变化
  • Eigenspace overlap score, 看SVD做完了之后旧的U跟新的U之间的距离

对于维度大小还有precision的变化,结果在这里

从上面两个图可以看到dimension越大,下游的task的差别越小。这里的precision指的是quantize的有多狠,可以看到quantize的越狠,下游的task差别越大。这个结果还挺好理解的,但是这个关系要如何从理论的角度出发去证明?文中给了一个叫eigenspace instability measure的定义。

在这个定义下,只要旧的eigenspace跟新的eigenspace一样,那么embedding的差别应该不大。这个定义的好处是在于可以证明如果下游的模型是linear regression的话,下游的mean square difference差别跟这个定义是一样的。这个算法的好处是可以让我们下面同时根据embedding维度还有precision去优化下游的影响。我们把这个metrics跟下游的prediction相比算一个Spearman correlation,看到底哪个metrics比较好,结果如下

可以看到kNN还有eigenspace stability都可以很好的预测出来下游模型的稳定性。

后面的结论大同小异所以我就讲到这里了。文章干货不多但是过程跟结论简单,所以我还是想跟大家分享一下。有兴趣的可以留言交流。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!