在化学世界的任务中应用加强学习是极具挑战性的。按照当前加强学习技巧的要求,在化学环境中进行大量实验是不可行的。
上海学院LAMDA侍竞成、俞扬等人团队近来发表在AAAI2019的论文,描述了在天猫这个小型在线零售平台、同时也是一个取样成本较高的化学环境中,借助加强学习来更好地进行商品搜索的项目。
论文地址:
她们没有直接在天猫上训练加强学习,而是提出了一个环境建立方式:先建立虚拟天猫(-),这是一个从历史顾客行为数据小学习的模拟器,之后在虚拟天猫上训练策略,不须要实物取样成本。
据悉,本研究的贡献如下:
为加强学习建立的-构架
在实验中,-是从数以亿计的真实天猫顾客记录中训练下来的。与真实天猫相比,虚拟天猫忠实地还原了真实环境的重要属性。
该研究进一步证明,纯粹在虚拟天猫上训练的策略,通过在线A/B测试,其数学取样成本为零,可以明显优于传统的监督方式在现实世界中的性能。
研究人员希望这项工作可以为在复杂化学环境中应用加强学习提供一些启示。
据悉,-模型也早已开源:
接出来,新智元带来这篇论文的翻译剖析:
在化学世界应用RL为什么重要
随着深度神经网路的融合,加强学习(RL)近来取得了许多重要进展,在游戏、机器人、自然语言处理等领域取得了好多成功。但是,关于RL在化学世界任务中的应用的研究较少,如与顾客交互的小型在线系统,这可能对用户体验和社会财富形成很大的影响。
小型在线系统即使甚少与RL方式相结合,但确实追求应用RL。实际上大学物理虚拟实验平台,许多在线系统都涉及到序列决策和延后反馈。
比如,手动化交易系统须要依照历史指标和所有相关信息高频率地管理投资组合,并通过剖析常年利润仔细调整其策略。
同样的,电子商务搜索引擎也会观察到卖家的需求,并将排行好的商品页面显示给卖家,之后在得到用户反馈后更新其决策模型,追求利润最大化。在这期间,假如卖家继续浏览,它会依照卖家的最新信息不断显示新的页面。
往年的解决方案主要基于监督学习。它们难以学习序列决策和最大化常年回报。因而大学物理虚拟实验平台,RL解决方案十分有吸引力。
三大算法克服虚拟天猫应用RL的障碍
在这种场景中直接应用RL的一个主要障碍是,当前的RL算法一般须要与环境进行大量的交互,这须要很高的化学成本,例如实际的金钱、几天到几个月的时间、糟糕的用户体验,甚至是生命(医疗任务中)。
为了防止化学成本,RL训练常常使用模拟器。微软在数据中心冷却方面的应用(Gaoand2014)就展示了一个挺好的实践:用一个神经网路来模拟系统动态,之后通过一些最先进的RL算法在模拟环境中训练策略。
在这个天猫商品搜索项目中,我们使用了类似的过程:构建一个模拟器,即-,之后就可以在模拟器中离线训练策略,借助RL算法实现常年利润最大化。
理想情况下,这样获得的策略在真实环境中可以同样表现良好,或则起码可以为更实惠的在线调优提供良好的初始化。
但是,与模拟数据中心的动态不同,模拟数亿顾客在动态环境中的行为更具挑战性。
我们处理了按照顾客策略生成的顾客行为数据。现有的模仿学习方式可以实现从数据中推导入一个策略。
行为克隆(,BC)方式(1992)主要是从状态-行为数据中通过监督方式来学习策略。BC要求对RL任务中不满足的演示数据进行i.i.d.假定。
逆加强学习(IRL)方式从数据小学习一个奖励函数,之后按照这个奖励函数训练一个策略。IRL放松了数据的i.i.d.假定,但依然假定环境是静态的。当环境(即天猫平台)发生变化时,学习策略可能会失败。上述问题促使这种方式在建立虚拟天猫时不太实用。
在这项工作中,我们通过生成顾客和生成交互来建立虚拟天猫。有搜索需求的顾客步入天猫并触发平台搜索引擎,这类搜索需求的分布十分复杂和广泛。
然而,从数据库中抽取的样本并不能生成数据之外的顾客,进而造成最终模型的泛化程度较低。我们提出了GAN-for-on(GAN-SD)方式来生成虚拟顾客,由于我们发觉传统的方式,如GMM和GAN,并不适宜这些高维数据。
为了生成交互(),我们提出多主体对抗模仿学习(Multi-agent,MAIL)技巧。我们可以直接在虚拟天猫中调用天猫平台策略,但这会造成创造一个难以适应真实环境变化的静态环境。为此,MAIL同时学习顾客策略和平台策略。
为了同时学习这两个策略,MAIL采用了GAIL(HoandErmon2016)的思想,使用生成对抗框架(etal.2014)。MAIL训练一个鉴定器来分辨模拟的交互和真实的交互;区别讯号作为奖励反馈,以训练顾客策略和平台策略,因而形成更真实的交互。
在生成顾客和交互后,虚拟天猫就完成了,接出来可以用于训练平台策略。但是,我们注意到加强学习算法的强悍程度足以过拟合虚拟天猫的不足,这意味着它可以在虚拟环境中做得挺好,但在现实中却很差。为此,我们提出行动规范约束(Norm,ANC)来使策略规范化。
在实验中,我们从数以亿计的顾客记录中建立了虚拟天猫,并与真实环境进行对比。我们的结果显示,虚拟天猫成功地构建了十分接近真实环境的属性。之后,我们借助虚拟天猫训练平台策略,以实现收入最大化。
与传统的监督学习方式相比,虚拟天猫训练的策略在真实环境下的利润提升了2%以上,化学实验成本为零。
接出来,本文继续介绍虚拟天猫方式、离线和在线实验,以及推论。
怎样建立一个虚拟天猫?
问题描述
商品搜索是天猫的核心业务。天猫可以被视为搜索引擎与顾客交互的系统。天猫的搜索引擎负责处理对数十亿商品搜索恳求的微秒级响应,而顾客对商品的偏好也丰富多样。从引擎的角度来看,天猫平台的工作原理如下。顾客访问,向搜索引擎发送搜索恳求。
之后,搜索引擎对相关商品进行排序,并向顾客显示页面视图(PV),对搜索恳求作出适当响应。顾客给出反馈讯号,例如买东西,之后转入下一页,或依据页笔试图或卖方自身意愿离开天猫。搜索引擎接收反馈讯号,并为下一个PV恳求作出新的决定。天猫的业务目标之一是通过优化显示PV的策略来实现销售量的最大化。
作为反馈讯号,例如,会受之前的PV影响的顾客行为,在优化搜索引擎策略时,将其视为多步骤决策问题,而不是单步监督学习问题,是更为合理的选择。因而,考虑到搜索引擎作为代理,以及顾客的反馈作为相应的环境,天猫中的商品搜索是一个连续决策问题。假定顾客只记住有限数目的最新PV,这是合理的,这意味着反馈讯号仅受搜索代理的m个历史行为的影响。
图2:搜索引擎视角和顾客视角下的天猫搜索
注意,假若假定m=1,即顾客的反馈仅受最后一个引擎行为的影响,这就是标准马尔可夫决策过程。
另一方面,假如我们将顾客视为agent,将搜索引擎视为环境,这么顾客的购物流程也就可视作次序决策流程。顾客对排行后的商品,也就是搜索引擎的动作作出响应。顾客的行为即反馈讯号,它会遭到近来m个PV的影响,这种PV由搜索引擎生成,并遭到来自顾客的最后反馈的影响。顾客的行为也具有马尔可夫属性。为顾客制订购物新政的过程可以视为对顾客的天猫购物偏好的优化过程。
如图2所示,搜索引擎和顾客互为彼此的环境,两者的策略是耦合在一起的。
假如顾客只是转向下一页而没有其他行为,这么负责记录顾客特点和搜索恳求的引擎的观察结果将保持不变。假如顾客发送了另一个恳求,或离开了天猫,记录状态都会发生变化。
与搜索引擎相比,顾客个人对环境常常更敏感,因而我们为顾客进行了一些非常的设计。顾客行为将遭到TA想要的以及TA听到的内容的影响,分别用S和A表示,其中S是引擎观察结果,即包含恳求的顾客特点,A是引擎动作,即向顾客显示的页面视图。考虑到客户的订购意图会随浏览页数的变化而变化,设Sc=S×A×N,其中N表示页面索引空间。
函数定义如下:
对于搜索引擎而言,假若顾客买了东西,我们给引擎奖励为1,否则为0。对于顾客,奖励函数量前尚不明晰。
GAN-SD:生成顾客特点
为了建立虚拟天猫,须要首先生成顾客特点,即对包括来自Pc的恳求的用户Uc进行取样,以触发交互过程。生成的顾客分布应与真实分布相像。
在高维空间中对分布进行学习很具有挑战性。像高斯混和模型(GMM)之类的精典方式很难实现这些相像分布。而众所周知,GAN框架可以挺好地生成接近于原始数据的样本,并在生成图象方面取得了巨大成功。
但是,传统的GAN判断器就能判断某一实例是否来自真实世界,但缺少捕获顾客分布构架的能力。为了生成分布而不是单个实例,我们提出了用于模拟分布的生成性对抗网路(GAN-SD),如算法1中所示。
GAN-SD算法伪代码示意图
与GAN类似,GAN-SD也包括生成器G和判断器D。其中,判定器企图通过最大化以下目标函数:
来正确分辨生成的数据和训练数据。
而更新后的生成器则在实现以下目标函数的最大化:
借助KL分歧和熵约束,GAN-SD从真实数据小学习具有更多引导信息的生成器,而且可以形成比传统GAN更好的分布。
MAIL:生成交互过程
通过模拟顾客策略,在虚拟天猫之间生成顾客与平台之间的交互。本文通过基于GAIL思想的多智能体对抗模仿学习(MAIL)方式来实现这一目标。GAIL容许智能体在训练期间与环境交互,同时奖励功能也在不断优化。注意,在GAIL训练期间应当才能访问环境。并且,训练顾客策略须要将引擎视为未知环境或动态环境。
与在静态环境中训练一个智能体策略的GAIL不同,MAIL是一种面向多智能体的训练策略,可用于训练顾客策略和引擎策略。以这些方法得到顾客策略才能包含不同的搜索引擎策略。
因为MAIL将两个策略一起训练,即代理和环境,只须要历史数据,不须要访问真实环境。MAIL算法伪代码如右图所示:
实验设定及结果
为了验证“虚拟天猫”的疗效,我们使用以下量度指标:
总营业额(TT):所售商品的单价值。
总数(TV):销售商品的数目。
订购页面的订购(R2P):形成订购行为的PV数目占总PV的比列。
图3:学习后的客户分布的对比
图4:真实天猫和虚拟天猫之间的R2P对比
本文在线实验中采用了全部检测方法。在离线实验中只使用了R2P方式,由于我们没有对顾客数目和商品价钱作出预测。了以便在真实环境和虚拟环境之间比较这种指标,我们提早在真实环境(非常是天猫网的在线A/B测试)中布署了随机引擎策略,并搜集了相应的轨迹作为历史数据(约4亿条记录)。本文没有假定生成数据的引擎策略,也就是说,在建立虚拟环境时,可能采用的是任何未知的复杂模型。
表1:虚拟数据和真实数据之间的KL分歧
表2:采用行为克隆和MAIL算法的模拟器随时间的R2P性能提高
推论
为了解决天猫网站中面向商品搜索的加强学习的高成本问题,本文提出了一个“虚拟天猫模拟器”,按照历史数据进行训练的。首先通过GAN-SD生成虚拟顾客,并通过MAIL生成虚拟交互过程。研究结果表明,“虚拟天猫”能够忠实反映真实环境中的特点。
本文提出通过ANC策略训练性能更高的平台策略,让新的策略具备比传统监督学习方式更好的真实环境下的性能。“虚拟网店”具备实际应用意义,也富有挑战性。希望这项工作才能为将加强学习应用于复杂数学任务提供一些启示。
开源模型:
开源项目提供了以天猫的真实数据为基础训练的虚拟天猫模拟器。在天猫上,当顾客输入一些查询时,推荐系统将按照查询和顾客配置文件返回一个商品列表。该系统预计将返回一个良好的列表,让顾客有很高的可能性点击那些商品。
使用模拟器,用户可以像访问真实的天猫环境一样访问“实时”环境。每次生成一次虚拟顾客,虚拟顾客启动查询,推荐系统须要返回一个商品列表。虚拟顾客将决定是否单击列表中的商品,类似于真实顾客。
本次开源的虚拟天猫模型,用于推荐系统研究和加强学习研究(参见下边的监督学习和加强学习用例)。
目前,我们提供V0模型(-v0),该模型是在中等规模的匿名天猫数据集进行训练的。更小型的模型正式发布。
安装
pip install -e .
模拟环境
虚拟天猫模拟顾客、商品和推荐系统。
系统和顾客之间的交互过程如下:
虚拟天猫采用顾客的特点向量,包括顾客描述和顾客查询。
系统依据整个商品集的查询表单检索一组相关的商品。
系统使用一个模型来分配与商品属性对应的权重向量。
系统估算每位商品的权重向量与商品属性的乘积,并选择值最高的前10个商品。
选取的10个商品将发送给顾客。之后,顾客将选择单击个别项(CTR++),浏览下一页,或离开平台。
在上述过程中,将训练步骤3中的模型。模型输入顾客特点,输出27维权重向量。
监督学习的用法
数据集在:
virtualTB/SupervisedLearning/dataset.txt
数据集的每一行都包含一个特点、标签和单击次数的实例,由制表符分隔。
为了从数据集训练模型,下边的代码使用进行了演示
virtualTB/SupervisedLearning/main.py
它包含从数据集加载、模型训练和模型测试的完整过程。
加强学习的用法
下边是一个使用作为加强学习环境的最简单示例。每一步都采样一个随机操作来执行推荐。
import gym
import virtualTB
env = gym.make('VirtualTB-v0')
print(env.action_space)
print(env.observation_space)
print(env.observation_space.low)
print(env.observation_space.high)
state = env.reset()
while True:
env.render()
action = env.action_space.sample()
state, reward, done, info = env.step(action)
if done: break
env.render()
下边是一个采用DDPG加强学习算法和的更完整的事例
virtualTB/ReinforcementLearning/main.py
论文下载:
开源地址:
【加入社群】