美文网首页因果推断推荐工具箱
因果推断推荐系统工具箱 - DICE(二)

因果推断推荐系统工具箱 - DICE(二)

作者: processor4d | 来源:发表于2021-12-11 22:34 被阅读0次

    文章名称

    【www-2021】Disentangling User Interest and Conformity for Recommendation with Causal Embedding

    核心要点

    上一节描述了作者如何对兴趣和流行度倾向进行拆分,并通过SCM进行建模。这一节讲解,如何利用特定的因果数据学习模型参数,并且利用多任务学习和课程学习稳定学习过程。

    方法细节

    问题引入

    模型建模完成后,就需要对模型进行学习(机器学习三要素,模型、优化目标、优化方法 :P)。作者提出了如下图子图b所示的优化目标,其中包括4个loss,需要利用多任务学习进行优化,但是除了点击反馈,我们没有其他数据,如何优化discrepency loss,interest loss以及conformity loss呢?

    ![learning process] image.png

    具体做法

    从如下图子图a所示的因果图上可以看出,用户的点击反馈符合因果图中的collider结构。在不控制(没有观测)点击反馈随机变量Y_{u, i}的时候,兴趣随机变量(embedding u^{(int)})和流行度倾向随机变量(embedding u^{(con)})是相互独立的。一旦观测到Y_{u, i}时,两者将不再独立。例如,物品的流行程度和用户对这个物品你的偏好程度(更合理的应该是说,物品的特质,比如颜色什么的,和它的流行程度没有固定的相关性)应该是独立的。观测到用户点击了某个物品,那么这个物品要么被用户喜欢,要么相对比较流行(因为我们只关心这两个因素,当然也可能是其他因素影响的,可以拿同样的框架来建模),物品即不被用户喜欢也不太流行的可能性比较低(从概率上说比较严谨一点)。这体现了对撞结构(collider)的特性,作者利用这个特性,来构造数据集。

    causal graph

    利用上节所说的用户和物品的兴趣(特质)embedding和用户与物品的流行度倾向embedding,分别构建两个评分矩阵M^C, M^I,则可以依据如下讨论获得几组不等式关系。

    • 物品a比物品b的流行度高,并且用户点击了a物品,没有点击b物品。

      这种情况我们不知道用户是否更偏好a,但是我们可以知道1)a物品的流行度倾向得分应该高于b物品,M^C_{u, a} > M^C_{u, b};2)a物品的整体的反馈预测得分应该高于b物品,M^C_{u, a} + M^I_{u, a} > M^C_{u, b} + M^I_{u, b}

    • 物品c比物品d的流行度低,并且用户点击了c物品,没有点击d物品。

      这种情况我们可以知道1)用户一定更喜欢c,因为即便它不流行,用户仍然点击了它,M^I_{u, c} > M^I_{u, d};2)a物品的流行度倾向得分应该低于b物品,M^C_{u, c} < M^C_{u, d};3)c物品的整体的反馈预测得分应该高于d物品,M^C_{u, c} + M^I_{u, d} > M^C_{u, d} + M^I_{u, d}

    遵循以上两种情况,可以构建两个数据集O_1, O_2分别表示1)负反馈的产品比正反馈的产品流行度;2)负反馈的产品比正反馈的产品流行度(这两个数据集都从原始观测数据集O^click中构造而来)。

    通过构造2个数据集和2组(5个)不等式,我们可以用来训练3个(预测)得分矩阵,M^{click}, M^I, M^C,即3个损失(点击率预估损失,物品偏好预估损失和用户对物品的流行度倾向估计损失)

    除此之外,作者构造了discrepancy loss,用来确保两种embedding(兴趣embedding和流行度倾向embedding)互相解耦(不相似)。作者尝试了三种方式实现discrepancy,L1-inv, L2-inv, dCor,属于比较常规的提升discrepancy的方法,详情参见[1,2]。

    由于是不等式,因此和估计评分与点击概率不同,需要利用pairwise的损失函数学习排序(保序性),作者利用BPR方法进行优化求解。训练样本为三元组(u, i, j),其中i, j分别对应正反馈和负反馈的物品id。并且,O_1, O_2i, j的流行度高低遵循相应的限制(例如,O_1i的流行度高于物品j的流行度,O_2同理)。

    各部分的BPR损失如下图所示,依次是流行度倾向性模型,兴趣模型,点击率预估。其中,点击率预估的损失中,拼接了两种embedding(符号|| )。

    conformity loss interest loss click loss

    整体的损失函数如下图所示,其中\alpha, \beta为超参,由于点击率预估是主要任务,所以作者没有对这个损失进行参数调节(始终保持参数是1)。

    total loss

    最后,在整个模型参数的学习过程中,作者遵循了课程学习的思路,由简单到困难收集样本,并且动态调整附加任务的权重。

    • 选取与正样本具有相似流行度的负样本,并逐渐拉大流行度差距(假设正样本流行度为p,选取流行度范围在p + m_{up}, p - m_{down}以内的负样本,m_{up}, m_{down}随着epoch的增加逐渐加大)。作者称之为基于流行度的负采样。
    • 随着epoch的增加逐渐加大\alpha, \beta,提升附加任务的影响。

    心得体会

    对撞结构

    审视全文,其实建模上,作者主要利用的是传统的推荐模型的建模思想,embedding结合多任务学习,只不过考虑了两个embedding分开,并没有太多的因果的东西在里边(没有像IPS那种weighting什么的,虽然分开的embedding给出了对撞因果结构)。个人认为作者思路中的亮点是优化部分,体现了因果推理的思维。作者利用对撞结构的相关性,推导了多个不等式,解决了没有监督信息来分开学习embedding的难题,同时具有坚实的理论保证。

    关于对撞结构,文中举的例子可能更贴切一点。一个人长得好看和脾气好没有什么关系(相互独立,不要跟我聊什么相由心生:p)。但是两者共同决定一个人是否受欢迎,如果这个人被确认是受欢迎的,那么他要么长得好,要么脾气好(不考虑其他的)。这个例子,比流行程度和物品特质这个例子更好理解。

    等式到不等式

    作者利用对撞结构构造了2类数据,并且利用2类数据构造了4个损失。由此,从pointwise的估计转变为pairwise的估计。个人感觉是本文设计的巧妙之处,并且合理的利用了BPR。此外,pairwise的负采样也非常讲究,负采样的好坏直接影响了模型的性能。作者基于流行度提出的负采样方法,符合优化需求,思路值得借鉴。

    文章引用

    [1] Gábor J Székely and Maria L Rizzo. 2009. Brownian distance covariance. The annals of applied statistics (2009), 1236–1265.

    [2] Gábor J Székely, Maria L Rizzo, Nail K Bakirov, et al. 2007. Measuring and testing dependence by correlation of distances. The annals of statistics 35, 6 (2007), 2769–2794.

    相关文章

      网友评论

        本文标题:因果推断推荐系统工具箱 - DICE(二)

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