FORM: Follow the Online Regularized Meta-Leader for Cold-Start Recommendation阅读笔记

动机

本文是2021年SIGIR上的一篇论文。传统的基于元学习的推荐系统通常是通过一个二重梯度下降来缓解冷启动问题,但是这种方法在在线场景中的推荐中存在以下问题:1.难以抵抗在线推荐的复杂波动。2.平等对待所有用户,无法根据用户历史交互记录的多样性对其进行评估。3.难以应对在线推荐的巨大吞吐量。对此,本文作者提出了FORM框架,通过正则化来缓解推荐系统中的波动同时产生稀疏的权重以减少计算量,并且根据用户交互记录提出了动态的学习率以更快地适应新用户。

下图是MeLU方法在在线推荐场景下的效果,纵坐标是HR(命中率,越高越好),训练曲线并不是平稳持续上升,而是在某些地方会下降,而且在训练效果下降的同时,HR的方差会显著增大(阴影部分是方差)。

算法

FORM算法流程如下,和普通的基于元学习的推荐系统相似。首先初始化模型参数,初始化用户缓存区,历史交互记录缓存区;根据时间顺序,把当前时间获取的用户交互记录放进历史交互记录的缓存区;从用户缓存区中采样一批用户,每个用户进行本地更新,之后再进行全局更新获取参数,之后用更新过后的参数作为新用户的初始化参数进行测试,直到收敛;记录最后一轮在新用户上的测试结果,并且将这些新用户加入用户缓存区。

FORM算法的子程序

Follow the Online Meta leader(FTOML)

我们希望我们的模型不仅能有效地预测当前的记录,而且能预测所有之前的记录。因此,目标函数为

因为该方程很难直接求解,所以需要一个近似函数去求解(下文会讲这个近似函数)。除此之外,为了保证用户的质量,我们加入一个阈值C,只有损失小于C的用户才可以参与全局更新(见FORM子程序第10行)。

Follow the regularized online meta leader(FTORL)

由于在线场景下用户到达随机且不均匀,这会导致不同轮的参数更新非常不稳定。除此之外,我们还希望参数具有稀疏性,这样可以提高计算效率。因此,我们提出了FTORL,在FTOML的基础上加入正则化

其中\(R_u\)
我们使用近似方程求解得(这里使FTRL和元学习的一个结合,参考FTRL公式推导)

其中




FTROL算法流程为

动态在线学习率SLR

对于那些收敛较好且有丰富交互历史记录的用户,FORM希望从其中学到更多的知识,而对于历史记录少且波动较大的用户,FORM希望从中学到尽可能少的知识。因此我们根据用户梯度的方差和交互物品序列的长度来进行调整学习率

其中k是交互物品的个数,\(\omega_1\)是梯度的方差,\(\omega_2\)是梯度的期望,

整体框架

实验结果

作者在三个公共数据集和腾讯在线广告数据集上做了实验,本文提出的模型相比与基线模型均取得更好的效果。


同时,在在线场景下,FORM的更新也更加稳定,波动更小。蓝紫色为FORM,橙色为MeLU。

总结

本文提出了一个在线场景下的元学习推荐系统,可以很好地解决在线场景中新用户的问题。其中核心的方法我认为主要有三点:1.在全局更新时,过滤掉损失较大(低质量)的用户。2.在损失函数中加入正则化,减小训练时的波动,同时使参数尽可能稀疏,提高计算效率。3.根据不同用户的交互数据和损失来设置不同的学习率。未来可以尝试将该框架扩展到更多的推荐模型中,例如图推荐、因子分解机等等。

posted @ 2022-05-31 14:59  South1999  阅读(146)  评论(0编辑  收藏  举报