推荐模型的自适应细粒度正则化

作者: 四碗饭儿 | 来源:发表于2019-07-12 17:45 被阅读7次

    KDD'19 论文 LambdaOpt: Learn to Regularize Recommender Models in Finer Levels

    论文链接: https://arxiv.org/abs/1905.11596

    推荐系统经常涉及大量的类别型变量,例如用户/商品ID等。这样的类别型变量通常是高维、长尾的:头部用户的行为记录可能多达百万条,而尾部用户则仅有几十条记录。这样的数据特性使得我们在训练推荐模型时容易遭遇数据稀疏的问题,因而适度的模型正则化对于推荐系统来说十分重要。然而,正则化超参的调校并不是件省心的事儿。

    图1: 不同的正则化超参的选择导致推荐性能的极大变化

    虽然我们可以通过网格搜索来挑选验证集上表现最好的正则化超参,但这通常会消耗大量的计算资源,且可能并不会带来最好的结果——推荐模型不同部分需要不同的正则化强度,然而出于计算资源的考虑,网格搜索通常无法顾及更细粒度的正则化。

    在这篇文章中,针对推荐模型和推荐数据集的特性,我们提出了λOpt,一种新的自动正则化超参选择方案。在推荐模型训练过程中,λOpt能够自动地为模型添加细粒度的正则化。


    图2 细粒度正则化的MF-BPR为每个用户/商品/维度选择合适的正则化超参

    图3给出了λOpt的整体流程。


    图3 λOpt整体流程

    除了正常的模型更新之外,在每一步迭代中,λOpt基于验证集的表现调整正则化超参:1)在训练集上,λOpt预估继续使用当前\Lambda进行一步模型更新后的模型参数\bar {\Theta}_{t+1}。为了实现更便捷的自适应细粒度正则化, λOpt的设计选择以目前流行的自动求导框架为基础,将梯度拆分为未正则化与正则化两部分分别计算,并模拟模型优化器的更新来获得\bar {\Theta}_{t+1}。2)在验证集上,λOpt求解图4所示约束优化问题。考虑到方法的通用性,λOpt采用了一个单独的网络\Lambda-Net并结合KKT条件给出的限制来更新\Lambda

    图4 基于预估的模型参数,最小化验证集上的损失函数

    λOpt既可以帮助推荐系统工程师减轻调参负担,也可以实现细粒度的正则化,从而实现更好的推荐性能。

    我们在矩阵分解模型上展示了如何使用λOpt来进行细粒度超参的选择。在Amazon Food Review和MovieLens10M两个数据集上,实验表明,考虑用户+商品+维度的细粒度正则化后(MF-λOpt-DUI),λOpt可以显著提高推荐性能(图5)。


    图5 λOpt与其它方法在Amazon Food Review和MovieLens 10M上的性能表现

    考虑细粒度的正则化后(图6中的MF-λOpt-DUI),相比网格搜索得到的全局正则化(图6中的MF-λFix)必须在高频用户/商品和低频用户/商品之间做出一个妥协,λOpt可以同时照顾到不同频率的用户/商品。


    图6 Amazon Food Review数据集上,MF-λOpt-DUI和MF-λFix在不同频率组用户/商品上的性能表现

    这样的横跨不同频率用户/商品的性能提升是源自哪里呢?在检查λOpt为不同频率/商品选择的正则化超参(图7 )时,我们发现λOpt倾向于为高频用户/商品选择较大的正则化超参,且随着训练的进行,所选择的正则化超参会逐渐变大。这样一来,对于不同用户/商品,无论TA们的频率如何,λOpt都可以为TA们找到比较合适的λ轨迹,符合我们设计λOpt的初衷。


    图7 MF-λOpt-DUI为不同频率用户/商品生成的λ轨迹

    相关文章

      网友评论

        本文标题:推荐模型的自适应细粒度正则化

        本文链接:https://www.haomeiwen.com/subject/jqiekctx.html