中文

一种用于计算词移距离的高效共享内存并行 Sinkhorn-Knopp 算法

机器学习 2021-03-24 v3 分布式、并行与集群计算 机器学习

摘要

词移距离(WMD)是一种通过最优地将源/查询文档的所有词移动到目标文档最相似词并计算代价来衡量两篇文本文档语义相异度的度量。计算两文档间 WMD 代价高昂,因其需求解复杂度为 O(V3log(V))O(V^3log(V)) 的优化问题,其中 VV 为文档中唯一词的数量。幸运的是,WMD 可表述为推土机距离(EMD)(亦称最优传输距离),已证明通过对优化问题加入熵惩罚可将算法复杂度降至 O(V2)O(V^2),且类似思路可用于高效计算 WMD。此外,通过一次性计算单篇查询文档对多篇目标文档的 WMD(例如判断给定推文是否与一天内其他推文相似),可实现高度并行计算。本文提出一种共享内存并行 Sinkhorn-Knopp 算法,采用 O(V2)O(V^2) 的 EMD 算法计算一篇文档对多篇其他文档的 WMD。我们通过算法变换将原有稠密计算密集型核改为稀疏计算核,在配备 96 核的英特尔\textregistered{} 四路 Cascade Lake 旗舰机上相对串行运行获得 67×67\times 加速。我们的并行算法比内部使用优化矩阵库调用的朴素并行 python 代码快逾 700×700\times

关键词

引用

@article{arxiv.2005.06727,
  title  = {An Efficient Shared-memory Parallel Sinkhorn-Knopp Algorithm to Compute the Word Mover's Distance},
  author = {Jesmin Jahan Tithi and Fabrizio Petrini},
  journal= {arXiv preprint arXiv:2005.06727},
  year   = {2021}
}

备注

10 pages, 1 page for reference, total 11 pages