「这意味着, 这一方向的研究可能已经被验证集评估带歪了.」针对这一问题, 他们提出了一种新的评估器 - 生成器方法, 可显著提升商品排序的有效性.
论文链接: https://arxiv.org/pdf/2003.11941.pdf
学习排名 (LTR/Learning-to-rank) 是网络搜索引擎和推荐系统的核心问题, 直接关乎这些业务的利润. 之前的很多 LTR 方法都假设一项商品 (或文档) 存在固有的查询相关性, 这些方法希望能基于有标注的数据集准确习得这种相关性. 这些标签通常是通过消费者隐性反馈所收集的, 可在许多方法中被用作训练模型的基本真值 (ground-truth). 在上述设置中, 关注基于数据的排名指标是合理的, 比如被广泛采用的曲线下面积(AUC) 和归一化折损累积收益(NDCG). 这会得到与标注数据紧密匹配的 LTR 模型, 然后这些模型会被用于寻找最相关的商品.
但是, 在电子商务场景中, 一款商品的转化率并不仅依赖于商品本身. 举个例子, 如果一款商品周围都是相似但更贵的商品, 那么消费者购买它的可能性就会升高, 这被称为「诱饵效应(decoy effect)」. 图 1 展示了一个商品周围竞品可能改变消费者行为的示意案例. 如果统计一项商品周围可能存在的竞争环境情况, 那么, 因为与所有商品组合相关的竞争环境信息可达数十亿, 则得到的数据规模将非常庞大.
为了攻克组合空间巨大这一难题, Zhuang et al., 2018 提出了不同于经典 LTR 方法的重排名 (re-ranking) 策略. 这种学习过程首先是寻找与查询相关的一个小型的候选商品集合, 然后在重排名阶段决定候选商品的顺序. 这种重排名策略可以极大地减小组合空间, 因此可以对候选项有全面的理解, 以便找到适当的顺序. Ai et al., 2019 提出的逐分组评分函数 (GSF) 框架也关注的是商品之间的影响力, 其与重排名方法采用了同样的设置.
图 1: 诱饵效应的一个示例. 左图: 三款销量最好的商品排成一条线, 它们的转化率大致均等. 右图: 两款销量最好的商品加一款诱饵商品, 第一款商品会获得更高的转化率. 经典 LTR 可能会像左图那样组织顺序, 因为它们的历史表现很优良. 但是它没有能力找到右图那样的创造性排序 -- 这可能实现更好的业绩.
即使重排名策略已经减少了候选项的数量, 使得在组合空间中进行搜索变得可以实现, 但是为了找到最佳排序, 我们仍然需要一个准确的评估器来为各个商品列表打分. 但是, 通常的情况是已有列表的很多排序方式其实并未在已收集的数据中出现过. 考虑到这些问题, 阿里巴巴和南京大学的研究者发现: 之前采用基于数据的指标的监督学习方法有两个重大局限. 第一, 基于数据的指标往往与在线表现不一致, 因此可能误导学习过程. 第二, 监督学习范式难以探索组合空间, 因此难以直接优化转化率 (CR) 和毛销售量 (GMV) 等最终的性能指标. 因此, 有必要建立一种超出数据集范围的评估方法以及一种超出监督学习范式的探索方法.
本论文为电子商务的逐分组 LTR 提出了一种评估器 - 生成器框架 EG-Rerank.EG-Rerank 可使用商品及其上下文信息来预测已排序商品列表的购买概率. 此外, 研究者还引入了一个判别器并将其用作自信评分函数(self-confidence scoring function). 这个判别器可通过对抗训练方法来学习, 可给出评估器为一个商品列表给出的分数的置信度. 研究者使用这一判别器来引导生成器从判别器的视角在置信空间中输出顺序. 然后, EG-Rerank 通过一种强化学习方法来训练 LTR 模型, 其可在评估器的引导下探索商品的顺序. 本文的主要贡献包括:
研究者在世界上最大的国际零售平台 AliExpress Search 上进行了实验, 结果表明某些常用的基于数据的指标可能与网上的实际表现不一致, 因此确认基于数据的指标可能会误导 LTR 模型的学习过程.
研究表明所学习到的评估器可能是一种非常稳健的目标, 可以替代基于数据的指标.
研究者展示了评估器 - 生成器框架的 EG-Rerank 和 EG-Rerank+ 方法. 研究表明, 在在线 A/B 测试中, 相比于经过微调的产业级再排名逐对评分模型, EG-Rerank+ 可将转化率稳定地提升 2%-- 对于成熟的大型平台而言, 这是非常重大的提升.
方法
新提出的用于逐分组 LTR 的评估器 - 生成器框架包括一个生成器, 一个评估器和一个判别器, 如下图所示.
图 2:EG-Rerank 框架. 首先训练评估器并将其固定下来, 然后通过 PPO 训练生成器, 其奖励由评估器提供. 对于 EG-Rerank+, 生成器和判别器是同时训练的.
在这一框架中, 使用强化学习根据评估器的反馈来优化生成器是很自然的思路.
评估器
评估器的结构见图 2, 其输入包括一个商品列表的特征及其场景特征. 场景特征独立于商品, 但能提供丰富的信息, 比如日期, 语言和用户的公开档案.
为了兼顾购买样本的稀疏性, 评估器还用点击数据标签进行了联合训练. 这可帮助模型学习点击预测任务和购买预测任务中的常识知识.
生成器
在该框架中, 生成器的结构类似于指针网络(pointer network), 但为了更快速地在线预测, 该网络进行过简化.
编码器: 生成器的编码器的输入分为两部分. 第一部分是表征列表的当前状态, 其处理过程类似于评估器中的方法. 第二部分是提取动作的特征. 编码器的输出包含 N 个向量, 其中包含候选商品的特征和当前的隐藏状态.
解码器: 解码器的输入是 N 个动作对和隐藏状态, 输出则可通过简单的 masking 进行采样得到.
EG-Rerank
研究者优化生成器的方法是 PPO 算法, 这是根据评估器在生成器输出上的反馈来实现的. 但是, 标准的 PPO 算法无法在阿里巴巴的离线数据中训练得到稳定的 critic 网络. 在实验中, critic 网络总是输出随机值, 无法根据编码器产生的状态而为训练提供太多帮助. 因此, 研究者并未训练 critic 网络, 而是采样了一些轨迹, 然后估计状态的值.
如果评估器训练优良, 那么这样的框架理应能够顺利工作. 但是, 由于评估器试图仅靠巨大的商品组合空间中一小部分范围来建模消费者的行为, 所以就出现了一个很明显的缺点. 图 3 在模拟环境中展示了这种现象.
图 3: 在仅有 30 款商品的模拟环境中测试集 (左) 与全样本空间 (右) 的预测偏差. 训练集和测试集由一个训练后的模型录入, 它们与选择偏差的分布一样. 可以看到, 即使样本数量如此之少, 在全样本空间中评估器分数与环境之间的差距也明显更加显著.
EG-Rerank+
针对这一问题, 这篇论文提出的解决方案是引入一个序列判别器, 加入这个判别器后的框架记为 EG-Rerank+.
这样的修改会导致生成器输出判别器无法轻易区分来源的顺序. 因此, 评估器的反馈将变得更有信心. 图 4 展示了所记录的数据中列表, EG-Rerank 和 EG-Rerank+ 的输出的分布.
该数据包含几千个原始查询为「手机屏幕保护膜」的真实列表. 很明显, EG-Rerank+ 的输出比 EG-Rerank 更接近记录中的列表.
图 4: 真实数据中的列表分布. 为了减少在线环境中的噪声以及更好的演示, 研究者移除了离各组质心最远的 20% 的记录.
实验
下表展示了各种方法在模拟环境中的表现:
表 3: 在基于规则的模拟环境中的模型表现. 评估器根据原始顺序为商品打分, 这样我们便可以在生成任务中排除它. EG-Rerank 和 EG-Rerank+ 并没有为列表打分的函数. 各分组的最佳用下划线标出, 粗体则表示全局最佳.
研究者还在 AliExpress Search 上进行了少量在线 A/B 测试, 其中每个模型都可提供随机部分的搜索查询. 模型可以获取过去两周的数据, 展示的列表有数十亿个, 购买记录有数百万个. 购买转化率是在线性能的主要指标. 在线环境的变化速度非常快, 每天的差距可能都各不相同. 所有的 A/B 测试都持续进行了一周时间, 然后方差是可接受的, 可以清楚地确定更好的方法.
在长期测试中, 事实证明, 经过微调的 RankNet* 离线表现最好且在线表现也很出色. RankNet* 与该系统能很好地合作, 并且可以近乎实时地更新自己, 其中 EG-Rerank(EG-Rerank+)每天都进行增量训练. 得益于判别器策略, EG-Rerank+ 的平均离线 Group AUC(约 0.63)比 EG-Rerank(约 0.51)高. 表 4 给出了在线指标的结果.
表 4: 在线性能. 在 CR gap 列, 第一行因为是基准, 所以差距始终为 0.
来源: http://www.tuicool.com/articles/EbqEjuF