Top-K Off-Policy Correction for a REINFORCE Recommender System
创新点
具体方法
1. 解决on-policy与off-policy中数据有偏的问题
采用 importance sampling来对 π \piπ 进行加权
得到off-policy的gradient estimator后:
虽然偏差没有了,但是方差很大,为了减少方差,只考虑0-t时刻的,再做一阶近似:
最终得到一个有偏但是方差更小的estimator:
2. Parametrising the policy ??
利用一个rnn网络来建模状态变化:

根据从behavior policy β \betaβ观测得到的trajctory ,根据rnn网络生成用户状态,得到π ( a ∣ s ) \pi(a|s)π(a∣s),进而计算policy gradient来更新policy.
3. Estimating the behavior policy ?
off-policy 策略校正的一个困难是日和获得行为策略β \betaβ?
对于收集的每个状态-动作对 (?,?),使用另一个 softmax 的混合policy 来估计选择该动作的概率?^?′(?|?)。 如图 1 所示,从主策略重用 RNN 模型生成的用户状态?,并使用另一个 softmax 层对混合策略进行建模。 为了防止行为干扰主策略的用户状态,阻止它的梯度回流到 RNN。
尽管π ( a ∣ s ) \pi(a|s)π(a∣s)与β \betaβ共享了大量的参数,但是他们主要有两个区别:
- main policyπ ( a ∣ s ) \pi(a|s)π(a∣s) 会使用long-term reward进行训练,而 behavior policy 只基于 state-action pairs进行训练;
- main policy head ?? is trained using only items on the trajectory with non-zero reward 3, the behavior policy ??′ is trained using all of the items on the trajectory to avoid introducing bias in the ? estimate.
4. TOP-K
每次选择K个action

α θ ( a ∣ s ) = 1 − ( 1 − π θ ( a ∣ s ) ) K \alpha_{\theta}(a|s) = 1- (1-\pi_{\theta}(a|s))^Kαθ(a∣s)=1−(1−πθ(a∣s))K
梯度更新可以被简化为:
通过替代π \piπ为α \alphaα:
Top-K policy相比原先的policy增加了一项:
该方法具有如下性质:

起到的作用就是:当期望的item在 softmax 策略?? (·|?) 中的质量较小时,top-? 校正比标准校正更积极地推高其可能性。 一旦 softmax 策略?? (·|?) 对期望的item 施加了合理的质量(以确保它可能出现在顶部-?),然后校正会将梯度归零并且不再试图推高其可能性 . 这反过来允许其他可能感兴趣的item 在 softmax 策略中占据一些分量。
5. 降低方差
- Weight Capping
- Normalized Importance Sampling (NIS)
- TRPO:加入一个正则化项
相关方法
参考
- https://zhuanlan.zhihu.com/p/445564398