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

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