DEEP LEARNING WITH LOGGED BANDIT FEEDBACK 笔记

Another url:https://bulihanjie.github.io/2019/04/14/DEEP-LEARNING-WITH-LOGGED-BANDIT-FEEDBACK-笔记/#more

摘要

论文中提出BanditNet模型,能够利用bandit feedback数据,即实体标签服从某个分布的数据,能够有效地使用大量的数据训练已有的模型使之达到很好的效果。并且模型只需要较少的代价对模型重训练,能够达到全部数据的效果。论文中采用图像是别的数据验证模型效果,并不是传统意义上的有标签图像,其中图像的标签可能会发生变化。

参考资料

  • Joachims T, Swaminathan A, de Rijke M. Deep learning with logged bandit feedback[J]. 2018.
  • Swaminathan A, Joachims T. The self-normalized estimator for counterfactual learning[C]//advances in neural information processing systems. 2015: 3231-3239.

介绍

在推荐系统中,后台中的log数据通常能够反映系统的性能以及用户的浏览经历,如广告投放系统中包括广告投放数据和用户是否点击数据。但每一个数据是通过系统产生展示实体给用户,用户对实体的行为反馈产生了数据。其中系统的推荐行为只是所有可能行为中的子集,所以得到用户反馈是由推荐系统所直接影响,这叫做bandit feedback。由和传统的有监督学习不同的在于我们不知道所有行为的真实反馈,即用户在其它实体上的行为反馈。论文中的目的是在bandit feedback数据上进行训练,即使不是在全部数据上进行训练,也能够得到很好的效果。

假设输入 x ∈ X x \in \mathcal{X} xX,服从一个未知的分布 Pr ⁡ ( X ) \operatorname{Pr}(\mathcal{X}) Pr(X)。输出假设为 y ∈ Y y \in \mathcal{Y} yY,其中 y y y服从条件概率分布 π w ( Y ∣ x ) \pi_{w}(Y | x) πw(Yx)。输入和动作之间也会有一个得分反馈 δ ( x , y ) \delta(x, y) δ(x,y)。通俗来讲,在推荐系统中, x x x可以表示为用户和浏览网页, y y y表示展示的广告, δ ( x , y ) \delta(x, y) δ(x,y)当用户点击广告时为1否则为0, π w ( Y ∣ x ) \pi_{w}(Y | x) πw(Yx)即推荐系统基于用户和网页信息计算得出的广告推荐的概率分布。简单的,每个动作 y y y的推荐概率可以用softmax的形式表达:
π w ( y ∣ x ) = exp ⁡ ( f w ( x , y ) ) ∑ y ′ ∈ Y exp ⁡ ( f w ( x , y ′ ) ) \pi_{w}(y | x)=\frac{\exp \left(f_{w}(x, y)\right)}{\sum_{y^{\prime} \in \mathcal{Y}} \exp \left(f_{w}\left(x, y^{\prime}\right)\right)} πw(yx)=yYexp(fw(x,y))exp(fw(x,y))
因此一般情况下,系统的学习目标在于找到最好的策略 π w \pi_{w} πw最大化收益,即最大化点击率等:
R ( π w ) = E x ∼ Pr ⁡ ( X ) E y ∼ π w ( Y ∣ x ) [ δ ( x , y ) ] R\left(\pi_{w}\right)=\underset{x \sim \operatorname{Pr}(X)}{\mathbb{E}}\underset{ y \sim \pi_{w}(Y | x)}{\mathbb{E}}[\delta(x, y)] R(πw)=xPr(X)Eyπw(Yx)E[δ(x,y)]
但训练的数据都是经过原先的推荐策略 π 0 \pi_{0} π0采样得到,即 y ∼ π 0 y \sim\pi_{0} yπ0,由于 π w ≠ π 0 \pi_{w} \neq \pi_{0} πw̸=π0,不能直接代入数据优化 R ( π w ) R\left(\pi_{w}\right) R(πw)
重新修正 y y y的分布,可以得到以下的目标期望:
R ( π w ) = E x ∼ Pr ⁡ ( X ) E y ∼ π w ( Y ∣ x ) [ δ ( x , y ) ] = E x ∼ Pr ⁡ ( X ) E y ∼ π 0 ( Y ∣ x ) [ δ ( x , y ) π w ( y ∣ x ) π 0 ( y ∣ x ) ] R\left(\pi_{w}\right)=\underset{x \sim \operatorname{Pr}(X)}{\mathbb{E}}\underset{ y \sim \pi_{w}(Y | x)}{\mathbb{E}}[\delta(x, y)]=\underset{x \sim \operatorname{Pr}(X)}{\mathbb{E}}\underset{ y \sim \pi_{0}(Y | x)}{\mathbb{E}}\left[\delta(x, y)\frac{\pi_{w}(y | x)}{\pi_{0}(y | x)}\right] R(πw)=xPr(X)Eyπw(Yx)E[δ(x,y)]=xPr(X)Eyπ0(Yx)E[δ(x,y)π0(yx)πw(yx)]
通过历史推荐策略 π 0 \pi_{0} π0产生的数据,优化目标函数:
R ^ I P S ( π w ) = 1 n ∑ i = 1 n δ i π w ( y i ∣ x i ) π 0 ( y i ∣ x i ) \hat R_{I P S}\left(\pi_{w}\right)=\frac{1}{n} \sum_{i=1}^{n} \delta_{i} \frac{\pi_{w}\left(y_{i} | x_{i}\right)}{\pi_{0}\left(y_{i} | x_{i}\right)} R^IPS(πw)=n1i=1nδiπ0(yixi)πw(yixi)
但公式中存在着倾向性过拟合(propensity overfittin)的问题。在 R ( π w ) R\left(\pi_{w}\right) R(πw)中发生一个偏移,和得分反馈 δ ( x , y ) \delta(x, y) δ(x,y)发生偏移在期望计算中是结果是相同的,使得期望发生线性偏移。但事实上, R ^ I P S \hat R_{I P S} R^IPS的计算和期望的不一样:
c + min ⁡ w 1 n ∑ i = 1 n δ i π w ( y i ∣ x i ) π 0 ( y i ∣ x i ) ≠ min ⁡ w 1 n ∑ i = 1 n ( δ i + c ) π w ( y i ∣ x i ) π 0 ( y i ∣ x i ) c+\min_{w} \frac{1}{n} \sum_{i=1}^{n} \delta_{i} \frac{\pi_{w}\left(y_{i} | x_{i}\right)}{\pi_{0}\left(y_{i} | x_{i}\right)} \neq \min_{w} \frac{1}{n} \sum_{i=1}^{n}\left(\delta_{i}+c\right) \frac{\pi_{w}\left(y_{i} | x_{i}\right)}{\pi_{0}\left(y_{i} | x_{i}\right)} c+wminn1i=1nδiπ0(yixi)πw(yixi)̸=wminn1i=1n(δi+c)π0(yixi)πw(yixi)
算法优化的过程中更关注低概率的 π 0 ( y i ∣ x i ) \pi_{0}\left(y_{i} | x_{i}\right) π0(yixi)。所以优化目标会收到历史推荐策略的影响,而不仅仅是实际动作。
采用self-normalized IPS estimator的方式,可以将目标函数转化为:
R ^ S N I P S ( π w ) = 1 n ∑ i = 1 n δ i π w ( y i ∣ x i ) π 0 ( y i ∣ x i ) 1 n ∑ i = 1 n π w ( y i ∣ x i ) π 0 ( y i ∣ x i ) \hat R_{S N I P S}\left(\pi_{w}\right)=\frac{\frac{1}{n} \sum_{i=1}^{n} \delta_{i} \frac{\pi_{w}\left(y_{i} | x_{i}\right)}{\pi_{0}\left(y_{i} | x_{i}\right)}}{\frac{1}{n} \sum_{i=1}^{n} \frac{\pi_{w}\left(y_{i} | x_{i}\right)}{\pi_{0}\left(y_{i} | x_{i}\right)}} R^SNIPS(πw)=n1i=1nπ0(yixi)πw(yixi)n1i=1nδiπ0(yixi)πw(yixi)
这里相当于对已有的进行归一化权重,和之前的相比效果更精确。并且容易得知当发生偏移 δ i + c \delta_{i}+c δi+c时, R ^ S N I P S ( π w ) \hat R_{S N I P S}\left(\pi_{w}\right) R^SNIPS(πw)同样也会有偏移 c c c,因此目标函数和反馈之间是等变化的。
S : = 1 n ∑ i = 1 n π w ( y i ∣ x i ) π 0 ( y i ∣ x i ) S:=\quad \frac{1}{n} \sum_{i=1}^{n} \frac{\pi_{w}\left(y_{i} | x_{i}\right)}{\pi_{0}\left(y_{i} | x_{i}\right)} S:=n1i=1nπ0(yixi)πw(yixi),当数据样本趋向于无穷大时,容易得知 S S S会趋向 1 1 1
E [ S ] = 1 n ∑ i = 1 n ∫ π w ( y i ∣ x i ) π 0 ( y i ∣ x i ) π 0 ( y i ∣ x i ) Pr ⁡ ( x i ) d y i d x i = 1 n ∑ i = 1 n ∫ 1 Pr ⁡ ( x i ) d x i = 1 \mathbb{E}[S]=\frac{1}{n} \sum_{i=1}^{n} \int \frac{\pi_{w}\left(y_{i} | x_{i}\right)}{\pi_{0}\left(y_{i} | x_{i}\right)} \pi_{0}\left(y_{i} | x_{i}\right) \operatorname{Pr}\left(x_{i}\right) d y_{i} d x_{i}=\frac{1}{n} \sum_{i=1}^{n} \int 1 \operatorname{Pr}\left(x_{i}\right) d x_{i}=1 E[S]=n1i=1nπ0(yixi)πw(yixi)π0(yixi)Pr(xi)dyidxi=n1i=1n1Pr(xi)dxi=1
假设 S = 1 S=1 S=1代入,并且采用拉普拉斯乘子加入限制的条件:
L ( w , λ ) = 1 n ∑ i = 1 n δ i π w ( y i ∣ x i ) π 0 ( y i ∣ x i ) − λ [ 1 n ( ∑ i = 1 n π w ( y i ∣ x i ) π 0 ( y i ∣ x i ) ) − S j ] = 1 n ∑ i = 1 n ( δ i − λ ) π w ( y i ∣ x i ) π 0 ( y i ∣ x i ) + λ S j L(w, \lambda)=\frac{1}{n} \sum_{i=1}^{n} \frac{\delta_{i} \pi_{w}\left(y_{i} | x_{i}\right)}{\pi_{0}\left(y_{i} | x_{i}\right)}-\lambda\left[\frac{1}{n}\left(\sum_{i=1}^{n} \frac{\pi_{w}\left(y_{i} | x_{i}\right)}{\pi_{0}\left(y_{i} | x_{i}\right)}\right)-S_{j}\right]=\frac{1}{n} \sum_{i=1}^{n} \frac{\left(\delta_{i}-\lambda\right) \pi_{w}\left(y_{i} | x_{i}\right)}{\pi_{0}\left(y_{i} | x_{i}\right)}+\lambda S_{j} L(w,λ)=n1i=1nπ0(yixi)δiπw(yixi)λ[n1(i=1nπ0(yixi)πw(yixi))Sj]=n1i=1nπ0(yixi)(δiλ)πw(yixi)+λSj
如公式所示, S j S_j Sj是枚举的 1 n ∑ i = 1 n π w ( y i ∣ x i ) π 0 ( y i ∣ x i ) \quad \frac{1}{n} \sum_{i=1}^{n} \frac{\pi_{w}\left(y_{i} | x_{i}\right)}{\pi_{0}\left(y_{i} | x_{i}\right)} n1i=1nπ0(yixi)πw(yixi)大小,通过超参 λ \lambda λ控制权重。事实上由于 S S S趋向1,程序中的实习是设定 S j = 1 S_j=1 Sj=1,所以最后目标函数只是得分反馈减去超参 λ \lambda λ
实验结果中表明,利用bandit feedback的数据进行训练也能得到和全部数据一起训练的效果。
DEEP LEARNING WITH LOGGED BANDIT FEEDBACK 笔记_第1张图片

感想

这篇论文中,其实很多细节我都没有弄的很清楚。但是能够帮我去理解,推荐系统如何利用新的数据进行增量学习,有比较好的启发。

你可能感兴趣的:(文献阅读,推荐系统)