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

因果推断推荐系统工具箱 - CauSeR(一)

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

文章名称

【CIKM-2021】【CS Research, New Delhi, India】CauSeR: Causal Session-based Recommendations for Handling Popularity Bias

核心要点

文章旨在解决Session-Based推荐场景下Popularity带来的Bias对长尾物品推荐的影响。流行物品的过渡曝光影响了长尾物品的曝光,并且这种偏差会在模型训练过程中不断被放大。作者认为这种影响在1)数据收集;2)魔性训练两个阶段都会有影响。数据收集时的偏差源于Popularity带来的Conformity Bias,而模型训练时的偏差来源于样本不平衡导致的偏差(可以理解为传统的Popularity Bias)。不同于现有方法,作者考虑联合解决两种偏差。

方法细节

问题引入

如上所述,流行物品的过渡曝光造成了SRS(session-based RS)模型在学习预测时(分类时)面对的训练样本是不平衡的,标签呈现长尾分布,因而会影响模型的性能。并且,这种偏差在新模型的训练过程中会被逐渐放大,放大偏差的影响主要源于两个方面,

  • 数据收集时候积累的Conformity Bias,一般是指用户与物品交互时有从众心理(可能是线下发生的);
  • 模型训练阶段积累的Popularity Bias,一般是指模型见到的样本是不平衡的,进一步呈现马太效应,导致模型性能变差。

作者现有方法更多解决的是数据收集阶段的偏差,而对训练阶段的偏差处理较少,尤其是在SRS领域。

具体做法

Formulation

首先,形式化定义一下SRS问题,

  • 用户集合为\mathcal{U} = \{u_1, u_2, ..., u_{N}\},物品集合为\mathcal{I} = \{t_1, t_2, ..., t_{M}\}
  • 所有用户-物品交互的session可以记作S。例如,表示用户点击物品的行为序列。s = (i_{s, 1}, ..., i_{s, l})表示其中的一个session。
  • SRS的目的是基于session s的前l个行为序列,预测第l+1个交互的物品i_{s, l+1}。这个预测结果用多分类得分\hat{\textbf{y}}_{s, l+1}表示,而得分较高的前k个物品,被作为top-k推荐结果返回。

作者构建的,SRS的数据生成过程和模型训练过程的因果图,如下所示。

Causal Graphs

数据生成阶段S表示用户在的session中的兴趣,I表示物品的特征(包含该物品的流行度特征),R表示物品与当前session中用户兴趣的相关程度。Y是用户是否点击了该物品的outcome。该阶段,物品的基础特性会影响R,进而影响Y。同时,物品的流行程度也会由于Conformity Bias(流行的物品用户更倾向点击,原因是因为从众)直接影响YI同时具有DE(Direct Effect)和IDE(InDirect Effect)两部分,在这样的数据上训练会和我们想得到的”I只通过R造成的effect“出现偏差。

模型训练阶段S表示session中的embedding,I表示物品的embedding(个人认为这里是可以不包含流行度特征的),M是momentum of SGD optimizer(SGD的动量),DS在头部物品方向上的投影。Y是用户是否点击了该物品的outcome。[18]证明了,SGD的动量会让模型偏向于流行度高的物品(这里有一点疑惑,应该说的是所有SGD方法都会有这个问题。简单的理解,也许是样本不均衡,导致优化器有偏)。

本节介绍了CauSeR模型解决的问题背景和形式化,下节继续介绍模型的训练和预测。

心得体会

Data-Graneration Stage

个人认为,作者在这个阶段是把I当做treatment,此时Conformity Bias,造成treatment对outcome的影响,分成了DE(Direct Effect)和IDE(InDirect Effect)两部分。因此,如果在这样的数据上训练,会高估流行物品(因相关性带来的)Effect。

那么问题来了,如果我的effect只是为了点击,有啥问题么?答案是,没有(毕竟,管他是什么物品,只要点了就好)。但是,我们的目标是提高相关性带来的点击,进而实现有效的推荐(把相关的物品推荐给具有相应兴趣的人)。这样做的原因,有两个,1)推荐系统的目标是解决信息爆炸,挖掘个性化兴趣,这个初心不能变(而不是纯做流行物品,人云亦云,即便用户容易这样,但是当他们反应过来自己真正的需求时,还是会觉得从众不是他们真正想要的,不然还需要啥个性化呢?);2)一旦用户明白过来自己想要的,从众的答案(即便他过去从众了)他们是不会进一步转化的,带不来收益(靠热度影响,不在咱们讨论的范畴)。并且,这种从众的心理,单个用户是随机产生的,决定不从众了,就要推荐系统给个性化的结果。可惜的是,模型没有这么快转身,因为模型是统计模型,个体不从众了,可是统计数据还是从众的,不断训练还会恶性循环放大这种从众,模型就永远给不出不从众的推荐了。

Traning Stage

作者提到MSY的effect的confounder,那么此时到底谁是treatment?

个人认为还是I是treatment,因为毕竟推荐改变的是物品,而不是改变用户的session。那么,为什么会有S有confounder就出现偏差的问题?原因可能是,S其实是个条件,S \rightarrow Y \leftarrow I是一个collider结构。训练阶段Y是已知的,因此S,I是相关影响的(具有相关性),因此IY的影响被SY的影响左右,自然也会导致模型估计的IY的影响出现偏差?

推荐时候,我们是看着S的变化,来推I的。所以,在预测时,其实暗含了,我们期望Y = 1,这个条件,仍然是collider的场景。

此外,是否可以把S, I同时当做treatment?个人觉得好像不太合理。

相关文章

网友评论

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

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