
摘要
基于嵌入(embedding)的模型在过去十余年中一直是协同过滤领域的主流方法。传统上,通常采用点积(dot product)或其高阶扩展形式来组合两个或多个嵌入向量,例如在矩阵分解(matrix factorization)方法中广泛应用。近年来,有研究提出用可学习的相似度度量替代点积,例如通过多层感知机(multilayer perceptron, MLP)来实现。这一方法通常被称为神经协同过滤(neural collaborative filtering, NCF)。在本研究中,我们重新审视了推动MLP学习相似度方法流行起来的NCF论文中的实验设置。首先,我们表明,在合理选择超参数的前提下,简单的点积方法在性能上显著优于所提出的可学习相似度机制。其次,尽管从理论上讲,MLP能够逼近任意函数,但我们发现,让MLP学习一个点积函数实际上极具挑战性,且难以有效收敛。最后,我们讨论了在实际应用中基于MLP的相似度计算所面临的一系列问题,结果表明,MLP在生产环境中的物品推荐任务中计算开销过大,难以高效部署;相比之下,点积运算可与高效的检索算法(如近似最近邻搜索,ANN)无缝结合,具备显著的工程优势。综上所述,我们建议在使用MLP作为嵌入组合器时需格外谨慎,而点积可能仍是嵌入组合的更优默认选择。