导读:怎样刻画用户嵌入向量(user embedding)和物品嵌入向量(item embedding)之间的交互是在评分矩阵上面做协同滤波的关键问题。随着机器学习技术的发展,交互函数(interaction function)渐渐的由最初简单的矩阵内积,发展到现在复杂的结构化神经网络。本文介绍了第四范式研究组将自动化机器学习技术引入推荐系统中的一次尝试;特别地,将交互函数的设计建模成一个结构化神经网络问题,并使用神经网络搜索(neural architecture search)技术去设计数据依赖的交互函数。
01整体工作概述
交互函数(interaction funciton,IFC)是协同过滤(Collaboration Filtering,CF)的核心,它对性能非常敏感。下面简单地介绍一下我们在这方面取得的成果。
1. 我们将交互函数的设计形式化为一个自动化机器学习(Automated Machine Learning,AutoML)的问题。这是首次将自动化机器学习引入交互函数进行特征工程;
2. 构造了结构化的搜索空间,目的是使得机器学习算法能够快速自动化搜索,同时使得搜索的交互函数超过专家设计的交互函数带来的效果;
3. 提出了one-shot搜索算法,允许交互函数能够高效地进行随机梯度下降、点对点的进行AutoML搜索。
4. 不同算法能够搜索到的交互函数效果对比:目前我们形成的搜索交互函数算法(Searching Interaction Functions for Collaboration Filtering,SIF)存在两种形式:SIF、SIF(no-auto)。SIF、SIF(no-auto)比常见的协同过滤方法(如CP、Tucker、HOFM、Deep&Wide、NCF等方法)得到更好的效果:
SIF、SIF(no-auto)比AutoML算法(如经典的Random算法、Reinforce算法、Bayes算法)等效果好,大致快2个阶:
相关的论文成果:1. Q. Yao, J. Xu, W. Tu, Z. Zhu. Efficient Neural Architecture Search via Proximal Iterations. AAAI Conference on Artificial Intelligence (AAAI). 2020
https://arxiv.org/abs/1905.13577
https://github.com/xujinfan/NASP-codes
2. Q. Yao, X. Chen, J. Kwok, Y. Li, C.-J. Hsieh. Efficient Neural Interaction Function Search for Collaborative Filtering. WWW. 2020
https://arxiv.org/abs/1906.12091
https://github.com/quanmingyao/SIF
3. Q. Yao, M. Wang, Y.-F. Li, W.-W. Tu, Q. Yang, Y. Yu. Taking Human out of Learning Applications: A Survey on Automated Machine Learning. Arvix. 2018
https://arxiv.org/abs/1810.13306
接下来重点介绍本文的主要内容,包括三个部分:协同过滤及AutoML的相关背景知识、设计的算法及实验效果。
02背景知识
为什么可以用机器学习的方法搜索交互函数实现协同过滤?进一步讲,AutoML目前用于什么场景,为什么要将AutoML引入协同过滤中?这就需要我们了解协同过滤及AutoML的相关背景知识。
1. 协同过滤
1.1 协同过滤的基本知识
抽丝剥茧,我们回到最原始的问题,因为面对的基本问题可以给我们指导方向。
- 数据:评分矩阵,许多位置的元素是未知的。
- 任务:预测未知位置用户可能给予的得分。
- 评价方式:用最简单的estimated ratings,看预测的值和正确的方差。
简单地说就是:已知的值是User已经交互过的 item,如何基于这些已知值填充矩阵剩下的未知值,也就是去预测User没有交互过的 item是我们需要解决的问题。对于实际环境还会有其他影响因素,所以:
- 在此将CF当做一个回归任务;
- 不考虑隐式反馈行为数据;
- 不考虑user/item等辅助信息。
1.2 协同过滤的低秩矩阵