zl程序教程

您现在的位置是:首页 >  工具

当前栏目

SIGIR'22「谷歌」BISER:双边无偏学习对有偏隐式反馈进行纠偏

学习谷歌 进行 &# 22 x27 隐式 反馈
2023-06-13 09:12:48 时间

关注我们,一起学习~

title:Bilateral Self-unbiased Learning from Biased Implicit Feedback link:http://www.joonseok.net/papers/biser.pdf code:https://github.com/Jaewoong-Lee/sigir_2022_BISER from:SIGIR 2022

1. 导读

推荐系统中通常采用隐式反馈(如点击)来构建模型,而观察到的反馈代表用户的点击日志,所以观察到的点击与真实用户意图之间时存在差异的,并且观察到的反馈通常偏向于热门商品,从而高估了热门商品的实际相关性。尽管现有研究已经开发出使用逆倾向加权 (IPW) 或因果推理的无偏学习方法,但它们只专注于消除商品的流行度偏差。本文提出了一种新颖的无偏推荐学习模型BISER,以消除推荐模型引起的商品曝光偏差。BISER 由两个关键组成部分组成:

  • (i) 自逆倾向加权(SIPW),以逐渐减轻商品的偏差,而不会产生高计算成本;
  • (ii) 双边无偏学习 (BU) 以弥合模型预测中两个互补模型之间的差距,即基于用户和商品的自动编码器,减轻 SIPW 的高方差。

2. 懒人阅读

本文所提方法主要是针对曝光偏差问题,主要是针对IPW进行改进,提出SIPW。SIPW方法也很简单,直接采用当前轮次的预测作为逆倾向性分数IPS,然后针对IPW这类方法的高方差问题,提出采用双边无偏学习,方式分别从用户和商品的角度构建异构模型进行预测。

3. 背景

3.1 符号

令U表示m个用户的集合,I表示n个商品的集合,

y_{ui}

表示点击与否。用户是否点击受两方面因素影响:是否曝光和是否和用户兴趣相关,可用下式表示,其中

o_{ui}

是观察矩阵

O\in \{0,1\}^{m\times n}

的元素,表示用户u是否观察到了商品i,

r_{ui}

是相关矩阵

R\in \{0,1\}^{m\times n}

的元素,表示与观察无关的真实相关性。有偏的用户行为的交互矩阵Y被分解为观察和相关分量的元素乘法。

P(y_{ui}=1)=P(o_{ui}=1)\cdot P(r_{ui}=1)=\omega_{ui}\cdot \rho_{ui}

3.2 无偏推荐

本文的目标是从隐式反馈中学习一个无偏的排序函数,采用pointwise类型的损失函数,即如下所示的交叉熵损失函数,

\delta^+_{ui}=-\log(\hat{r}_{ui})
\mathcal{L}_{\text {biased }}(\hat{\mathbf{R}})=\frac{1}{|\mathcal{D}|} \sum_{(u, i) \in \mathcal{D}}\left(y_{u i} \delta_{u i}^{+}+\left(1-y_{u i}\right) \delta_{u i}^{-}\right)

与上述有偏的损失类似,理想的损失函数为下式,ρ表示的是用户真实兴趣意图。

\mathcal{L}_{\text {ideal}}(\hat{\mathbf{R}})=\frac{1}{|\mathcal{D}|} \sum_{(u, i) \in \mathcal{D}}\left(\rho_{u i} \delta_{u i}^{+}+\left(1-\rho_{u i}\right) \delta_{u i}^{-}\right)

常用的方法是逆倾向性加权IPW同时考虑点击和真实相关性,构建损失函数为下式,其中w是逆倾向性得分,表示用户观察到商品的概率,关键问题是如何根据观察到的反馈(例如点击)来估计倾向得分。

\mathcal{L}_{\text {unbiased}}(\hat{\mathbf{R}})=\frac{1}{|\mathcal{D}|} \sum_{(u, i) \in \mathcal{D}}\left(\frac{y_{u i}}{\omega_{ui}} \delta_{u i}^{+}+\left(1-\frac{y_{u i}}{\omega_{ui}}\right) \delta_{u i}^{-}\right)

4. 方法BISER

image.png

4.1 模型结构

4.1.1 SIPW

现有研究通过两种方式消除曝光偏差:(i)仅对影响用户点击行为的商品流行度建模,(ii)采用额外的模型考虑相关性和观察的有偏数据来估计曝光偏差,但是这种方式会增加训练成本。本文设计了一种新的偏差估计方法,即自逆倾向加权(SIPW)。首先,使用交互数据引入了一个理想的无偏推荐模型。给定用户u的商品推荐列表

\pi_u

,用户与商品i交互的概率为下式

P^{*}\left(y_{u i}=1 \mid \pi_{u}\right)=P^{*}\left(o_{u i}=1 \mid \pi_{u}\right) \cdot P\left(r_{u i}=1 \mid \pi_{u}\right)

通过有偏推荐模型估计用户u与商品i交互的概率为下式,

\hat{P}\left(y_{u i}=1 \mid \pi_{u}\right)=\hat{P}\left(o_{u i}=1 \mid \pi_{u}\right) \cdot P\left(r_{u i}=1 \mid \pi_{u}\right)

两者的区别在于理想情况下观察到的

P^*()

和有偏情况下观察到的数据

\hat{P}()

。通过将它们结合起来,将IPS估计为交互的两个概率分布之间的比值,公式如下,

\frac{P^{*}\left(y_{u i}=1 \mid \pi_{u}\right)}{\hat{P}\left(y_{u i}=1 \mid \pi_{u}\right)}=\frac{P^{*}\left(o_{u i}=1 \mid \pi_{u}\right) \cdot P\left(r_{u i}=1 \mid \pi_{u}\right)}{\hat{P}\left(o_{u i}=1 \mid \pi_{u}\right) \cdot P\left(r_{u i}=1 \mid \pi_{u}\right)}

假设

P^*(o_{ui}=1|\pi_u)

服从均匀分布,则

\pi_u

中每个商品的概率被简单地视为一个常数。因此,将倾向得分

\hat{\omega}_{ui}

估计为下式,

\frac{P^{*}\left(y_{u i}=1 \mid \pi_{u}\right)}{\hat{P}\left(y_{u i}=1 \mid \pi_{u}\right)} \propto \frac{1}{\hat{P}\left(o_{u i}=1 \mid \pi_{u}\right)}=\frac{1}{\hat{\omega}_{u i}} .

剩下的问题是如何估计用户u观察商品i的概率

\hat{\omega}_{ui}

。受到在模型训练期间利用模型预测知识的自蒸馏的启发,作者将模型预测重用为

\hat{\omega}_{ui}

,此处从直觉上也是容易理解的,本身我们是在观察到的有偏数据上进行模型训练,即这里的π,原始模型所预测的其实是在观察数据下是否会发生交互

P(o_{ui}|\pi_u)

因此,构建如下无偏损失函数,其中

\theta^{(k)}

是第k轮迭代的模型参数

\begin{array}{l} \mathcal{L}_{S I P W}\left(\hat{\mathbf{R}} ; \theta^{(k)}\right)= \\ \quad \frac{1}{|\mathcal{D}|} \sum_{(u, i) \in \mathcal{D}}\left(\frac{y_{u i}}{\hat{\omega}_{u i \mid \theta^{(k)}}} \delta_{u i}^{+}+\left(1-\frac{y_{u i}}{\hat{\omega}_{u i \mid \theta^{(k)}}}\right) \delta_{u i}^{-}\right) \end{array}

4.1.2 双边无偏学习

IPW在理论上是可行的,但由于实践中的高方差问题经常导致性能不理想。现有方法是利用多模型训练,将一个模型的预测作为其他模型的伪标签,但多个模型在训练时会表现出类似的趋势。本文使用了两个具有不同特征的推荐模型。分别是基于用户和基于商品的推荐模型,以此改进传统推荐模型的预测性能。由于它们倾向于捕捉用户和商品模式的不同方面,采用异构模型有助于缓解估计重叠问题。

利用基于用户和商品的自编码器从复杂的用户商品交互中发现独特的互补模式。这两个模型应该收敛到相同的值以正确估计真实相关性。

P\left(r_{u i}=1 \mid y_{u i}=1, \theta_{U}\right)=P\left(r_{u i}=1 \mid y_{u i}=1, \theta_{I}\right)

其中

\theta_U

\theta_I

分别是基于用户和基于商品的自编码器的参数。最后,使用两个模型的预测值构建双边无偏学习的损失函数,公式如下,其中r为两个模型的预测值,

\mathcal{L}_{B U}\left(\hat{\mathbf{R}} ; \theta_{U}^{(k)}, \theta_{I}^{(k)}\right)=\frac{1}{|\tilde{\mathcal{D}}|} \sum_{(u, i) \in \tilde{\mathcal{D}}}\left(\hat{r}_{u i \mid \theta_{U}^{(k)}}-\hat{r}_{u i \mid \theta_{I}^{(k)}}\right)^{2}

4.2 训练和推理

给定基于用户和商品的自动编码器,每个模型都使用 SIPW 从头开始训练。在每次迭代中,通过最小化

L_{SIPW}

损失来更新模型参数。然后考虑损失函数以最小化两个模型预测之间的差异。基于用户的模型和基于商品的模型分别以对方的预测作为伪标签进行训练。因此,可以通过使用两个模型预测来减少 SIPW 的高方差问题。基于

L_{SIPW}

L_{BU}

可得在第k轮训练时的最终损失函数如下式,其中λ为超参数

\begin{aligned} \mathcal{L}_{U A E}\left(\hat{\mathbf{R}} ; \theta_{U}^{(k)}\right) &=\mathcal{L}_{S I P W}\left(\hat{\mathbf{R}} ; \theta_{U}^{(k)}\right)+\lambda_{U} \mathcal{L}_{B U}\left(\hat{\mathbf{R}} ; \theta_{U}^{(k)}, \theta_{I}^{(k)}\right) \\ \mathcal{L}_{I A E}\left(\hat{\mathbf{R}} ; \theta_{I}^{(k)}\right) &=\mathcal{L}_{S I P W}\left(\hat{\mathbf{R}} ; \theta_{I}^{(k)}\right)+\lambda_{I} \mathcal{L}_{B U}\left(\hat{\mathbf{R}} ; \theta_{I}^{(k)}, \theta_{U}^{(k)}\right) \end{aligned}

模型训练完成后,两个模型的偏差就会从用户和商品的角度消除。通过从不同角度统一用户偏好可以改进模型预测。最后,使用两个模型的预测平均值作为最终评分如下,

\hat{r}_{u i}=\frac{\hat{r}_{u i \mid \theta_{U}}+\hat{r}_{u i \mid \theta_{I}}}{2}

伪代码如下所示,

5. 结果