L6.09.1exposure bias设计研究
系统只能观察被展示过的内容,未被展示的项永远得不到正反馈
别名: 曝光偏差 · 未展示无正例 · MNAR in recsys
概念解释
点击、完播、加购,都只能发生在已经出现在屏幕上的条目上。没被排出来的条目,再合适也不会留下正例。曝光偏差(exposure bias)指:观测到的正反馈以展示政策为条件,未展示项在数据里与「用户不喜欢」无法区分——不是没被喜欢,是没被允许表现。
展示–行为回路说的是两边互相写成对方。这里要钉的是标签的缺失结构:正例集合被展示集 recency-bound 了。
机制
推荐日志是 MNAR 的:缺失不是随机的,而是由上一轮排序决定的。学习算法若把未点击当负,等于把「没看见」和「看见了不喜欢」混成一类。下一次排序更加不敢把未展示项放出来,正例通道继续只对已展示开放。未展示项于是在数据里死亡,不是在偏好里死亡。
位置放大了这一点:同一次展示里,后面的条目被看见的概率也低,正反馈再向头部集中。所以「只有正信号」还不够描述问题——即便有跳过,跳过仍以曝光为条件。
怎么研究
方法来自曝光偏差与缺失非随机:用随机或均匀探测槽收集一块与政策无关的观测,对比政策日志。自变量:探测比例、未点击是当负还是当缺失。因变量:未展示项进入后续曝光的机会、用探测数据估的相关度与政策数据估的差。
离线回放看不见未展示项的真实标签。要报的是:在探测槽里受欢迎、在政策日志里却像负例的条目比例。那就是曝光偏差的体积。线上评估和探索成本是后续问题。
边界
用户主动搜索或打开外链时,展示由查询决定,曝光偏差转到检索侧,不是推荐政策。物品池小到几乎每条都会轮到时,偏差减轻。这条只处理「正例必须以展示为条件」,不处理用户故意演戏,也不处理离线指标偏爱日志政策。
怎么落地
- 未点击默认当缺失,不要当负。负例只从明确的关闭、不喜欢、看过却秒退里来。
- 留一股不跟当前排序走的曝光,专门让从未出过的条目有机会留下正例。
- 验证:找一批在探测槽里点击高、在主政策下几乎无曝光的条目。若主模型把它们估得很低,曝光偏差已经写进分数。把它们强制曝光一轮,看正例是否出现。