验证集评估可能是错的,阿里、南大最新论文或推翻以往电商排序算法

参与:Panda
用验证集来测试算法性能、挑选模型是一种常见操作 , 在电商领域也是如此 。 但阿里巴巴与南京大学的一篇论文指出 , 对于在线推荐排序这种具有决策因素的环境 , 验证集评估得到的性能与真实的在线性能会出现很大的出入 , 验证集效果好的方法真实性能可能更差 。
「这意味着 , 这一方向的研究可能已经被验证集评估带歪了 。 」针对这一问题 , 他们提出了一种新的评估器-生成器方法 , 可显著提升商品排序的有效性 。
验证集评估可能是错的,阿里、南大最新论文或推翻以往电商排序算法
文章图片
论文链接:https://arxiv.org/pdf/2003.11941.pdf
学习排名是网络搜索引擎和推荐系统的核心问题 , 直接关乎这些业务的利润 。 之前的很多LTR方法都假设一项商品存在固有的查询相关性 , 这些方法希望能基于有标注的数据集准确习得这种相关性 。 这些标签通常是通过消费者隐性反馈所收集的 , 可在许多方法中被用作训练模型的基本真值 。 在上述设置中 , 关注基于数据的排名指标是合理的 , 比如被广泛采用的曲线下面积和归一化折损累积收益 。 这会得到与标注数据紧密匹配的LTR模型 , 然后这些模型会被用于寻找最相关的商品 。
为了攻克组合空间巨大这一难题 , Zhuangetal.,2018提出了不同于经典LTR方法的重排名策略 。 这种学习过程首先是寻找与查询相关的一个小型的候选商品集合 , 然后在重排名阶段决定候选商品的顺序 。 这种重排名策略可以极大地减小组合空间 , 因此可以对候选项有全面的理解 , 以便找到适当的顺序 。 Aietal.,2019提出的逐分组评分函数框架也关注的是商品之间的影响力 , 其与重排名方法采用了同样的设置 。
即使重排名策略已经减少了候选项的数量 , 使得在组合空间中进行搜索变得可以实现 , 但是为了找到最佳排序 , 我们仍然需要一个准确的评估器来为各个商品列表打分 。 但是 , 通常的情况是已有列表的很多排序方式其实并未在已收集的数据中出现过 。 考虑到这些问题 , 阿里巴巴和南京大学的研究者发现:之前采用基于数据的指标的监督学习方法有两个重大局限 。 第一 , 基于数据的指标往往与在线表现不一致 , 因此可能误导学习过程 。 第二 , 监督学习范式难以探索组合空间 , 因此难以直接优化转化率和毛销售量等最终的性能指标 。 因此 , 有必要建立一种超出数据集范围的评估方法以及一种超出监督学习范式的探索方法 。
本论文为电子商务的逐分组LTR提出了一种评估器-生成器框架EG-Rerank 。 EG-Rerank可使用商品及其上下文信息来预测已排序商品列表的购买概率 。 此外 , 研究者还引入了一个判别器并将其用作自信评分函数 。 这个判别器可通过对抗训练方法来学习 , 可给出评估器为一个商品列表给出的分数的置信度 。 研究者使用这一判别器来引导生成器从判别器的视角在置信空间中输出顺序 。 然后 , EG-Rerank通过一种强化学习方法来训练LTR模型 , 其可在评估器的引导下探索商品的顺序 。 本文的主要贡献包括:
研究者在世界上最大的国际零售平台AliExpressSearch上进行了实验 , 结果表明某些常用的基于数据的指标可能与网上的实际表现不一致 , 因此确认基于数据的指标可能会误导LTR模型的学习过程 。
研究表明所学习到的评估器可能是一种非常稳健的目标 , 可以替代基于数据的指标 。
研究者展示了评估器-生成器框架的EG-Rerank和EG-Rerank+方法 。 研究表明 , 在在线A/B测试中 , 相比于经过微调的产业级再排名逐对评分模型 , EG-Rerank+可将转化率稳定地提升2%——对于成熟的大型平台而言 , 这是非常重大的提升 。
方法
新提出的用于逐分组LTR的评估器-生成器框架包括一个生成器、一个评估器和一个判别器 , 如下图所示 。
在这一框架中 , 使用强化学习根据评估器的反馈来优化生成器是很自然的思路 。
评估器
为了兼顾购买样本的稀疏性 , 评估器还用点击数据标签进行了联合训练 。 这可帮助模型学习点击预测任务和购买预测任务中的常识知识 。
生成器
在该框架中 , 生成器的结构类似于指针网络 , 但为了更快速地在线预测 , 该网络进行过简化 。
编码器:生成器的编码器的输入分为两部分 。 第一部分是表征列表的当前状态 , 其处理过程类似于评估器中的方法 。 第二部分是提取动作的特征 。 编码器的输出包含N个向量 , 其中包含候选商品的特征和当前的隐藏状态 。
解码器:解码器的输入是N个动作对和隐藏状态 , 输出则可通过简单的masking进行采样得到 。
【验证集评估可能是错的,阿里、南大最新论文或推翻以往电商排序算法】EG-Rerank
研究者优化生成器的方法是PPO算法 , 这是根据评估器在生成器输出上的反馈来实现的 。 但是 , 标准的PPO算法无法在阿里巴巴的离线数据中训练得到稳定的critic网络 。 在实验中 , critic网络总是输出随机值 , 无法根据编码器产生的状态而为训练提供太多帮助 。 因此 , 研究者并未训练critic网络 , 而是采样了一些轨迹 , 然后估计状态的值 。
EG-Rerank+
针对这一问题 , 这篇论文提出的解决方案是引入一个序列判别器 , 加入这个判别器后的框架记为EG-Rerank+ 。
该数据包含几千个原始查询为「手机屏幕保护膜」的真实列表 。 很明显 , EG-Rerank+的输出比EG-Rerank更接近记录中的列表 。
验证集评估可能是错的,阿里、南大最新论文或推翻以往电商排序算法
文章图片
实验
下表展示了各种方法在模拟环境中的表现:
表3:在基于规则的模拟环境中的模型表现 。 评估器根据原始顺序为商品打分 , 这样我们便可以在生成任务中排除它 。 EG-Rerank和EG-Rerank+并没有为列表打分的函数 。 各分组的最佳用下划线标出 , 粗体则表示全局最佳 。
研究者还在AliExpressSearch上进行了少量在线A/B测试 , 其中每个模型都可提供随机部分的搜索查询 。 模型可以获取过去两周的数据 , 展示的列表有数十亿个 , 购买记录有数百万个 。 购买转化率是在线性能的主要指标 。 在线环境的变化速度非常快 , 每天的差距可能都各不相同 。 所有的A/B测试都持续进行了一周时间 , 然后方差是可接受的 , 可以清楚地确定更好的方法 。
在长期测试中 , 事实证明 , 经过微调的RankNet*离线表现最好且在线表现也很出色 。 RankNet*与该系统能很好地合作 , 并且可以近乎实时地更新自己 , 其中EG-Rerank每天都进行增量训练 。 得益于判别器策略 , EG-Rerank+的平均离线GroupAUC比EG-Rerank高 。 表4给出了在线指标的结果 。
表4:在线性能 。 在CRgap列 , 第一行因为是基准 , 所以差距始终为0 。


    推荐阅读