虚拟淘宝-Virtual-Taobao论文解读(AAAI2019)

news2024/11/29 11:41:21

目录

1 论文简介

2 文章的主要贡献

3 文章技术的简要说明

4 技术的详细说明

4.1 GAN-SD:生成客户特征

4.2 MAIL:生成交互过程

4.3 ANC:动规范约束

5 实验设定及结果

6 结论

7 参考 


1 论文简介

南京大学LAMDA团队的侍竞成、俞扬等人在AAAI 2019发表了一篇论文,介绍了在淘宝这个大型在线零售平台上利用强化学习进行商品搜索的项目。论文题为“Virtual-Taobao: Virtualizing Real-World Online Retail Environment for Reinforcement Learning”,详细描述了该项目的实施过程。

在这项研究中,团队没有直接在淘宝平台上训练强化学习模型,而是提出了一种环境构建方法:首先构建虚拟淘宝(Virtual-Taobao)。这个虚拟淘宝是一个从历史客户行为数据中学习的模拟器。通过在虚拟淘宝上训练策略,可以避免实物采样的高成本。实验结果表明,纯粹在虚拟淘宝上训练的策略,通过在线A/B测试,其性能显著优于传统的监督方法,并且无需物理采样成本。

论文链接:https://arxiv.org/pdf/1805.10000.pdf。研究人员希望这项工作能够为在复杂物理环境中应用强化学习提供新的启示。

2 文章的主要贡献

为了提高仿真精度,我们提出了用于分布匹配的客户特征生成方法——GAN-SD(Generative Adversarial Network for Simulation Distribution)。此外,我们引入了MAIL(Multiagent Adversarial Imitation Learning),以生成更具一般化的客户行为。同时,为了进一步避免模拟器缺陷带来的过拟合,我们提出了ANC(Action Norm Constraint)策略来规范策略模型。

Virtual-Taobao架构专为强化学习构建,并在实验中基于数以亿计的真实淘宝客户记录进行训练。与真实淘宝相比,Virtual-Taobao忠实地还原了真实环境的重要属性。研究表明,在虚拟淘宝上纯粹训练的策略,通过在线A/B测试,其物理采样成本为零,且在现实世界中的性能显著优于传统的监督方法。

3 文章技术的简要说明

在这些场景中直接应用强化学习 (RL) 的一个主要障碍是,当前的RL算法通常需要与环境进行大量交互,这会带来很高的物理成本,如实际的金钱消耗、长时间的实验周期、糟糕的用户体验,甚至可能危及生命(如在医疗任务中)。为了避免这些物理成本,RL训练通常使用模拟器。例如,谷歌在数据中心冷却方面的应用展示了一个成功的案例:使用神经网络模拟系统动态,然后在模拟环境中通过先进的RL算法训练策略。

在淘宝商品搜索项目中,我们采用了类似的方法:构建一个模拟器,即虚拟淘宝 (Virtual-Taobao),并在模拟器中离线训练策略,以实现长期收益最大化。理想情况下,这样获得的策略在真实环境中也能表现良好,或者至少可以为更经济的在线调优提供良好的初始条件。然而,与模拟数据中心动态不同,模拟数亿客户在动态环境中的行为更具挑战性。

我们通过生成客户和交互数据来构建虚拟淘宝。现有的模仿学习方法可以从数据中推导出策略。例如,行为克隆 (Behavior Cloning, BC) 方法通过监督学习从状态-行为数据中学习策略,但需要满足独立同分布 (i.i.d.) 假设,这在RL任务中不总是适用。逆强化学习 (IRL) 方法从数据中学习奖励函数,再根据奖励函数训练策略,放松了i.i.d.假设,但假设环境是静态的,当环境变化时可能会失败。因此,这些方法在构建虚拟淘宝时不太实用。

为了更好地生成虚拟客户,我们提出了GAN-for-Simulating Distribution (GAN-SD) 方法,因为我们发现传统方法(如GMM和GAN)不适合处理这种高维数据。为了生成交互数据,我们提出了多主体对抗模仿学习 (Multi-agent Adversarial Imitation Learning, MAIL) 方法。MAIL同时学习客户策略和平台策略,采用了GAIL的思想,使用生成对抗框架训练一个鉴别器来区分模拟交互和真实交互,并将区别信号作为奖励反馈,训练客户策略和平台策略,从而产生更真实的交互。

在生成客户和交互数据后,虚拟淘宝就完成了,可以用于训练平台策略。然而,我们注意到RL算法的强大足以过拟合虚拟淘宝的不足,即在虚拟环境中表现良好但在现实中表现差。因此,我们提出了行动规范约束 (Action Norm Constraint, ANC) 来规范策略。

综上所示,整个过程用到了三种算法:

  • GAN-SD:生成虚拟客户
  • MAIL:生成虚拟交互
  • ANC:平台策略(RL容易过拟合)

在实验中,我们从数亿条客户记录中构建了虚拟淘宝,并与真实环境进行对比。结果显示,虚拟淘宝成功地重现了接近真实环境的属性。我们利用虚拟淘宝训练平台策略,实现了收益最大化。与传统的监督学习方法相比,虚拟淘宝训练的策略在真实环境下的收益提高了2%以上,且无需物理实验成本。 

4 技术的详细说明

商品搜索是淘宝的核心业务,淘宝可以被视为一个与客户交互的搜索引擎系统。淘宝的搜索引擎需要在毫秒级响应数十亿次商品搜索请求,同时客户对商品的偏好也非常多样化。从引擎的角度来看,淘宝平台的工作原理如下:

1)客户访问淘宝并发送搜索请求。

2)搜索引擎对相关商品进行排序,然后显示页面视图 (PV) 以响应搜索请求。

3)客户根据页面视图进行反馈,例如购买商品、浏览下一页或离开淘宝。

4)搜索引擎接收反馈信号,并为下一个PV请求做出新的决定。

淘宝的业务目标之一是通过优化PV显示策略来实现销售量的最大化。由于客户行为会受到之前PV的影响,在优化搜索引擎策略时,将其视为多步骤决策问题,而不是单步监督学习问题,是更为合理的选择。因此,考虑到搜索引擎作为代理,以及客户的反馈作为环境,淘宝中的商品搜索是一个连续决策问题。假设客户只记住有限数量的最新PV,这意味着反馈信号仅受搜索代理的m个历史行为的影响。

上图所示,淘宝搜索在搜索引擎和客户的视角下具有以下特性:

1)搜索引擎视角:搜索引擎根据客户的搜索请求和之前的反馈信号,进行商品排序并显示PV。

2)客户视角:客户对搜索引擎显示的商品做出反应,其行为(即反馈信号)受到最近m个PV的影响。这些PV由搜索引擎生成,并受到客户最后反馈的影响。

从这个角度来看,搜索引擎和客户互为彼此的环境,二者的策略是耦合在一起的。如果客户只是浏览下一页而没有其他行为,那么搜索引擎记录的客户特征和搜索请求将保持不变。如果客户发送了另一个请求或离开淘宝,记录状态就会发生变化。

考虑到客户对环境更为敏感,我们对客户行为进行了特别设计。客户行为受其想要的内容 (S) 和看到的内容 (A) 的影响,其中S是引擎观察结果,即包含请求的客户特征,A是引擎动作,即向客户显示的页面视图。由于顾客的购买意图会随浏览页数的变化而变化,我们设Sc = S×A×N,其中N表示页面索引空间。

总结来说,淘宝商品搜索是一个复杂的连续决策过程,涉及搜索引擎和客户之间的动态交互。通过合理的设计和优化,我们可以提高搜索引擎的效率,从而最大化销售量。

4.1 GAN-SD:生成客户特征

为了构建虚拟淘宝,首先需要生成客户特征,即对用户 Uc进行采样,包括来自 Pc的请求,以触发交互过程。生成的客户分布应与真实分布相似。然而,在高维空间中学习分布是一个极具挑战性的任务。像高斯混合模型(GMM)这样的经典方法很难实现这种相似分布。

众所周知,GAN(生成对抗网络)框架在生成接近于原始数据的样本方面表现出色,尤其在生成图像方面取得了巨大成功。然而,传统的GAN判别器虽然能够判断某个实例是否来自真实世界,但它们缺乏捕获整体客户分布架构的能力。为了解决这一问题,并生成分布而不是单个实例,我们提出了用于模拟分布的生成对抗网络(GAN-SD),其算法如算法1所示。

GAN-SD与传统的GAN类似,由生成器G和判别器D组成。在GAN-SD中,判别器的主要目标是通过最大化特定的目标函数来有效区分生成的数据和训练数据。而更新后的生成器则通过最大化另一目标函数,利用KL散度和熵约束,从真实数据中学习更丰富的指导信息。这使得GAN-SD能够生成比传统GAN更优秀的分布。

GAN-SD(用于模拟分布的生成对抗网络)和传统的GAN在应用和设计目标上存在一些关键区别。以下是对这些差异的详细解释:

传统的生成对抗网络 (GAN) 主要包括两个部分:生成器 (Generator) 和判别器 (Discriminator)。其工作流程如下:

  • 生成器 (G):从随机噪声中生成数据样本,尝试骗过判别器。
  • 判别器 (D):试图区分真实数据和生成器生成的数据样本。

传统GAN的训练目标是让生成器生成的样本尽可能接近真实数据分布,而判别器尽可能准确地区分真实样本和生成样本。具体步骤如下:

 GAN-SD的改进之处

4.2 MAIL:生成交互过程

用户策略是未知的情况下同时训练customer policy 和 engine policy因为不知道customer reward function,所以采用IRL(模仿学习中的一种算法)去生成决策模型。

通过模拟客户策略在虚拟的淘宝平台上生成客户与平台之间的互动是本文的目标。文章采用基于GAIL思想的多智能体对抗模仿学习(MAIL)方法来实现这一目标。GAIL允许智能体在训练期间与环境进行交互,并且奖励函数在训练过程中不断优化。需要注意的是,在GAIL的训练过程中,智能体可以访问环境。然而,训练客户策略时需要将淘宝平台视为未知或动态环境。

MAIL与在静态环境中训练单一智能体策略的GAIL有所不同,它是一种面向多智能体的训练策略,适用于客户策略和平台引擎策略的训练。通过这种方法,生成的客户策略可以包含多种搜索引擎策略。

MAIL算法同时训练两种策略——代理和环境(平台),只需使用历史数据而无需访问真实环境。以下是MAIL算法的伪代码示例:

MAIL(Multi-Agent Imitation Learning)利用了模仿学习技术,并且涉及多智能体的训练方法。这种方法借鉴了GAIL(Generative Adversarial Imitation Learning)的理念,但在实现上有所不同。GAIL通过直接从专家数据中学习策略,首先学习专家数据的奖励函数(通过IRL,Inverse Reinforcement Learning),然后使用强化学习方法学习到与专家策略相近的策略。

而MAIL则需要训练两个智能体(agents)。这两个智能体可以是互相对抗的,也可以是协作的,彼此之间进行学习和优化。MAIL的目标是通过模仿学习技术,同时训练多个智能体,使它们能够在多智能体环境中学习有效的策略。通过这种方法,能够同时得到推荐策略和客户行为策略

4.3 ANC:动规范约束

动规范约束(Action Norm Constraint, ANC),目的为了减少虚拟淘宝的过拟合。上一步使用IRL,会导致学到的策略和历史策略一样,即没有提升。提出用于控制所采取行动的范数的约束方法 

 所采取行动的范数大于大多数历史行为的范数时,加上惩罚

5 实验设定及结果

 

为了验证 “虚拟淘宝” 的效果,我们使用以下量度指标:

总营业额(TT):所售商品的总价值。总量(TV):销售商品的数量。购买页面的购买(R2P):产生购买行为的 PV 数量占总 PV 的比例。

图   学习后的顾客分布的对比 

 图   真实淘宝和虚拟淘宝之间的 R2P 对比

 本文在线实验中采用了全部测量方式。在离线实验中只使用了 R2P 方法,因为我们没有对客户数量和商品价格做出预测。了便于在真实环境和虚拟环境之间比较这些指标,我们提前在真实环境(特别是淘宝网的在线 A/B 测试)中部署了随机引擎策略,并收集了相应的轨迹作为历史数据(约 4 亿条记录)。本文没有假设生成数据的引擎策略,也就是说,在构建虚拟环境时,可能采用的是任何未知的复杂模型。

表  虚拟数据和真实数据之间的 KL 分歧

 表    采用行为克隆和 MAIL 算法的模拟器随时间的 R2P 性能提升

6 结论

为了解决淘宝网站中面向商品搜索的强化学习的高成本问题,本文提出了一个 “虚拟淘宝模拟器”,根据历史数据进行训练的。首先通过 GAN-SD 生成虚拟客户,并通过 MAIL 生成虚拟交互过程。研究结果表明,“虚拟淘宝” 能够忠实反映真实环境中的特征。

本文提出通过 ANC 策略训练性能更高的平台策略,让新的策略具备比传统监督学习方法更好的真实环境下的性能。“虚拟淘宝” 具备实际应用意义,也颇具挑战性。希望这项工作能够为将强化学习应用于复杂物理任务提供一些启示。

7 参考 

https://blog.csdn.net/strawberry47/article/details/124558046

https://baijiahao.baidu.com/s?id=1626945450349711651&wfr=spider&for=pc

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1825019.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

PDF标准详解(三)—— PDF坐标系统和坐标变换

之前我们了解了PDF文档的基本结构,并且展示了一个简单的hello world。这个hello world 虽然只在页面中显示一个hello world 文字,但是包含的内容却是不少。这次我们仍然以它为切入点,来了解PDF的坐标系统以及坐标变换的相关知识 图形学中二维…

网络安全从入门到精通(特别篇I):应急响应案例

蓝队应急响应实战 1. 应急响应1. 应急响应 获取当前WEB环境的组成架构(语言,数据库,中间件,系统等) 分析思路: 1、利用时间节点筛选日志行为 2、利用已知对漏洞进行特征筛选 3、利用后门查杀进行筛选日志行为 #内容点: 应急响应: 1、抗拒绝服务攻击防范应对指南 2、勒…

小分子水半幅宽检测 低氘水同位素氘检测 富氢水检测

小分子水半幅宽检测 低氘水同位素氘检测 富氢水检测 检测范围: 矿泉水等饮用水 检测概述 小分子团水活化性很强,具有强渗透力,强溶解力,强扩散力。水的含氧量高,能给人体内的组织细胞带来更多的氧。长自来水大分子团核磁共振测得…

论文阅读笔记:DepGraph: Towards Any Structural Pruning

论文阅读笔记:DepGraph: Towards Any Structural Pruning 1 背景2 创新点3 方法4 模块4.1 分组4.2 依赖图4.3 网络分解4.4 依赖建模4.4 组级剪枝 5 效果 论文:https://arxiv.org/pdf/2301.12900 代码:https://github.com/VainF/Torch-Prunin…

Java面试题--JVM大厂篇之掌握JVM性能优化:选择合适的垃圾回收器

掌握JVM性能优化:选择合适的垃圾回收器 引言: ​  在Java开发中,性能优化往往是提高应用稳定性和用户体验的关键所在。而垃圾回收器的选择和优化,是JVM性能调优的核心环节。如何在众多垃圾回收器中选出适合自己应用需求的那一个&#xff1…

6581 太阳能电池板伏安特性测试仪

6581 太阳能电池板伏安特性测试仪 产品综述 6581太阳能电池板伏安特性测试仪主要用于太阳能电池板生产的最终测试,也可以作为层压前测试使用,能大大提高一次封装成品率。该测试仪适合于单晶、多晶、薄膜等多种电池组件,可进行I-V曲线、P-…

进口二手RS FSH4规格3.6G罗德与施瓦茨 FSH6参数

Rohde & Schwarz FSH4 的规格包括&#xff1a; 频率范围从 9 kHz 到 3.6 GHz 高灵敏度&#xff08;<-141dBm&#xff08;1Hz&#xff09;&#xff0c;或使用可选前置放大器<-161dBm&#xff08;1Hz&#xff09;&#xff09; 低测量不确定度&#xff08; 内部跟踪发生…

算法day31

第一题 542. 01 矩阵 本题本来求解的是每一个1到0的最短距离并返回到矩阵之中&#xff1b; 我们采用正难则反的思路&#xff0c;将其化解为每一个0到每一个1的最短距离&#xff0c;并通过矩阵来返回&#xff1b; 解法&#xff1a;多源bfs正难则反 步骤一&#xff1a; 定义一个…

僵尸网络相关

个人电脑被植入木马之后&#xff0c;就会主动的连接被黑客控制的这个C&C服务器&#xff0c;然后这个服务器就会给被植入木马的这个电脑发指令&#xff0c;让他探测在他的局域网内还有没有其他的电脑了&#xff0c;如果有那么就继续感染同局域网的其他病毒&#xff0c;黑客就…

基于单片机的无人监守点滴控制系统设计

摘要 &#xff1a; 在当代社会 &#xff0c; 点滴是一种常用的诊疗方法 。 为了减轻医护人员的压力 &#xff0c; 设计了一种基于单片机的无人监守点滴控制系统&#xff0c; 该系统共由 2 个板子组成 &#xff0c; 其中一个主控板子 &#xff0c; 一个检测板子 。 检测板与…

maven编译【-Dmaven.test.skip=true和-DskipTests=true的区别】

1、背景 我在执行maven编译时&#xff0c;遇到下面情况&#xff1a; 1、当执行命令为下面&#xff1a; mvn clean compile package install -Dmaven.wagon.http.ssl.insecuretrue -Dmaven.wagon.http.ssl.allowalltrue -Dmaven.wagon.http.ssl.ignore.validity.datestrue -Dra…

救命!挖到宝了,这本计算机书真的巨巨好看

一本适合大学生使用的计算机科学和编程学习指南&#xff0c;它通过丰富的内容和多样的学习形式&#xff0c;帮助学生建立坚实的计算机科学基础&#xff0c;并激发他们对计算机科学的兴趣。 这本书涵盖了多种类型的练习题&#xff0c;旨在帮助读者巩固理论知识并提高实际编程技能…

PostgreSQL下载地址

下载地址&#xff1a;PostgreSQL: File Browser

深入理解ReentrantLock

深入理解ReentrantLock 在Java并发编程中&#xff0c;锁&#xff08;Lock&#xff09;是控制多个线程对共享资源访问的重要工具。虽然Synchronized关键字是实现锁的常用方式&#xff0c;但它在功能上比较有限。ReentrantLock是java.util.concurrent.locks包中提供的一个更加灵…

Python基础教程(十九):网络编程

&#x1f49d;&#x1f49d;&#x1f49d;首先&#xff0c;欢迎各位来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里不仅可以有所收获&#xff0c;同时也能感受到一份轻松欢乐的氛围&#xff0c;祝你生活愉快&#xff01; &#x1f49d;&#x1f49…

【吊打面试官系列-Mysql面试题】实践中如何优化 MySQL?

大家好&#xff0c;我是锋哥。今天分享关于 【实践中如何优化 MySQL&#xff1f;】面试题&#xff0c;希望对大家有帮助&#xff1b; 实践中如何优化 MySQL&#xff1f; 最好是按照以下顺序优化&#xff1a; 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 1、SQL 语…

组件化框架 ARouter 完全解析(一)

一、路由认知 ARouter从命名即可知&#xff0c;这是一个路由框架。那么路由是个啥呢&#xff1f; 路由&#xff08;routing&#xff09;就是通过互联的网络把信息从源地址传输到目的地址的活动。-- 百科 可见 路由 是个动词&#xff0c;这是网络传输中的概念&#xff0c;完成路…

跨境电商测评、采购大额下单自养号需要解决哪些技术原理?

市场上有许多伪装工具&#xff0c;但大多数只是为了方便开发人员测试系统程序&#xff0c;它们并不能针对特定的电商平台进行伪装。每个电商平台都有其独特的风控机制&#xff0c;因此&#xff0c;我们需要从硬件环境的底层配合软件控制&#xff0c;以满足各平台的检测规则。 …

Spring boot 使用AbstractRoutingDataSource实现数据源动态切换

目录 一、AbstractRoutingDataSource 二、具体实现 1、pom.xml 2、新建UserMapper 3、在spring boot 启动类上添加扫描mapper注解 4、在配置文件 application.properties 中添加多个(我这里是两个)数据源的配置信息 5、集成动态数据源模块 5.1、新建注解 CurDataSource…

【复旦邱锡鹏教授《神经网络与深度学习公开课》笔记】梯度的反向传播算法

矩阵微积分&#xff08;Matrix Calculus&#xff09; 在开始之前&#xff0c;需要先了解矩阵微积分的一些计算规则。 首先&#xff0c;对于矩阵微积分的表示&#xff0c;通常由两种符号约定&#xff1a; 分母布局 标量关于向量的导数为列向量 向量关于标量的导数为行向量 N维…