CN110175678A - 用于模拟复杂的强化学习环境的系统和方法 - Google Patents
用于模拟复杂的强化学习环境的系统和方法 Download PDFInfo
- Publication number
- CN110175678A CN110175678A CN201910354811.4A CN201910354811A CN110175678A CN 110175678 A CN110175678 A CN 110175678A CN 201910354811 A CN201910354811 A CN 201910354811A CN 110175678 A CN110175678 A CN 110175678A
- Authority
- CN
- China
- Prior art keywords
- resource
- entity
- model
- intensified learning
- output
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/004—Artificial life, i.e. computing arrangements simulating life
- G06N3/006—Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/082—Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
- G06N5/043—Distributed expert systems; Blackboards
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N7/00—Computing arrangements based on specific mathematical models
- G06N7/01—Probabilistic graphical models, e.g. probabilistic networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Biomedical Technology (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biophysics (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Medical Informatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
公开了一种用于模拟向多个实体分配资源的计算系统。所述计算系统可以被配置为将描述模拟实体的偏好和/或需求的实体简档输入到强化学习代理模型中,并且接收作为强化学习代理模型的输出的分配输出,所述分配输出描述用于所述模拟实体的资源分配。所述计算系统可以基于所述分配输出描述的资源分配来选择一个或多个资源,并提供资源给实体模型,所述实体模型被配置为模拟描述模拟实体的响应的模拟响应输出。所述计算系统可以接收作为实体模型的输出的模拟响应输出,并基于所述模拟响应输出更新描述至少一个资源的资源简档和/或实体简档。
Description
技术领域
本公开一般涉及用于模拟强化学习环境的系统和方法。更具体地,本公开涉及用于模拟系统的系统和方法,其能够测试或以其他方式学习各种不同的强化学习策略或模型。
背景技术
可以使用各种技术在模拟环境中训练强化学习代理(agent)。通常,强化学习代理基于其对模拟环境的动作被给予奖励。代理随着时间学习策略(policy),目的是最大化其收到的奖励。然而,现实环境通常比目前在强化学习系统中使用的模拟环境更复杂。
发明内容
本公开的实施例的方面和优点将部分地在以下描述中阐述,或者可以从描述中学习,或者可以通过实施例的实践来学习。
本公开的一个示例方面涉及一种用于模拟向多个实体分配资源的计算系统。计算系统可以包括一个或多个处理器和强化学习代理模型,其被配置为接收描述模拟实体的偏好或需求中的至少一个的实体简档(profile)。响应于接收实体简档,强化学习代理模型可以输出描述多个实体的对模拟实体的资源分配的分配输出。计算系统可以包括被配置为接收描述至少一个资源的数据的实体模型,并且响应于接收描述该至少一个资源的数据,模拟描述模拟实体对描述至少一个资源的数据的响应的模拟响应输出。计算系统可以包括共同存储指令的一个或多个非暂时性计算机可读介质,当由一个或多个处理器执行时,所述指令使计算系统执行操作。操作可以包括将实体简档输入到强化学习代理模型中;接收作为强化学习代理模型的输出的分配输出,其描述对模拟实体的资源分配;基于由分配输出描述的资源分配,选择要提供给实体模型的至少一个资源;向实体模型提供至少一个资源;接收作为实体模型的输出的模拟响应输出,其描述模拟实体对至少一个资源的响应;以及基于模拟响应输出更新描述至少一个资源或实体简档的资源简档中的至少一个。
本公开的另一示例方面涉及一种用于模拟向多个实体分配资源的方法。该方法可以包括由一个或多个计算设备向强化学习代理模型输入实体简档,所述实体简档描述模拟实体的偏好或需求中的至少一个。强化学习代理模型可以被配置为接收实体简档,并且响应于所接收的实体简档,输出描述对模拟实体的资源分配的分配输出。该方法可以包括由一个或多个计算设备接收作为强化学习代理模型的输出的分配输出,其描述对模拟实体的资源分配;基于由分配输出所描述的资源分配,由一个或多个计算设备选择至少一个资源以模拟向实体模型提供被配置为接收描述至少一个资源的数据的实体模型,并且响应于接收描述至少一个资源的数据,模拟描述模拟实体对描述至少一个资源的数据的响应的模拟响应输出;由一个或多个计算设备向实体模型提供描述至少一个资源的数据;由一个或多个计算设备接收作为实体模型的输出的模拟响应输出,其描述模拟实体对至少一个资源的响应;以及由所述一个或多个计算设备基于模拟响应输出更新描述至少一个资源的资源简档或实体简档中的至少一个。
本公开的其他方面涉及各种系统、装置、非暂时性计算机可读介质、用户界面和电子设备。
参考以下描述和所附权利要求,将更好地理解本公开的各种实施例的这些和其他特征、方面和优点。结合在本说明书中并构成本说明书的一部分的附图示出本公开的示例实施例,并与说明书一起用于说明相关原理。
附图说明
在参考了附图的说明书中阐述了针对本领域普通技术人员的实施例的详细讨论,其中:
图1A描绘了根据本公开的示例实施例的用于使用强化学习代理模型来模拟对多个实体的资源分配的示例计算系统的框图。
图1B描绘了根据本公开的示例实施例的用于使用强化学习代理模型来模拟对多个实体的资源分配的示例计算设备的框图。
图1C描绘了根据本公开的示例实施例的用于使用强化学习代理模型来模拟对多个实体的资源分配的示例计算设备的框图。
图2描绘了根据本公开的示例实施例的机器学习的强化学习代理模型。
图3描绘了根据本公开的示例实施例的用于模拟对多个实体的资源分配的系统的实施例。
图4描绘了根据本公开的示例实施例的用于模拟对多个实体的资源分配的系统的另一实施例。
图5A描绘了根据本公开的示例实施例的用于模拟推荐系统的系统的实施例。
图5B示出了根据本公开的示例实施例的用于图5A的系统的用户转变模型的示例更新关联函数的示例图。
图6描绘了根据本公开的示例实施例的用于使用强化学习代理模型来模拟对多个实体的资源分配的示例方法的流程图。
图7A至图7C示出了图5A的系统的模拟数据,包括平均节目(episode)长度、预测的点击率(pCTR)和作为各种模型的训练步骤的函数的平均回报(return)。
图8A至图8U示出了上面参考图7A至图7C描述的实验的模拟数据,包括使用代理中的每一个推荐的版块(slate),簇(cluster)随时间被观看的比例。
图9A至图9C示出了用于图5A的系统的模拟数据,其中,选择模型的参数使得多项比例和指数级联模型的随机策略产生类似的回报。
图10A到图10C示出了使用级联模型用于在CSDQN模型内的用户选择和多项比例的结果。
图11A至图11U示出了用于上面参考图10A至图10C描述的实验的模拟数据,包括使用代理中的每一个推荐的版块,簇随时间被观看的比例。
在多个附图中重复的附图标记旨在标识各种实现中的相同特征。
具体实现
通常,本公开涉及用于模拟系统的系统和方法,所述模拟系统能够测试或以其他方式学习各种不同的强化学习策略或模型。因此,可以模拟环境,其中可以在现实环境中实施之前(或不实施)测试策略、规则、设置或其他强化学习属性。作为一个示例,模拟系统可以包括操作以提供模拟环境的不同组件,其中强化学习代理可以学习将资源分配给多个实体,诸如工业设置中的资源分配、竞争计算任务的计算资源的分配、和/或选择文档或其他内容以经由推荐系统提供给用户。具体地,根据本公开的一个方面,系统和方法可以基于它们与模拟环境的相互作用和/或在模拟环境中观察到的结果来对随时间转变的资源消耗实体和/或资源进行建模。因此,所公开的系统和方法对于模拟环境特别有用,所述模拟环境允许强化学习代理学习以这种动态环境中的短期负面影响为代价而优先考虑长期利益的策略。因此,可以在现实环境中实施之前模拟策略或其他强化学习属性,其中,实验可能过于昂贵或不切实际。
在一些实现中,可以将系统和方法提供为基于云的服务,其中用户可以提供预训练或预配置的强化学习代理模型。用户可以设置或调整输入和/或设置以定制模拟环境,例如模拟其中用户意图部署强化学习代理模型的现实环境。然后,用户可以在模拟环境中模拟强化学习代理模型随时间的性能,以预测和/或优化在现实环境中代理模型或其多个不同变体的性能。
根据本公开的一个方面,计算系统可以包括强化学习代理模型和对模拟环境内的实体建模的实体模型。强化学习代理模型可以被配置为接收描述模拟实体的偏好或需求中的至少一个的实体简档(例如,工业过程)。响应于接收实体简档,强化学习代理模型可以输出描述用于模拟实体的资源分配的分配输出(例如,工业过程的输入,诸如原材料、燃料、设置和/或类似)。例如,根据各种示例配置,强化学习代理模型可以应用所习得的策略来生成分配输出,以尝试最大化由代理模型随时间接收的累积奖励。
实体模型可以被配置为接收描述由强化学习代理模型生成的资源分配的数据。响应于接收数据,实体模型可以被配置为模拟描述模拟实体对数据描述资源分配的响应的模拟响应输出(例如,工业过程的更新状态或性能度量)。
因此,计算系统可以使用实体模型来模拟强化学习代理模型的环境,其中一个或多个模拟实体响应由强化学习代理模型为实体生成的一个或多个资源分配。
更具体地,计算系统可以将实体简档输入到强化学习代理模型中,并且接收作为强化学习代理模型的输出的分配输出,其描述对模拟实体的资源分配。计算系统可以基于由分配输出所描述的资源分配来选择至少一个资源以提供给实体模型。计算系统可以向实体模型提供资源,并且接收作为实体模型的输出的模拟响应输出,其描述模拟实体对至少一个资源的响应。
根据本公开的一个方面,计算系统可以基于模拟响应输出来更新描述至少一个资源的资源简档或实体简档中的至少一个。例如,在模拟实体对资源分配的响应之后,可以更新或以其他方式转变实体模型的各种特征或状态。可以迭代地执行上述步骤中的一些或全部以模拟在模拟环境中随时间强化学习代理模型的学习。另外,更新实体简档和/或资源简档可以允许实体和/或资源的相应状态或特性在模拟中随时间改变以模拟动态实体和/或资源。因此,模拟环境模拟实体特征、行为或状态变化的能力可以使强化学习代理学习明确考虑并基于实体可能随时间对资源分配具有动态和变化响应,以及此外,这种动态和变化的响应可以是随时间提供给实体的所提供的资源分配的函数的事实的策略。以这种方式,本公开的方面使得能够在模拟环境中学习相对于动态地改变资源消耗实体具有改进的性能的强化学习代理。
所公开的系统和方法可以用于模拟各种现实世界的实体和环境。如上所述,在一些实现中,模拟实体可以包括工业过程(例如,制造、发电等)。资源可以包括对工业过程的输入,诸如原材料、燃料、设置(例如,温度、处理速率、生产速率)和/或类似物。模拟响应输出可以包括更新状态、状态变化、或者描述工业过程或其响应于接收资源的变化的其他数据。
作为另一示例,模拟实体可以包括计算任务或计算任务的源。资源可以包括用于运行计算任务的计算资源,诸如工作者(例如,服务器计算设备、处理器的处理核心、物理计算设备、虚拟机等)。模拟响应输出可以包括更新状态、状态变化或描述响应于接收资源的计算任务或计算任务源中的响应或变化的其他数据。
作为另一个示例,本文公开的系统和方法可以用于模拟用于向人类用户推荐内容的推荐系统。模拟实体可以包括模拟的人类用户。资源可以包括用于由模拟的人类用户查看或参与的内容。示例资源包括文本、音频或图形内容(例如,图像、视频、文章或其他媒体内容)。这样的资源可以统称为“文档”。模拟响应输出可以包括参与度量,诸如文档是否被查看(例如,“点击”)、交互时间、用户评级等。
在一些实现中,代理模型可以包括基于作为模拟响应输出的函数的奖励而学习的强化学习代理。奖励可以与模拟响应输出的期望特征正相关。示例包括与工业过程或计算过程相关联的输出或性能度量。在另一示例中,奖励可以与描述模拟的人类用户关于资源的参与或正反馈的一个或多个参与度量正相关。
在一些实现中,实体简档可以描述实体的“程式化”模型,其中实体的一些或所有特征具有可解释的含义。采用具有可解释的含义的特征可以提供对随时间特定实体响应如何影响强化学习代理模型和/或强化学习代理模型的动作如何影响实体的洞察。实体简档可以包括或描述工业过程和/或计算过程的需求(例如,温度、速率等)。作为另一示例,实体简档可以包括描述模拟的人类用户的兴趣和/或偏好的用户简档。
例如,实体简档可以包括一个或多个“兴趣”特征。兴趣特征可以包括描述模拟的人类用户对各个主题(例如,体育、音乐等)的关联的元素。兴趣特征的范围可以从代表对相应主题的强烈不喜欢的负下限到代表对相应主题的强烈喜欢的正上限。
作为另一示例,实体简档可以包括一个或多个“预算”特征。预算特征可以描述模拟的人类用户与内容交互的可用时间量。可以向模拟的人类用户提供资源,直到预算达到最小阈值(例如,零)。然后可以选择另一个模拟的人类用户进行模拟。然而,在一些实现中,可以同时向多个模拟的人类用户(或其他实体)提供资源。
在一些实现中,计算系统可以包括用户转变模型,其被配置为响应于接收描述模拟响应输出的数据而生成更新的一组用户隐藏状态特征。计算系统可以提供描述模拟响应输出到用户转变模型的数据,并基于用户隐藏状态特征更新实体简档。可以从强化学习代理隐藏一些或所有用户隐藏状态特征。实体简档可以包括可由强化学习代理访问(例如,输入)的用户可观察特征。可以基于用户隐藏状态特征来更新用户可观察特征。因此,强化学习代理可能无法立即发现有关该实体的某些信息。可以训练强化学习代理以选择资源以提供给实体,使得可以在模拟期间发现关于实体的信息。因此,可以训练强化学习代理以平衡关于“多臂老虎机”上下文中的实体的信息的开发和探索。
在一些实现中,计算系统可以包括资源模型,其被配置为接收描述多个资源的数据,并且响应于接收描述多个资源的数据,输出资源可观察特征。可以训练强化学习代理模型以至少部分地基于资源可观察特征来选择分配输出。资源可观察特征可以描述资源并且可由强化学习代理模型访问(例如,输入)。更具体地,计算系统可以将描述多个资源的数据输入到资源模型中,并且接收作为资源模型的输出的资源可观察特征。计算系统可以将资源可观察特征输入到强化学习代理模型中。资源简档还可以包括强化学习代理模型不可访问(例如,输入)的隐藏特征。因此,可以训练强化学习代理以平衡关于“多臂老虎机”上下文中的资源的信息的开发和探索。
资源简档的特征(例如,可观察的和/或隐藏特征)可以描述资源。作为一个示例,在推荐系统应用中,资源简档可以包括“属性”特征,其包括描述文档主题的一个或多个元素。“属性”特征可以包括对应于各个话题的元素。元素的范围可以从最小值到最大值,以指示文档与相应主题的相关性。
作为另一示例,资源简档可以包括“长度”特征。长度特征可以描述与文档参与(engaging)相关联的时间长度。例如,长度特征可以描述视频的长度。
作为又一示例,资源简档可以包括“质量”特征。“质量特征”可以描述文档包括高质量内容的程度,而不是首先看起来有趣但不提供有意义或关于进一步参与的相关信息的内容(例如,“点击诱饵”)。“质量”特征可以描述更客观的质量测量,诸如视频的视频质量、文章的写作质量等。
在一些实现中,计算系统可以模拟向模拟实体提供多个资源,模拟实体可以从中“选择”参与或消费的资源。更具体地,模拟响应输出可以包括少于提供给模拟实体的所有资源的选择。例如,在推荐系统示例中,强化学习代理可以选择多个文档(例如,视频、文章、图像、广告等)并且在“版块”中向模拟的人类用户提供文档。“版块”可以包括推荐文件列表,用于查看或以其他方式参与。在这样的实现中,模拟响应输出可以描述实体对少于所有多个资源项的选择。例如,模拟的人类用户可以从版块中呈现的多个文档中选择一个文档。
例如,实体模型可以包括离散选择模型。离散选择模型通常被配置为从有限的项目组中选择一个项目。离散选择模型可以被配置为从多个资源(例如,文档的版块)中选择一个资源。离散选择模型可以采用各种合适的函数,包括多项比例函数、多项logit函数、指数级联函数和/或类似函数。
本公开的系统和方法定义了用于模拟向多个实体分配资源的特定技术实现。所描述的技术的实现因此提供了技术功能,允许虚拟试验,其是熟练技术人员的工具包的实用的和实践导向的一部分。此外,本公开的系统和方法提供了许多额外的技术效果和益处。作为一个示例,本文描述的系统和方法可以帮助开发和/或优化用于控制工业过程(诸如发电)的强化学习代理。提高效率控制和/或监控这些过程可以减少浪费并节省能源。
作为一个示例,本公开的系统和方法可以包括在或以其他方式采用于应用、浏览器插件或其他环境的上下文中。因此,在一些实现中,本公开的模型可以包括在,或以其他方式存储和实现在诸如膝上型电脑、版块电脑或智能电话之类的用户计算设备中。作为又一示例,模型可以包括在,或以其他方式存储和实现在根据客户端-服务器关系与用户计算设备通信的服务器计算设备。例如,模型可以由服务器计算设备实现为web服务的一部分(例如,web电子邮件服务)。
现在参考附图,将更详细地讨论本公开的示例实施例。
示例设备和系统
图1A描绘了根据本公开的示例实施例的用于模拟强化学习环境的示例计算系统100的框图。系统100包括通过网络180通信地耦合的用户计算设备102、服务器计算系统130和训练计算系统150。
用户计算设备102可以是任何类型的计算设备,诸如,个人计算设备(例如,膝上型或台式)、移动计算设备(例如,智能电话或版块电脑)、游戏控制台或控制器、可穿戴计算设备、嵌入式计算设备或任何其他类型的计算设备。
用户计算设备102包括一个或多个处理器112和存储器114。一个或多个处理器112可以是任何合适的处理设备(例如,处理器核、微处理器、ASIC、FPGA、控制器、微控制器等)并且可以是一个处理器或多个可操作地连接的处理器。存储器114可以包括一个或多个非暂时性计算机可读存储介质,诸如RAM、ROM、EEPROM、EPROM、闪存设备以及它们的组合。存储器114可以存储由处理器112运行的数据116和指令118,以使用户计算设备102执行操作。
用户计算设备102可以存储或包括一个或多个强化学习代理模型120、实体模型122和/或资源模型124。例如,强化学习代理模型120、实体模型122和/或资源模型124可以是或可以包括各种机器学习模型,诸如神经网络(例如,深度神经网络)或其他多层非线性模型。神经网络可以包括递归神经网络(例如,长期短期记忆复现神经网络)、前馈神经网络或其他形式的神经网络。参考图2至图5讨论示例强化学习代理模型120。
在一些实现中,一个或多个强化学习代理模型120可以通过网络180从服务器计算系统130接收,存储在用户计算设备存储器114中,并且由一个或多个处理器112使用或以其他方式实现。在一些实现中,用户计算设备102可以实现单个强化学习代理模型的多个并行实例。
附加地或替代地,一个或多个强化学习代理模型140、实体模型142和/或资源模型144可以包括在或以其他方式存储和实现在服务器计算系统130中,其根据客户端-服务器关系与用户计算设备102通信。例如,强化学习代理模型140、实体模型142和/或资源模型144可以由服务器计算系统140实现为web服务的一部分(例如,强化学习模拟服务)。因此,可以在用户计算设备102处存储和实现一个或多个模型120、122、124和/或可以在服务器计算系统130处存储和实现一个或多个模型140、142、144。
用户计算设备102还可以包括接收用户输入的一个或多个用户输入组件122。例如,用户输入组件122可以是对用户输入对象(例如,手指或触控笔)的触摸敏感的触敏组件(例如,触敏的显示屏或触摸板)。触敏组件可用于实现虚拟键盘。其他示例用户输入组件包括麦克风、传统键盘或用户可以输入通信的其他方式。
服务器计算系统130包括一个或多个处理器132和存储器134。一个或多个处理器132可以是任何合适的处理设备(例如,处理器核、微处理器、ASIC、FPGA、控制器、微控制器等),并且可以是一个处理器或多个可操作地连接的处理器。存储器134可以包括一个或多个非暂时性计算机可读存储介质,诸如RAM、ROM、EEPROM、EPROM、闪存设备、磁盘等以及它们的组合。存储器134可以存储由处理器132运行的数据136和指令138,以使服务器计算系统130执行操作。
在一些实现中,服务器计算系统130包括一个或多个服务器计算设备或由一个或多个服务器计算设备以其他方式实现。在服务器计算系统130包括多个服务器计算设备的情况下,这样的服务器计算设备可以根据顺序计算体系结构、并行计算体系结构或其某种组合操作。
如上所述,服务器计算系统130可以存储或以其他方式包括一个或多个强化学习代理模型140、实体模型142和/或资源模型144。例如,模型140可以是或可以以其他方式包括各种机器-学习模型,例如神经网络(例如,深度递归神经网络)或其他多层非线性模型。参考图2至图5讨论示例模型140、142、144。
在一些实现中,可以将系统和方法提供为基于云的服务(例如,通过服务器计算系统130)。用户可以提供预训练或预配置的强化学习代理模型。用户可以设置或调整输入和/或设置以定制模拟环境,例如模拟用户意图部署强化学习代理模型的现实环境。然后,用户可以在模拟环境中模拟强化学习代理模型随时间的性能,以预测和/或优化在现实环境中代理模型或其多个不同变体的性能。
服务器计算系统130可以经由与通过网络180通信地耦合的训练计算系统150的交互来训练模型140。训练计算系统150可以与服务器计算系统130分离或者可以是服务器计算系统130的一部分。
训练计算系统150包括一个或多个处理器152和存储器154。一个或多个处理器152可以是任何合适的处理设备(例如,处理器核、微处理器、ASIC、FPGA、控制器、微控制器等),并且可以是一个处理器或多个可操作地连接的处理器。存储器154可以包括一个或多个非暂时性计算机可读存储介质,诸如RAM、ROM、EEPROM、EPROM、闪存设备、磁盘等以及它们的组合。存储器154可以存储由处理器152运行的数据156和指令158,以使训练计算系统150执行操作。在一些实现中,训练计算系统150包括一个或多个服务器计算设备或者以其他方式由一个或多个服务器计算设备实现。
训练计算系统150可以包括模型训练器160,其使用各种训练或学习技术(诸如,向后传播错误)训练存储在服务器计算系统130处的机器学习模型140、142、144。在一些实现中,执行错误的向后传播可以包括通过时间执行截断的反向传播。模型训练器160可以执行多种泛华技术(例如,权重衰减、dropout等)以改进被训练的模型的泛化能力。
具体地,模型训练器160可以基于训练数据142训练或预训练强化学习代理模型140、实体模型142和/或资源模型144。训练数据142可以包括标记的和/或未标记的数据。例如,训练数据142可以包括与现实环境(例如,工业过程、推荐系统等)相关联的资源分配数据。
在一些实现中,如果用户已经提供了同意,则训练示例可以由用户计算设备102提供(例如,基于由用户计算设备102的用户先前提供的通信)。因此,在这样的实现中,提供给用户计算设备102的模型120可以由训练计算系统150对从用户计算设备102接收的用户特定通信数据进行训练。在一些情况下,该过程可以被称为个性化模型。
模型训练器160包括用于提供所需功能的计算机逻辑。模型训练器160可以用控制通用目的处理器的硬件、固件和/或软件来实现。例如,在一些实现中,模型训练器160包括存储在存储设备上的程序文件,加载到存储器中并由一个或多个处理器运行。在其他实现中,模型训练器160包括存储在有形计算机可读存储介质(诸如RAM硬盘或光学或磁性媒体)中的一组或多组计算机可执行指令。
网络180可以是任何类型的通信网络,诸如局域网(例如,内联网)、广域网(例如,因特网)、或其某种组合,并且可以包括任何数量的有线或无线链路。通常,通过网络180的通信可以经由任何类型的有线和/或无线连接,使用各种通信协议(例如,TCP/IP、HTTP、SMTP、FTP)、编码或格式(例如,HTML、XML)和/或保护方案(例如,VPN、安全HTTP、SSL)来承载。
图1A示出了可用于实现本公开的一个示例计算系统。也可以使用其他计算系统。例如,在一些实现中,用户计算设备102可以包括模型训练器160和训练数据集162。在这样的实现中,模型120可以在用户计算设备102处本地训练并且使用。在一些这样的实现中,用户计算设备102可以实现模型训练器160以基于用户特定数据来个性化模型120。
图1B描绘了根据本公开的示例实施例执行的示例计算设备10的框图。计算设备10可以是用户计算设备或服务器计算设备。
计算设备10包括多个应用(例如,应用1到N)。每个应用包含其自己的机器学习库和机器学习模型。例如,每个应用可以包括机器学习模型。示例应用包括文本消息传递应用、电子邮件应用、听写应用、虚拟键盘应用、浏览器应用等。
如图1B所示,每个应用可以与计算设备的多个其他组件通信,诸如,例如一个或多个传感器、上下文管理器、设备状态组件和/或附加组件。在一些实现中,每个应用可以使用API(例如,公共API)与每个设备组件通信。在一些实现中,由每个应用使用的API特定于该应用。
图1C描绘了根据本公开的示例实施例执行的示例计算设备50的框图。计算设备50可以是用户计算设备或服务器计算设备。
计算设备50包括多个应用(例如,应用1到N)。每个应用与中央智能层通信。示例应用包括文本消息收发应用、电子邮件应用、听写应用、虚拟虚拟键盘应用、浏览器应用等。在一些实现中,每个应用可以使用API(例如,跨所有应用的公共API)与中央智能层(以及存储在其中的模型)通信。
中央智能层包括多个机器学习模型。例如,如图1C所示,可以为每个应用提供各自的机器学习模型(例如,模型)并由中央智能层管理。在其他实现中,两个或更多个应用可以共享单个机器学习模型。例如,在一些实现中,中央智能层可以为所有应用提供单个模型(例如,单个模型)。在一些实现中,中央智能层包括在计算设备50的操作系统内或以其他方式由计算设备50的操作系统实现。
中央智能层可以与中央设备数据层通信。中央设备数据层可以是用于计算设备50的集中数据存储库。如图1C所示,中央设备数据层可以与计算设备的多个其他组件(诸如,例如一个或多个传感器、上下文管理器、设备状态组件和/或附加组件)通信。在一些实现中,中央设备数据层可以使用API(例如,私有API)与每个设备组件通信。
示例模型布置
图2描绘了根据本公开的示例实施例的示例强化学习模型200的框图。在一些实现中,强化学习模型200被训练为接收描述模拟实体(例如,工业过程)的偏好或需求的至少一个的实体简档202。响应于接收实体简档202,提供描述对模拟实体的资源分配的分配输出204(例如,工业过程的输入,诸如原材料、燃料、设置等)。例如,根据各种示例配置,强化学习代理模型200可以应用学习策略来生成分配输出204,以试图最大化由代理模型随时间接收的累积奖励。
图3描绘了根据本公开的示例实施例的示例强化学习仿真系统300的框图。强化学习仿真系统300可以包括强化学习代理模型302,例如如上参考图2所述。
强化学习模拟系统300可以基于分配输出306描述的资源分配来选择至少一个资源308以提供给实体模型310。实体模型308可以被配置为接收描述资源308的数据,并且响应于接收描述资源308的数据,模拟模拟响应输出312,其描述模拟实体对描述至少一个资源308的数据的响应。
强化学习模拟系统300可以基于模拟响应输出312来更新描述至少一个资源的资源简档或实体简档304中的至少一个。
因此,强化学习模拟系统300可以使用实体模型310来模拟用于强化学习代理模型302的环境,其中一个或多个模拟实体响应由强化学习代理模型302为实体生成的一个或多个资源分配。
更具体地,计算系统可以将实体简档304输入到强化学习代理模型302中,并且接收作为强化学习代理模型302的输出的分配输出306,其描述对模拟实体的资源分配。计算系统可以基于分配输出306描述的资源分配来选择至少一个资源308以提供给实体模型310。计算系统可以将资源308提供给实体模型310并且接收作为实体模型的输出的模拟响应输出310,其描述模拟实体对至少一个资源308的响应。
根据本公开的一个方面,计算系统可以基于模拟响应输出312来更新描述至少一个资源的资源简档或实体简档304中的至少一个。例如,在模拟实体对资源分配的响应之后,可以更新或以其他方式转换实体模型310的各种特性或状态。可以迭代地执行上述步骤中的一些或全部以模拟强化学习代理模型302在模拟环境中随时间的学习。另外,更新实体简档304和/或资源简档可以允许实体和/或资源的相应状态或特性在模拟中随时间改变以模拟动态实体和/或资源。因此,模拟环境的模拟实体特征、行为或状态变化的能力可以使强化学习代理学习明确考虑并基于实体可能随时间对资源分配具有动态和变化响应的事实的策略,此外,这种动态和变化的响应可以是随时间提供给实体的所提供的资源分配的函数。以这种方式,本公开的方面使得能够在模拟环境中学习相对于动态改变的资源消耗实体具有改进的性能的强化学习代理。
所公开的系统和方法可以用于模拟各种现实世界的实体和环境。如上所述,在一些实现中,模拟实体可以包括工业过程(例如,制造、发电等)。资源308可以包括对工业过程的输入,诸如原材料、燃料、设置(例如,温度、处理速率、生产率)等。模拟响应输出312可以包括响应于接收资源的更新状态、状态变化、或者描述工业过程或其变化的其他数据。
作为另一示例,模拟实体可以包括计算任务或计算任务的源。资源308可以包括用于运行计算任务的计算资源,诸如工作者(例如,服务器计算设备、处理器的处理核心、物理计算设备、虚拟机等)。模拟响应输出312可以包括更新状态、状态变化、或者描述响应于接收资源,计算任务或计算任务源的响应或变化的其他数据。
图4描绘了根据本公开的示例实施例的示例强化学习模拟系统400的框图。强化学习模拟系统400可以包括强化学习代理模型402和实体模型403,例如如上参考图2和图3所述。
强化学习模拟系统400可以基于由强化学习代理模型402输出的分配输出406所描述的资源分配,选择至少一个资源404提供给实体模型403。实体模型403可以被配置为接收描述资源404的数据,并且响应于接收描述资源404的数据,模拟描述模拟实体对描述至少一个资源404的数据的响应的模拟响应输出408。
根据本公开的一个方面,计算系统可以基于模拟响应输出408来更新描述至少一个资源的资源简档410和/或实体简档412(例如,使用实体转换模型414)。例如,在模拟实体对资源分配的响应之后,可以更新或以其他方式转换实体模型403的各种特性或状态。计算系统可以基于模拟响应输出408更新描述资源404的资源简档410或实体简档412。例如,系统400可以包括资源模型411,其被配置为接收描述包括至少一个资源(例如,包括资源简档410)的多个资源的数据。资源模型411可以被配置为响应于接收描述多个资源(例如,资源简档410)的数据而输出资源可观察特征413。可以训练强化学习代理模型402以至少部分地基于资源可观察特征413来选择分配输出406。因此,计算系统可以模拟其中资源特性随时间改变的环境。
在一些实现中,强化学习模拟系统400可以包括实体转换模型414,其被配置为响应于接收描述模拟响应输出408的数据而生成更新的一组实体隐藏状态特征416。计算系统可以提供描述模拟响应输出408的数据到实体转换模型414,并基于实体隐藏状态特征416更新实体简档412。例如,实体简档412可以包括实体隐藏状态特征416。实体隐藏状态特征416的部分或全部可以从强化学习代理模型402隐藏。实体简档412可以包括可由强化学习代理模型402访问(例如,输入)的实体可观察特征418。实体可观察特征418可以基于实体隐藏状态特征416更新。因此,关于实体的一些信息可能不能立即地由强化学习代理模型402发现。可以训练强化学习代理模型402以选择资源以提供给实体,使得可以在模拟期间发现关于实体的信息。因此,可以训练强化学习代理以平衡关于“多臂老虎机”上下文中的实体的信息的开发和探索。
在一些实现中,代理模型402可以包括基于作为模拟响应输出408的函数的奖励而学习的强化学习代理。奖励可以与模拟响应输出408的期望特征正相关。示例包括与工业过程或计算过程相关的输出或性能度量。在另一示例中,奖励可以与描述模拟的人类用户关于资源的参与或正反馈的一个或多个参与度量正相关。
在一些实现中,实体简档412可以描述实体的“程式化”模型,其中实体的一些或所有特征具有可解释的含义。采用具有可解释的含义的特征可以提供关于随时间特定实体响应408如何影响强化学习代理模型402和/或强化学习代理模型402的动作如何影响实体(例如,如实体简档412所描述)的洞察。例如,实体简档412可以包括或描述工业过程和/或计算过程的需求(例如,温度,速率等)。作为另一示例,实体简档412可以包括描述模拟的人类用户的兴趣和/或偏好的用户简档。
因此,计算系统可以使用实体模型403、资源模型411和/或实体转换模型414来模拟强化学习代理模型402的环境,其中一个或多个模拟实体响应由强化学习代理模型402为实体生成的一个或多个资源分配。另外,系统可以基于它们与模拟环境的相互作用和/或在模拟环境中观察到的结果来模拟随时间转换的资源消耗实体和/或资源。例如,更新实体简档412和/或资源简档410可以允许实体和/或资源的各自状态或特性在模拟中随时间改变以模拟动态实体和/或资源。
图5A描绘了根据本公开的方面的用于模拟用于向人类用户推荐内容的推荐系统的系统500的框图。模拟实体可以包括模拟的人类用户。资源可以包括用于由模拟的人类用户查看或参与的内容。示例资源包括文本、音频或图形内容(例如,图像、视频、文章或其他媒体内容)。这些资源可以统称为“文档”。尽管下面参考“模拟的人类用户”和“文档”描述系统500,但是应该理解,系统500的各方面可以用于其他上下文,包括工业过程和/或计算过程。
以上参考图4描述的系统400的某些元素可以对应于图5的系统500的元素。例如,图4的模拟响应输出408可以对应于图5的模拟用户响应508。用户响应508可以包括参与度量,诸如文档是否被查看(例如,“点击”)、交互时间、用户评级等。
在一些实现中,代理模型502可以包括基于作为模拟响应输出的函数的奖励而学习的强化学习代理(例如,模拟用户响应508)。奖励可以与模拟响应输出的期望特征(例如,模拟用户响应508)正相关。例如,奖励可以与描述模拟的人类用户关于资源的参与或正反馈的一个或多个参与度量正相关。
在一些实现中,用户简档512可以描述模拟的人类用户的“程式化”模型,其中模拟的人类用户的一些或所有特征具有可解释的含义。采用具有可解释的含义的特征可以提供对随时间特定模拟用户响应508如何影响强化学习代理模型502和/或强化学习代理模型502的动作如何影响模拟的人类用户(例如,用户简档512)的洞察。用户简档512可以描述模拟的人类用户的兴趣和/或偏好。
用户简档512可以包括用户可观察特征和/或上下文518,用户隐藏状态特征516和/或基本用户简档513,其可以在任何更新发生之前初始地描述用户隐藏状态特征516。用户转变模型514可以被配置为从用户简档512接收用户隐藏状态特征516,从用户选择模型503接收模拟用户响应508,和/或从文档模型511接收资源504(例如,文档的版块)。作为响应,用户转变模型514可以被配置为输出下一个用户隐藏状态特征517。然后,系统500可以用下一个用户隐藏状态特征517更新现有用户隐藏状态特征516。可以从强化学习代理502隐藏所有用户隐藏状态特征516。用户可观察特征518可以由强化学习代理502来访问(例如,输入)。用户可观察特征518可以基于用户隐藏状态特征516来更新。因此,强化学习代理502可能无法立即发现关于用户的一些信息。强化学习代理502可以被训练为选择资源504(例如,选择包含在版块中的文档)以提供给模拟的人类用户,使得可以在模拟期间发现关于模拟的人类用户的信息。因此,可以训练强化学习代理502以在“多臂老虎机”上下文中平衡关于模拟的人类用户的信息的开发和探索。
因此,计算系统可以使用用户选择模型503、文档模型511和/或用户转变模型514来模拟强化学习代理模型502的环境,其中一个或多个模拟的人类用户响应一个或多个由强化学习代理模型502选择用于呈现给模拟的人类用户的更多资源(例如,文档)。此外,系统可以建模消耗资源的模拟的人类用户和/或文档,他们基于他们与模拟环境的交互和/或在模拟环境中观察到的结果(outcome)随时间转变。例如,更新用户简档512和/或资源简档510可以允许模拟的人类用户和/或资源的相应状态或特性在模拟中随时间改变以模拟动态人类用户和/或资源。
用户简档512可以包括关于模拟的人类用户的各种信息。例如,用户简档512可以包括一个或多个“兴趣”特征。兴趣特征可以包括描述模拟的人类用户对各个话题(例如,体育、音乐等)的关联的元素。兴趣特征的范围可以从代表对相应主题的强烈不喜欢的负下限到代表对相应主题的强烈喜欢的正上限。
作为另一示例,用户简档512可以包括一个或多个“预算”特征。预算特征可以描述可用于模拟的人类用户与文档交互的时间量(例如,用于观看视频)。可以将文档提供给模拟的人类用户,直到预算达到最小阈值(例如,零)。然后可以选择另一个模拟的人类用户进行模拟。然而,在一些实现中,可以同时向多个模拟的人类用户(或其他实体)提供资源。
如上所述,用户转变模型514可以基于呈现的版块504和如在模拟的人类用户响应508中指示的选择的项目来更新用户状态。
兴趣更新
可以只针对模拟用户参与的文档(例如,点击、观看)更新兴趣:
target(u,d)=Propertiesd-Interestsu
可以使用以下更新关联函数来缩放上述更新,其中y代表可能的最大更新分数,x代表更新应该为0的最大点。
图5B示出了用于对用户转变模型514的更新关联函数的当x=1和y=0.3的∝i的示例图。对于中性的兴趣,更新可以更大,以及对于更明确的兴趣,更新可以更小。
可以应用掩码,以便仅更新与文档的属性(例如,匹配)相关的兴趣。例如,属性可以是1热矢量编码。
mask=Propertiesd
基于模拟用户对文档F(u,d)的兴趣,可以以一定概率允许更新为正或负。因此,最终更新规则可表示如下:
在一些实现中,计算系统可以包括文档模型511,其被配置为接收描述多个资源的数据,并且响应于接收描述多个资源的数据(例如,包括文档简档510)。文档模型511可以被配置为输出文档可观察特征513。可以训练强化学习代理模型502以至少部分地基于文档可观察特征513输出分配输出506。文档可观察特征513可以描述可由强化学习代理模型502访问(例如,输入)的文档。更具体地,计算系统可以将描述多个资源的数据(例如,文档简档510)输入到文档模型511中,并且接收作为文档模型511的输出的文档可观察特征513。计算系统可以将文档可观察特征513输入到强化学习代理模型502中。文档简档510还可以包括强化学习代理模型502不可访问(例如,输入)的隐藏特征。因此,可以训练强化学习代理502以平衡关于“多臂老虎机”上下文中的文档的关于信息的开发和探索。
文档简档的特征(例如,可观察和/或隐藏特征)可以描述文档。作为一个示例,文档简档510和/或文档可观察特征513可以包括“属性”特征,其包括描述文档主题的一个或多个元素。“属性”特征可以包括对应于各自主题的元素。元素的范围可以从最小值到最大值,以指示文档与各自主题的相关性。
作为另一示例,文档简档510和/或文档可观察特征513可以包括“长度”特征。长度特征可以描述与文档参与相关联的时间长度。例如,长度特征可以描述视频的长度。
作为另一示例,文档简档510和/或文档可观察特征513可以包括“质量”特征。“质量特征”可以描述文档包括高质量内容的程度,而不是首先看起来有趣但不提供有意义的或进一步参与的相关信息的内容(例如,“点击诱饵”)。“质量”特征可以描述更客观的质量测量,例如视频的视频质量、文章的写作质量等。
在一些实现中,计算系统可以模拟向模拟的人类用户提供多个文档504(例如,文档的“版块”),模拟的人类用户可以从中“选择”参与或消费的资源。更具体地,模拟用户响应输出508可以包括少于提供给模拟的人类用户的所有文档的选择。例如,强化学习代理502可以选择多个视频、文章、图像、广告等,并在版块504中向模拟的人类用户提供文档。版块504可以包括用于查看或以其他方式参与的推荐文档的列表。在这样的实现中,模拟用户响应输出508可以描述模拟的人类用户对版块504中的多个文档的少于全部的选择。例如,模拟的人类用户可以从版块中呈现的多个文档中选择一个文档。
例如,用户选择模型503可以包括离散选择模型。离散选择模型通常被配置为从有限的项目组中选择一个项目。离散选择模型可以被配置为从多个文档504(例如,版块)中选择一个文档。离散选择模型可以采用各种合适的函数,包括多项比例函数、多项logit函数、指数级联函数和/或类似函数。
离散选择模型可以计算非标准化分数F(u,d)作为用户兴趣Interestsu和文档属性Propertiesd之间的点积:
F(u,d)=Interestsu·Propertiesd
给定提供给模拟的人类用户的不同文档的未标准化分数F的向量,用户选择模型503可以根据选择模型503的“概率函数”对文档进行采样/选择。示例概率函数包括多项比例函数、多项logit函数和指数级联函数。
多项比例
此模型计算在版块中选择文档d的概率为:
由于F(u,d)可以是负数,因此可以将得分移位最小可能得分(在此处所示的示例中,它为-1)以确保有效概率。此外,可以将“无点击(noclick)”分数添加到F以考虑没有选择项目的结果。
多项Logit
多项logit模型可以计算选择版块中的文档d的概率,如下所示:
使用此模型,通常不需要额外的移位。可以使用相同的“无点击”分数来模拟没有选择。
指数级联
多项比例和多项Logit模型两者在分配分数时通常不考虑版块中的项目位置。相比之下,指数级联模型假设一次给予一个项目“关注”,对于版块中较远的项目的关注呈指数下降。指数级联模型还假设每个项目具有充分关注的选择的基本概率P(u,d)。在位置i处的项目的点击机会可以计算为:
ρ(u,d)i=β0βiP(u,d)for i=0,1,2,…slate_size
其中β0代表基本选择概率;βi代表衰变因子;以及slate_size代表版块中的文档的数量。P(u,d)可以代表在不考虑位置的情况下选择项目的概率(例如,使用上述两个模型中的一个)。可以从i=0到slate_size的顺序考虑项目。一旦选择了一个项目,就可以终止该过程。本文描述的条件状态深度网络(CSDQN)算法假定选择模型是多项式比例类型。
预算更新
预算更新采用效用的角度。我们假设模拟的人类用户根据他们期望接收的效用,Utilitye来选择文档。
Utilitye(d)=F(u,d)
然而,模拟的人类用户实际接收的效用Utilityr是其预期效用,Utilitye和文档质量的加权总和:
Utilityr(d)=θe·Utilitye(d)+θd·Utilityd
下面的结果将所有质量分配给文档质量以显示更大的差距,但使用较小的数量也有效。将根据收到的效用和视频的长度更新预算。如果模拟的人类用户“观看”视频,则预算更新为:
Budgetu←Budgetu-VideoLength(d)+αb·VideoLength(d)·Utilityr(d)
其中αb是视频长度的一部分,用于延长会话,乘以规范化常数以使得Utilityr在[-1,1]之间。因此,当模拟用户观看更高质量的视频时,模拟的人类用户愿意延长会话,而显示低质量内容会缩短会话。
如果视频未被点击,则会应用恒定的步骤惩罚(在我们的示例中为0.5时间单位):
Budgetu←Budgetu-κ
响应模型
模拟的人类用户为版块上的每个元素提供响应。目前有两个响应变量:
1.“点击”:是否点击了文档;以及
2.“观看时间”:模拟的人类用户观看文档的时间长度。
对于此实验,我们假设点击的视频已完全消耗或查看。训练代理以优化整个会话的总观看时间。
本公开的系统和方法定义了用于模拟向多个实体分配资源的特定技术实现。因此,所描述的技术的实现提供了技术功能,允许虚拟试验,其是熟练技术人员的工具包的实践和实践导向的一部分。然而,本公开的系统和方法提供了许多额外的技术效果和益处。作为一个示例,本文描述的系统和方法可以帮助开发和/或优化用于控制工业过程(例如发电)的强化学习代理。提高效率控制和/或监控这些过程可以减少浪费并节省能源。
示例方法
图6描绘了根据本公开的示例实施例的示例方法的流程图。尽管出于说明和讨论的目的,图6描绘了以特定顺序执行的步骤,但是本公开的方法不限于特别示出的顺序或布置。在不脱离本公开的范围的情况下,可以以各种方式省略、重新布置、组合和/或调整方法600的各个步骤。
在602处,计算系统可以将描述模拟实体的偏好或需求中的至少一个的实体简档输入到强化学习代理模型,例如如上参照图2至图5B所述。
在604处,计算系统可以接收作为强化学习代理模型的输出的分配输出,其描述对模拟实体的资源分配,例如如上参考图2至图5B所述。
在606处,计算系统可以选择至少一个资源以基于由分配输出描述的资源分配来模拟向实体模型的提供,例如如上参照图3至图5B所述。
在608处,计算系统可以提供描述至少一种资源的数据给实体模型,例如如上面参考图3至图5B所述。
在610处,计算系统可以接收作为实体模型的输出的模拟响应输出,其描述模拟实体对至少一个资源的响应,例如如上参考图3至图5B所述。
在612处,计算系统可以基于模拟响应输出更新描述至少一个资源的资源简档或实体简档中的至少一个,例如如上参照图3至图5B所述。
仿真结果
首先,我们考虑模拟的人类用户遵循多项比例模型的情况。该模型匹配用于条件状态深q网络(CSDQN)模型的预测点击率(pCTR)模型。图7A、图7B和图7C显示对于CSDQN寿命值(LTV)模型、CSDQN myopic模型(gamma=0)、完美贪婪模型(总是选择前K个pCTR项目)和随机多项比例模型中的每一个的平均节目长度、版块上的pCTR、以及训练步骤(非节目)函数的平均回报。如图所示,LTV方法提供了最高的回报(2个时间单位,约占预算的1%,比myopic/greedy增加1.2%)。正如所料,myopic模型收敛于完美贪婪模型的相同回报。随时间显示的对簇的影响表明,高度的随机性是“小”增益的原因。
图8A至图8U示出了使用上述参考图7A至7C所述的实验的代理中的每一个推荐的版块,随时间簇被观看的次数的比例。图8A至图8M是低质量簇;图8N和图8O是中等质量;以及图8P至图8U是高质量。如图所示,CSDQN LTV模型随时间学会了建议更高质量的簇。对于低质量簇,CSDQN LTV模型通常低于其他簇,而对于高质量簇,它高于其他簇。由于总共有20个簇,并且一次只显示10个簇,因此并不总是可以选择高质量的簇。因此,有时代理必须选择低质量的簇。没有观看视频的次数的比例在图8U示出,标记为“AverageClusterWatch_None。”所有簇上贪婪代理的监观看比例(“AverageClusterWatch_None”除外)收敛到大致相同的值(~0.035-0.036),由于模拟的人类用户的兴趣也是均匀分布的,因此建议均匀地选择聚类。
图9A至图9C示出了如果底层用户选择模型不同则会发生什么。CSDQN模型假设用户选择以多项比例执行,但实际用户模型是具有多项比例基本概率的指数级联。为了使该实验与最后一个实验相当,调整选择模型的参数,使得多项比例和指数级联模型两者的随机策略产生相似的回报。
图10A至图10C示出了使用级联模型用于用户选择和在CSDQN模型中使用多项比例的结果。使用这种选择模型,预计观看时间增加约2至2.5%。结果显示与第一种情况类似的效果。最后,图11A至图11U示出了上面参考图10A至图10C描述的实验的数据。这些图表是通过单次运行生成的,每个点进行50次评估。更具体地,图11A至图11U示出了使用上述参考图10A至图10C的实验的代理中的每一个推荐的版块的随时间观看簇的次数的比例。图11A至11M是低质量簇;图11N和图11O是中等质量;以及图11P至图11U是高质量的。
额外公开
本文讨论的技术参考服务器、数据库、软件应用和其他基于计算机的系统,以及这些系统所采取的动作和发送到这些系统以及从这些系统发送的信息。基于计算机的系统的固有灵活性允许很好的组件之中和组件之间的各种可能的配置、组合以及任务和功能的划分。例如,本文讨论的过程可以使用单个设备或组件或多个设备或组件组合工作来实现。数据库和应用可以在单个系统上实现或分布在多个系统中。分布式组件可以顺序或并行运行。
尽管已经关于本发明的各种具体示例实施例详细描述了本主题,但是每个示例是通过说明而非限制本公开来提供的。本领域技术人员在获得对前述内容的理解之后,可以容易地产生对这些实施例的改变、变化和等同物。因此,本主题公开内容并不排除包含对本主题的这些修改、变化和/或添加,如对于本领域普通技术人员来说是显而易见的。例如,作为一个实施例的一部分示出或描述的特征可以与另一个实施例一起使用以产生又一个实施例。因此,本公开旨在覆盖这样的改变、变化和等同物。
Claims (20)
1.一种用于模拟向多个实体分配资源的计算系统,所述计算系统包括:
一个或多个处理器;
强化学习代理模型,被配置为接收描述模拟实体的偏好或要求中的至少一个的实体简档,并且响应于接收到所述实体简档,输出描述对所述多个实体的所述模拟实体的资源分配的分配输出;
实体模型,被配置为接收描述至少一个资源的数据,并且响应于接收描述所述至少一个资源的数据,模拟描述所述模拟实体对描述所述至少一个资源的数据的响应的模拟响应输出;
一个或多个共同存储指令的非暂时性计算机可读介质,当由一个或多个处理器运行时,所述指令使所述计算系统执行操作,所述操作包括:
将所述实体简档输入到所述强化学习代理模型;
接收作为所述强化学习代理模型的输出的分配输出,所述分配输出描述了对所述模拟实体的资源分配;
基于由所述分配输出描述的资源分配,选择要提供给所述实体模型的所述至少一个资源;
向所述实体模型提供所述至少一个资源;
接收作为所述实体模型的输出的模拟响应输出,所述模拟响应输出描述所述模拟实体对所述至少一个资源的响应;以及
基于所述模拟响应输出,更新描述所述至少一个资源的资源简档或实体简档中的至少一个。
2.如权利要求1所述的计算系统,其中,所述强化学习代理模型包括强化学习代理,所述强化学习代理基于作为所述模拟响应输出的函数的奖励而被学习。
3.如权利要求1所述的计算系统,其中:
所述模拟实体包括计算任务或计算任务的源中的至少一个;以及
所述至少一个资源包括被配置为运行所述计算任务的工作者。
4.如权利要求1所述的计算系统,其中:
所述模拟实体包括工业过程;以及
所述至少一个资源包括对所述工业过程的输入。
5.如权利要求1所述的计算系统,其中,所述模拟实体包括模拟的人类用户,并且所述实体简档包括描述所模拟的人类用户的兴趣或偏好中的至少一个的用户简档。
6.如权利要求5所述的计算系统,其中,所述模拟响应输出描述了参与度量,所述参与度量描述所模拟的人类用户对所述至少一个资源的交互时间或评级中的至少一个。
7.如权利要求1所述的计算系统,其中,基于所述模拟响应输出来更新所述资源简档或所述实体简档中的至少一个包括提供描述所述模拟响应输出的数据给生成更新的一组用户隐藏状态特征的用户转变模型,并基于所述用户隐藏状态特征更新所述实体配置文件。
8.如权利要求1所述的计算系统,其中,所述至少一个资源包括至少一个文档,所述文档包括文本、音频或图形内容中的至少一个。
9.如权利要求1所述的计算系统,还包括:资源模型,被配置为接收描述包括所述至少一个资源的多个资源的数据,并且响应于接收描述所述多个资源的数据,输出资源可观察特征,并且其中,所述训练强化学习代理模型至少部分地基于所述资源可观察特征来选择分配输出,并且其中所述操作还包括:
将描述所述多个资源的数据输入到所述资源模型中;
接收作为所述资源模型的输出的资源可观察特征;以及
将所述资源可观察特征输入到所述强化学习代理模型中。
10.如权利要求1所述的计算系统,其中:
所述至少一个资源包括多个资源项;以及
所述模拟响应输出描述了少于所有所述多个资源项的选择。
11.如权利要求10所述的计算系统,其中,所述实体模型包括离散选择模型。
12.如权利要求11所述的计算系统,其中,所述离散选择模型包括多项比例函数、多项logit函数或指数级联函数中的至少一个。
13.一种用于模拟向多个实体分配资源的方法,所述方法包括:
由一个或多个计算设备将描述模拟实体的偏好或需求中的至少一个的实体简档输入到强化学习代理模型中,所述强化学习代理模型被配置为接收所述实体简档,并且响应于接收所述实体简档,输出描述对所述模拟实体的资源分配的分配输出;
由所述一个或多个计算设备接收作为所述强化学习代理模型的输出的分配输出,所述分配输出描述了对所述模拟实体的资源分配;
由所述一个或多个计算设备选择至少一个资源以模拟基于由所述分配输出所描述的资源分配提供给实体模型,所述实体模型被配置为接收描述所述至少一个资源的数据,并且响应于接收描述所述至少一个资源的数据,模拟描述所述模拟实体对描述所述至少一个资源的数据的响应的模拟响应输出;
由所述一个或多个计算设备提供描述所述至少一个资源的数据给所述实体模型;
由所述一个或多个计算设备接收作为所述实体模型的输出的模拟响应输出,所述模拟响应输出描述所述模拟实体对所述至少一个资源的响应;以及
由所述一个或多个计算设备基于所述模拟响应输出,更新描述所述至少一个资源的资源简档或实体简档中的至少一个。
14.如权利要求13所述的方法,其中,所述代理模型包括强化学习代理,所述强化学习代理基于作为所述模拟响应输出的函数的奖励而被学习。
15.如权利要求13所述的方法,其中,所述模拟实体包括模拟的人类用户,并且所述实体简档包括描述所模拟的人类用户的兴趣或偏好中的至少一个的用户简档。
16.如权利要求13所述的方法,其中,所述模拟响应输出描述了参与度量,所述参与度量描述所模拟的人类用户对所述至少一个资源的交互时间或评级中的至少一个。
17.如权利要求13所述的方法,其中,由所述一个或多个计算设备基于所述模拟响应输出更新所述资源简档或所述实体简档中的至少一个,包括由所述一个或多个计算设备提供描述所述模拟响应输出的数据给生成更新的一组用户隐藏状态特征的用户转变模型,并由所述一个或多个计算设备基于所述用户隐藏状态特征更新所述实体简档。
18.如权利要求13所述的方法,其中,所述至少一个资源包括至少一个文档,所述文档包括文本、音频或图形内容中的至少一个。
19.如权利要求13所述的方法,还包括:
由所述一个或多个计算设备将描述所述多个资源的数据输入到资源模型中,所述资源模型被配置为接收描述包括所述至少一个资源的多个资源的数据,并且响应于接收描述所述多个资源的数据,输出资源可观察特征;
由所述一个或多个计算设备接收作为所述资源模型的输出的资源可观察特征;以及
由所述一个或多个计算设备将所述资源可观察特征输入到所述强化学习代理模型中,其中,训练所述强化学习代理模型以至少部分地基于所述资源可观察特征来选择分配输出。
20.如权利要求13所述的方法,还包括:在由所述一个或多个计算设备将所述实体简档输入到所述强化学习代理模型之前,由所述一个或多个计算设备接收所述强化学习代理模型。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962801719P | 2019-02-06 | 2019-02-06 | |
US62/801,719 | 2019-02-06 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110175678A true CN110175678A (zh) | 2019-08-27 |
Family
ID=67690307
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910354811.4A Pending CN110175678A (zh) | 2019-02-06 | 2019-04-29 | 用于模拟复杂的强化学习环境的系统和方法 |
Country Status (2)
Country | Link |
---|---|
US (2) | US11475355B2 (zh) |
CN (1) | CN110175678A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114467101A (zh) * | 2019-10-07 | 2022-05-10 | 瑞典爱立信有限公司 | 用于联邦学习的仲裁器 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11455311B2 (en) * | 2019-03-29 | 2022-09-27 | Datadog, Inc. | Multi-locator system for tracking data elements in resources |
US11429869B2 (en) * | 2019-11-21 | 2022-08-30 | International Business Machines Corporation | Artificially intelligent interaction agent |
US12026544B2 (en) * | 2020-11-25 | 2024-07-02 | Beijing Didi Infinity Technology And Development Co., Ltd. | Self-play to improve task-oriented dialog systems and methods |
CN114816722A (zh) * | 2021-01-27 | 2022-07-29 | 伊姆西Ip控股有限责任公司 | 用于管理计算系统的方法、设备和程序产品 |
US20230061206A1 (en) * | 2021-08-25 | 2023-03-02 | Royal Bank Of Canada | Systems and methods for reinforcement learning with local state and reward data |
US20230281680A1 (en) * | 2022-03-01 | 2023-09-07 | Adobe Inc. | System and methods for resource allocation |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11461145B2 (en) * | 2019-01-28 | 2022-10-04 | EMC IP Holding Company LLC | Building neural networks for resource allocation for iterative workloads using reinforcement learning |
US11748611B2 (en) * | 2019-02-18 | 2023-09-05 | Sumit Sanyal | Method and apparatus for reinforcement learning training sessions with consideration of resource costing and resource utilization |
-
2019
- 2019-02-28 US US16/288,279 patent/US11475355B2/en active Active
- 2019-04-29 CN CN201910354811.4A patent/CN110175678A/zh active Pending
-
2022
- 2022-10-17 US US17/967,595 patent/US20230117499A1/en active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114467101A (zh) * | 2019-10-07 | 2022-05-10 | 瑞典爱立信有限公司 | 用于联邦学习的仲裁器 |
Also Published As
Publication number | Publication date |
---|---|
US20230117499A1 (en) | 2023-04-20 |
US20200250575A1 (en) | 2020-08-06 |
US11475355B2 (en) | 2022-10-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110175678A (zh) | 用于模拟复杂的强化学习环境的系统和方法 | |
Fortmann-Roe | Insight Maker: A general-purpose tool for web-based modeling & simulation | |
Bobadilla et al. | Collaborative filtering adapted to recommender systems of e-learning | |
Hu et al. | iTCM: Toward learning-based thermal comfort modeling via pervasive sensing for smart buildings | |
Agarwal et al. | An interdisciplinary review of research in conjoint analysis: Recent developments and directions for future research | |
Capuano et al. | Fuzzy group decision making for influence-aware recommendations | |
El-Bishouty et al. | Smart e-course recommender based on learning styles | |
CN108431833A (zh) | 端到端深度协作过滤 | |
Chu et al. | PC 2 PSO: personalized e-course composition based on Particle Swarm Optimization | |
Fazeli et al. | User-centric evaluation of recommender systems in social learning platforms: accuracy is just the tip of the iceberg | |
US20180341378A1 (en) | Computer-implemented frameworks and methodologies configured to enable delivery of content and/or user interface functionality based on monitoring of activity in a user interface environment and/or control access to services delivered in an online environment responsive to operation of a risk assessment protocol | |
CN106327339A (zh) | 用于社交网络中的推送通知的第二通道排序器 | |
Matei et al. | Pareto's 80/20 law and social differentiation: A social entropy perspective | |
Das et al. | The effects of feedback on human behavior in social media: An inverse reinforcement learning model | |
Sawyer et al. | Balancing learning and engagement in game-based learning environments with multi-objective reinforcement learning | |
Chang et al. | A crowdsourcing development approach based on a neuro-fuzzy network for creating innovative product concepts | |
Hu et al. | Learning peer recommendation using attention-driven CNN with interaction tripartite graph | |
Wang et al. | Deep reinforcement learning for sequential targeting | |
Xia et al. | Student performance in computing education: an empirical analysis of online learning in programming education environments | |
Spithourakis et al. | Amplifying the learning effects via a forecasting and foresight support system | |
Tkachenko et al. | Customer simulation for direct marketing experiments | |
Lv et al. | Macro-influencers or meso-influencers, how do companies choose? | |
Chen et al. | Evolutionary dynamics from fluctuating environments with deterministic and stochastic noises | |
Skulimowski | The role of creativity in the development of future intelligent decision technologies | |
Cranford et al. | Combining machine learning and cognitive models for adaptive phishing training |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |