强化学习的方法和装置与流程

文档序号:22087188发布日期:2020-09-01 20:12阅读:709来源:国知局
强化学习的方法和装置与流程

本申请涉及人工智能领域,尤其涉及一种强化学习的方法和装置。



背景技术:

人工智能(artificialintelligence,ai)是研究用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。机器学习是人工智能的核心。机器学习的方法包括强化学习。

强化学习是智能体(agent)以“试错”的方式进行学习,通过动作(action)与环境进行交互获得的奖励(reward)指导行为,目标是使智能体获得最大的奖励。策略函数是智能体在强化学习中使用的行为的规则。策略函数通常为一个神经网络。智能体的策略函数通常采用深度神经网络,但深度神经网络往往存在学习效率不高的问题。在训练神经网络参数量庞大的情况下,如果给定有限的数据或训练轮数,则会导致策略函数的预期收益较低,从而强化学习的训练效率也较低。

因此,提高强化学习的训练效率是业界亟待解决的问题。



技术实现要素:

本申请提供一种强化学习的方法和装置,能够提高强化学习的训练效率。

第一方面,提供了一种强化学习的方法,包括:获取结构图,所述结构图包括通过学习获取的环境或智能体的结构信息;向所述智能体的策略函数输入所述环境的当前状态和所述结构图,所述策略函数用于生成响应于所述当前状态和所述结构图的动作,所述智能体的策略函数为图神经网络;利用所述智能体向所述环境输出所述动作;利用所述智能体从所述环境获取响应于所述动作的下一个状态和奖励数据;根据所述奖励数据,对所述智能体进行强化学习的训练。

在本申请实施例中,提供了一种强化学习的模型架构,其将图神经网络模型作为智能体的策略函数,并通过学习获取环境或智能体的结构图,使得智能体可以基于该结构图与环境之间进行交互,以实现对智能体的强化训练。这种强化方式中将自动学习得到的结构图和作为策略函数的图神经网络结合起来,能够缩短强化学习找到更优解的时间,提高了强化学习的训练效率。

在本申请实施例中,利用图神经网络模型作为智能体的策略函数,其可以包括对环境结构的理解,从而可以提高对智能体的训练效率。

结合第一方面,在第一方面的一种可能的实施方式中,所述获取结构图,包括:获取所述环境的历史交互数据;将所述历史交互数据输入至结构学习模型;利用所述结构学习模型从所述历史交互数据中学习结构图。

在本申请实施例中,可以通过结构学习模型从历史交互数据中获取环境结构,实现对环境的自动的结构学习,并将该结构图应用于强化学习中,以提高强化学习的效率。

结合第一方面,在第一方面的一种可能的实施方式中,在将所述历史交互数据输入至结构学习模型之前,还包括:利用掩码过滤所述历史交互数据,所述掩码用于消除所述智能体的动作对所述历史交互数据的影响。

在本申请实施例中,可以通过将历史交互数据输入至结构学习模型中获取结构图,并且利用掩码对历史交互数据进行处理,以过滤智能体动作对环境的观测数据的影响,从而能够提高结构图的准确性,提高强化学习的训练效率。

结合第一方面,在第一方面的一种可能的实施方式中,所述结构学习模型利用掩码计算损失函数,其中,所述掩码用于消除所述智能体的动作对所述历史交互数据的影响,所述结构学习模型基于所述损失函数学习所述结构图。

在本申请实施例中,可以利用掩码计算结构学习模型中的损失函数,以过滤智能体动作对环境的观测数据的影响,从而能够提高结构图的准确性,提高强化学习的训练效率。

结合第一方面,在第一方面的一种可能的实施方式中,所述结构学习模型包括以下任意一项:神经交互推断模型、贝叶斯网络和线性非高斯无环图模型。

结合第一方面,在第一方面的一种可能的实施方式中,所述环境为机器人控制场景。

结合第一方面,在第一方面的一种可能的实施方式中,所述环境为包括结构信息的游戏环境。

结合第一方面,在第一方面的一种可能的实施方式中,所述环境为多小区基站工程参数调优的场景。

第二方面,提供了一种用于强化学习的装置,包括:获取单元,用于获取结构图,所述结构图包括通过学习获取的环境或智能体的结构信息;交互单元,用于向所述智能体的策略函数输入所述环境的当前状态和所述结构图,所述策略函数用于生成响应于所述当前状态和所述结构图的动作,所述智能体的策略函数为图神经网络;所述交互单元还用于利用所述智能体向所述环境输出所述动作;所述交互单元还用于利用所述智能体从所述环境获取响应于所述动作的下一个状态和奖励数据;训练单元,用于根据所述奖励数据,对所述智能体进行强化学习的训练。

可选地,该装置可以包括用于执行第一方面的方法的模块。

可选地,该装置为计算机系统。

可选地,该装置为芯片。

可选地,该装置为配置于计算机系统中的芯片或电路。例如,该装置可以称为ai模块。

在本申请实施例中,提供了一种强化学习的模型架构,其将图神经网络模型作为智能体的策略函数,并通过学习获取环境或智能体的结构图,使得智能体可以基于该结构图与环境之间进行交互,以实现对智能体的强化训练。这种强化方式中将自动学习得到的结构图和作为策略函数的图神经网络结合起来,能够缩短强化学习找到更优解的时间,提高了强化学习的训练效率。

结合第二方面,在第二方面的一种可能的实施方式中,所述获取单元具体用于:获取所述环境的历史交互数据;将所述历史交互数据输入至结构学习模型;利用所述结构学习模型从所述历史交互数据中学习结构图。

结合第二方面,在第二方面的一种可能的实施方式中,所述获取单元还用于:利用掩码过滤所述历史交互数据,所述掩码用于消除所述智能体的动作对所述历史交互数据的影响。

结合第二方面,在第二方面的一种可能的实施方式中,所述结构学习模型利用掩码计算损失函数,其中,所述掩码用于消除所述智能体的动作对所述历史交互数据的影响,所述结构学习模型基于所述损失函数学习所述结构图。

结合第二方面,在第二方面的一种可能的实施方式中,所述结构学习模型包括以下任意一项:神经交互推断模型、贝叶斯网络和线性非高斯无环图模型。

结合第二方面,在第二方面的一种可能的实施方式中,所述环境为机器人控制场景。

结合第二方面,在第二方面的一种可能的实施方式中,所述环境为包括结构信息的游戏环境。

结合第二方面,在第二方面的一种可能的实施方式中,所述环境为多小区基站工程参数调优的场景。

第三方面,提供了一种用于强化学习的装置,该装置包括处理器,该处理器与存储器耦合,该存储器用于存储计算机程序或指令,处理器用于执行存储器存储的计算机程序或指令,使得第一方面中的方法被执行。

可选地,该装置包括的处理器为一个或多个。

可选地,该装置包括的存储器可以为一个或多个。

可选地,该存储器可以与该处理器集成在一起,或者分离设置。

第四方面,提供一种芯片,该芯片包括处理模块与通信接口,处理模块用于控制所述通信接口与外部进行通信,处理模块还用于实现第一方面中的方法。

第五方面,提供一种计算机可读存储介质,其上存储有用于实现第一方面中的方法的计算机程序(也可称为指令或代码)。

例如,该计算机程序被计算机执行时,使得该计算机可以执行第一方面中的方法。

第六方面,提供一种计算机程序产品,该计算机程序产品包括计算机程序(也可称为指令或代码),该计算机程序被计算机执行时使得所述计算机实现第一方面中的方法。该计算机可以为通信装置。

附图说明

图1是强化学习的训练过程示意图。

图2是本申请一实施例的强化学习的方法的流程示意图。

图3是本申请一实施例的图神经网络的聚合方式的示意图。

图4是本申请一实施例的强化学习模型100的系统架构图。

图5是本申请一实施例的直接观测数据和受干扰的数据的对比示意图。

图6是本申请一实施例的结构学习的框架示意图。

图7是本申请一实施例的“牧羊犬游戏”的模型计算过程的示意图。

图8是本申请一实施例的“牧羊犬游戏”中的智能体模型计算流程示意图。

图9是本申请一实施例的用于强化学习的装置900的示意性框图。

图10是本申请一实施例的用于强化学习的装置1000的示意性框图。

具体实施方式

下面将结合附图,对本申请中的技术方案进行描述。

为了描述本申请实施例,首先介绍本申请实施例涉及的若干术语。

人工智能(artificialintelligence,ai):是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式作出反应的智能机器。人工智能领域的研究包括机器人、语言识别、图像识别、自然语言处理、决策与推理、人机交互、推荐与搜索等。

机器学习是人工智能的核心。业界有关人士将机器学习定义为:为了实现任务t,通过训练过程e,逐步提高模型表现p的一个过程。举个例子,让一个模型认识一张图片是猫还是狗(任务t)。为了提高模型的准确度(模型表现p),不断给模型提供图片让其学习猫与狗的区别(训练过程e)。通过这个学习过程,所得到的最终模型就是机器学习的产物,理想情况下,该最终模型具备识别图片中的猫与狗的功能。该训练过程就是机器学习的学习过程。

机器学习的方法包括强化学习。

强化学习(reinforcementlearning,rl),又称再励学习、评价学习或增强学习,用于描述和解决智能体(agent)在与环境的交互过程中通过学习策略以达成回报最大化或实现特定目标的问题。

强化学习是智能体(agent)以“试错”的方式进行学习,通过动作(action)与环境进行交互获得的奖励(reward)指导行为,目标是使智能体获得最大的奖励。强化学习无需训练数据集。强化学习中由环境提供的强化信号(即奖励)对产生动作的好坏作一种评价,而不是告诉强化学习系统如何去产生正确的动作。由于外部环境提供的信息很少,智能体必须靠自身的经历进行学习。通过这种方式,智能体在行动-评价(即奖励)的环境中获得知识,改进行动方案以适应环境。

图1是强化学习的训练过程示意图。如图1所示,强化学习主要包含四个元素:智能体(agent)、环境(environment)状态(state)、动作(action)与奖励(reward),其中,智能体的输入为状态,输出为动作。

当前技术中,强化学习的训练过程为:通过智能体与环境进行多次交互,获得每次交互的动作、状态、奖励;将这多组(动作,状态,奖励)作为训练数据,对智能体进行一次训练。采用上述过程,对智能体进行下一轮次训练,直至满足收敛条件。

其中,获得一次交互的动作、状态、奖励的过程如图1所示,将环境当前状态s(t)输入至智能体,获得智能体输出的动作a(t),根据环境在动作a(t)作用下的相关性能指标计算本次交互的奖励r(t),至此,获得本次交互的动作a(t)、动作a(t)与奖励r(t)。记录本次交互的动作a(t)、动作a(t)与奖励r(t),以备后续用来训练智能体。还记录环境在动作a(t)作用下的下一个状态s(t+1),以便实现智能体与环境的下一次交互。

智能体(agent):是指能够思想并与环境进行交互的实体。例如,智能体可以是某个特定的环境下的计算机系统或者计算机系统的一部分。智能体可以根据自身对环境的感知,按照已有的指示或者通过自主学习,并与其他智能体进行沟通协作,在其所处的环境中自主地完成设定的目标。智能体可以是软件或者软件和硬件结合的实体。

马尔可夫决策过程(markovdecisionprocess,mdp):是强化学习的常见模型,为一种基于离散时间随机控制的分析决策问题的数学模型。其假设环境具有马尔可夫性质(环境的未来状态的条件概率分布仅依赖于当前状态),决策者通过周期性地观察环境的状态,根据当前环境的状态做出决策(也可称为动作),与环境交互后得到下一步的状态及奖励。换句话说,在每个时刻t,决策者所观察到的状态s(t),在所做动作a(t)的影响下,会转移到下一步状态s(t+1),并反馈奖励r(t)。其中,s(t)表示状态函数,a(t)表示动作函数,r(t)表示奖励,t表示时间。

基于mdp的强化学习可包括两种类别:基于环境状态转移建模和无环境(modelfree)模型。前者需要对环境状态转移进行建模,通常依靠经验知识或者数据拟合建立。后者则不需要对环境状态转移建模,而是根据自身在环境中的探索学习不断提升。由于强化学习所关注的真实环境往往比建立的模型更加复杂而难以预测(例如机器人、围棋等),所以基于无环境模型的强化方法往往更利于实现和调整。

变分自编码器(variationalautoencoder,vae):包括一个编码器和一个解码器。在变分自编码器运行时,将训练数据输入至编码器,产生一组描述隐变量的分布的参数,并从由该隐变量所决定的分布中采样,并将采样数据输出至解码器,由解码器输出需要预测的数据。

掩码(mask):是指对信号进行某种筛选的过滤函数,其可以结合需要对输入信号的某些维度进行一个选择性的屏蔽或者转换。

策略函数:是指智能体在强化学习中使用的采用行为的规则。例如,在学习过程中,可以根据状态输出动作,并以此动作探索环境,以更新状态。策略函数的更新依赖于策略梯度policygradient,pg)。策略函数通常为一个神经网络。例如,该神经网络可以包括多层感知器(mutilayerperceptron)。

图神经网络(graphneuralnetwork,gnn):是一种带有结构信息的深度学习方法,可以用于计算节点当前的状态。图神经网络的信息传递按照给定的图结构进行,可以根据相邻节点更新每个节点的状态。具体地,其可以根据当前节点的结构图,以神经网络作为点信息的聚合函数,将所有相邻节点的信息传递到当前节点,结合当前节点的状态进行更新。图神经网络的输出为所有节点的状态。

结构学习,也可以称为自动图学习(automatedgraphlearning),是指基于一些标准从观测数据中学习数据结构的技术。例如,上述标准可以包括基于损失函数进行自动图学习。损失函数可以指用来估计模型的预测值与真实值的不一致程度。常见的损失函数包括贝叶斯信息分数、akaike信息标准等。结构学习模型可以包括贝叶斯网络、线性非高斯无环图模型、神经交互推断模型等。贝叶斯网络、线性非高斯无环图模型可以从观测数据中学习数据的因果结构,而神经交互推断模型可以学习有向图。

在实际应用中,智能体的策略函数通常采用深度神经网络,但深度神经网络忽略了智能体或者环境本身的结构信息,并且不具备可解释性,因而存在学习效率不高的问题。在训练神经网络参数量庞大的情况下,如果给定有限的数据或训练轮数,经常会导致策略函数的收益不够高。一种方案是基于人工给定的结构图进行强化学习,但是这种方案只能限定于明显可获得智能体结构的场景。而对于环境中存在交互实体,或者智能体本身结构不明显的情况下,该方案无法实施。

针对上述问题,本申请实施例提出了一种强化学习的方法,能够提高强化学习的训练效率。

本申请实施例的强化方法可以应用于包括结构信息的环境中。例如,机器人控制场景、游戏环境或者多小区基站的工程参数调优的场景。其中,上述游戏环境可以是包括结构信息的游戏场景,例如,包括多个交互实体的游戏环境。上述工程参数例如可以包括小区的方位角、高度等参数。

图2是本申请一实施例的强化学习的方法的流程示意图。该方法可以由计算机系统执行,该计算机系统包括智能体。如图2所示,该方法包括如下步骤。

s201、获取结构图,所述结构图包括通过学习获取的环境或智能体的结构信息。

其中,环境或智能体结构(structureofenvironmentoragent)信息可以指环境中的交互实体或者智能体本身的结构信息,其表征环境或智能体的一些特征。例如,环境中物体的从属关系,或者智能机器人的结构等。

其中,环境可以指包括结构信息的多种场景,例如,机器人控制场景、游戏场景或者多小区基站的工程参数调优的场景。

在机器人控制场景中,结构图可以指示机器人内部节点之间的交互关系。

游戏场景可以是包括结构信息的游戏场景。在游戏场景中,结构图可以用于指示游戏环境中多个交互实体之间的连接关系,或者游戏环境中的多个节点之间的结构关系。该游戏场景例如可以包括“牧羊犬游戏”场景、“消灭蚂蚁游戏”、“撞球游戏”等。

在多小区基站工程参数场景中,结构图可以用于指示多个小区或基站之间的连接关系。多小区基站场景由于工程参数不准确而导致邻接拓扑关系不明确,而小区的降干扰依赖于准确的小区间关系图。因此可以通过学习小区间关系图,并在强化学习过程中利用小区关系图,调整工程参数,以实现工程参数调优。

可选地,上述获取结构图包括:获取所述环境的历史交互数据;将所述历史交互数据输入至结构学习模型;利用所述结构推荐模型从所述历史交互数据中学习所述结构图。

可选地,所述历史交互数据指智能体和环境之间进行交互的数据。例如,历史交互数据可以包括智能体向环境输入的动作以及环境输出的状态的数据序列,可以简称为历史动作-状态序列。

可选地,所述结构学习模型可以指用于从数据中提取内在结构的模型。结构学习例如可以包括因果分析法中的贝叶斯网络、线性非高斯无环图模型、神经交互推断模型等。贝叶斯网络、线性非高斯无环图模型可以从观测数据中学习数据的因果结构,而神经交互推断模型可以学习有向图。

在本申请实施例中,可以通过结构学习模型从历史交互数据中获取环境结构,实现对环境的自动的结构学习,并将该结构图应用于强化学习中,以提高强化学习的效率。

可选地,在将所述历史交互数据输入至结构学习模型之前,可以利用掩码过滤所述历史交互数据,所述掩码用于消除所述智能体的动作对所述历史交互数据的影响。

在一些示例中,掩码可以用于存储受到智能体干扰的节点的信息。例如,掩码可以将被干扰的节点的权重设置为0,其它节点的权重设置为1。通过使用掩码可以过滤历史交互数据中受到智能体动作干扰的数据。

在一些示例中,也可以在结构学习过程中考虑掩码的因素,以提高学习的结构图的准确性。例如,可以利用掩码计算结构学习中的损失函数。

在本申请实施例中,可以通过将历史交互数据输入至结构学习模型中获取结构图,并且利用掩码对历史交互数据进行处理,以过滤智能体动作对环境的观测数据的影响,从而能够提高结构图的准确性,提高强化学习的训练效率。

s202、向所述智能体的策略函数输入所述环境的当前状态和所述结构图,所述策略函数用于生成响应于所述当前状态和所述结构图的动作,所述智能体的策略函数为图神经网络。

其中,图神经网络(graphneuralnetwork,gnn)是一种带有结构信息的深度学习方法,可以用于计算节点当前的状态。图神经网络的信息传递按照给定的结构图进行,可以根据每个节点的相邻节点更新状态,图神经网络的输出为所有节点的状态。

图3是本申请一实施例的图神经网络的聚合方式的示意图。如图3所示,每个黑点表示结构图中的一个节点。图神经网络可以根据当前节点的结构图,以神经网络作为点信息的聚合函数,将所有相邻节点的信息传递到当前节点,结合当前节点的状态进行更新。

在本申请实施例中,利用图神经网络模型作为智能体的策略函数,其可以包括对环境结构的理解,从而可以提高对智能体的训练效率。

可选地,在不同的环境下,所述状态可以指示不同的信息。

例如,在机器人控制场景中,所述状态包括机器人的至少一个关节的状态参数,所述关节的状态参数用于指示关节的当前状态。上述关节的状态参数包括但不限于以下至少一项:关节的所受的力的大小、关节所受的力的方向、关节的动量、关节的位置、关节的角速度、关节的加速度。

又例如,在游戏场景中,所述状态包括智能体的状态参数或游戏场景中的互动实体的状态参数,其中,所述互动实体是指游戏环境中能够与智能体进行互动的实体,即互动实体可以根据智能体输出的动作进行反馈,并根据动作改变自身的状态参数。例如,在“牧羊犬游戏中”,智能体需要将羊赶进羊圈中,羊基于智能体输出的动作进行移动,互动实体可以是羊。在“撞球游戏”中,智能体需要通过撞击将球移动到目标位置,互动实体可以是球。在“消灭蚂蚁”游戏中,智能体需要消灭所有蚂蚁,互动实体可以是蚂蚁。

其中,上述智能体的状态参数可以指示所述智能体在游戏场景中的当前状态。上述智能体的状态参数可以但不限于以下至少一项:智能体的位置信息、智能体的移动速度、智能体的移动方向。

上述互动实体的状态参数可以指示所述互动实体在游戏环境中的当前状态。上述互动实体的状态参数可以包括但不限于以下至少一项:互动实体的位置信息、互动实体的速度、互动实体的颜色信息、互动实体是否被消灭的信息。

又例如,在多小区基站工程参数调优场景中,上述状态可以指基站的工程参数,上述工程参数可以指安装或维护基站时需要调整的物理参数。例如,基站的工程参数包括但不限于以下至少一项:基站的天线的水平角度(即方位角)、基站的天线的垂直角度(即下倾角)、基站的天线的功率、基站的天线发送的信号的频率、基站的天线的高度。

s203、利用所述智能体向所述环境输出所述动作。

可选地,在不同的环境下,所述动作可以指示不同的信息。

例如,在机器人控制场景中,所述动作包括机器人的至少一个关节的配置参数。所述关节的配置参数是用于关节执行动作的配置信息。上述关节的配置参数包括但不限于以下至少一项:关节的所受的力的大小、关节所受的力的方向。

又例如,在游戏场景中,所述动作包括智能体作用于游戏场景中的动作。上述动作包括但不限于:智能体的移动方向、智能体的移动距离、智能体的移动速度、智能体的移动位置、智能体所作用的互动实体的编号。

例如,在“牧羊犬游戏中”,上述动作可以包括智能体所驱赶羊的编号。在“撞球游戏”中,智能体的动作可以是智能体的移动方向。在“消灭蚂蚁”游戏中,智能体的动作可以是智能体的移动方向。

又例如,在多小区基站工程参数调优场景中,上述动作可以包括用于指示调节基站的工程参数的信息。上述工程参数可以指安装或维护基站时需要调整的物理参数。例如,基站的工程参数包括但不限于以下至少一项:基站的天线的水平角度(即方位角)、基站的天线的垂直角度(即下倾角)、基站的天线的功率、基站的天线发送的信号的频率、基站的天线的高度。

s204、利用所述智能体从所述环境获取响应于所述动作的下一个状态和奖励数据。

可选地,在不同的环境下,所述奖励可以指示不同的信息。

例如,在机器人控制场景中,所述奖励包括机器人的状态信息。上述机器人的状态信息用于指示机器人的状态。例如,上述机器人的性能信息包括但不限于以下至少一项:机器人移动的距离、机器人移动的速度或平均速度、机器人的位置。

又例如,在游戏场景中,所述奖励包括游戏场景中的目标任务的完成度。例如,在“牧羊犬游戏”中,奖励为赶进羊圈的羊的数量。在“消灭蚂蚁游戏”中,奖励为消灭的蚂蚁的数量。

又例如,在多小区基站工程参数调优场景中,所述奖励包括基站的性能参数。所述基站的性能参数用于指示基站的性能。例如,基站的性能参数包括但不限于以下至少一项:基站覆盖信号范围、基站覆盖信号强度、基站提供的用户信号质量、基站的信号干扰强度、基站提供的用户网络速率。

s205、根据所述奖励数据,对所述智能体进行强化学习的训练。

例如,可以根据奖励数据获取策略梯度,并根据策略梯度更新图神经网络模型,以实现对智能体的强化训练。

在本申请实施例中,提供了一种强化学习的模型架构,其将图神经网络模型作为智能体的策略函数,并通过学习获取环境或智能体的结构图,使得智能体可以基于该结构图与环境之间进行交互,以实现对智能体的强化训练。这种强化方式中将自动学习得到的结构图和作为策略函数的图神经网络结合起来,能够缩短强化学习找到更优解的时间,提高了强化学习的训练效率。

在本申请实施例中,由于结构信息的加入,使得策略函数具有可解释性,能够显著反应当前智能体或缓解的结构信息。

在本申请实施例中,通过自动学习获取环境或智能体的结构,无需借助人工经验。其学习的结构比人工经验更准确地切合任务需要,并使得强化学习的模型实现端到端的训练。因此,该强化学习的模型可以广泛适用于环境结构不明显的场景,例如包括多个交互实体的游戏场景。

图4是本申请一实施例的强化学习模型100的系统架构图。如图4所示,强化学习模型100包括两个核心模块,即状态-策略训练回路和结构学习回路。

状态-策略训练回路中使用图神经网络作为智能体的策略函数,用于实现智能体与环境之间的交互。其中,智能体采用图神经网络作为策略函数,图神经网络利用学习得到的结构图作为基础图,并通过从环境获取的奖励来获得梯度,以对图神经网络进行训练和更新。

结构学习回路包括结构学习模型,用于通过学习获取环境或智能体的结构图。结构学习回路的输入为智能体与环境之间的历史交互数据,输出为结构图。

结合图4所示的强化学习模型,强化学习的具体训练过程包括如下内容。

s1.初始化奖励函数、图神经网络的参数以及结构图。

在初始情况下,因为强化学习的模型还没有开始训练,还不存在历史动作和状态,因此需要对奖励函数、图神经网络的参数以及结构图进行随机初始化。

在一些示例中,奖励函数可以根据环境状态计算智能体当前动作的收益,一般来说,根据具体的任务不同,奖励函数的定义不同。例如,在机器人训练走路场景中,奖励函数可以定义为其可以前进的距离。

图神经网络的参数包括信息聚合函数,其中,信息聚合函数是指传递信息的函数,其输入为当前节点及其邻居节点的状态或特征,输出为当前节点的下一个状态,其通常通过一个神经网络实现。例如,对于图神经网络中的节点i,其输入为当前节点所有邻居及其邻边的状态信息,输出为节点i的状态。

s2.智能体根据结构图以及环境输出的当前状态,向环境输出动作,并从环境获取更新的状态以及奖励。

其中,s2部分可以理解为更新图神经网络模型参数的训练阶段。智能体向环境输出动作,以探索环境。环境输出响应于该动作的状态,以输出状态序列。环境根据奖励函数向智能体反馈奖励。智能体可以根据奖励的梯度来更新图神经网络,实现对智能体的强化训练。

作为示例,图神经网络的模型可以为graphsage模型。

另外,图神经网络的输入还包括通过结构学习回路获取的结构图。学习结构图的具体过程可以参见s4部分。

s3.利用结构学习模型学习结构图,并将该结构图输入智能体中的图神经网络,以更新其图结构。

作为示例,结构学习的过程可以包括以下阶段(a)-(c)。

(a)、根据动作-状态序列计算掩码。

动作-状态序列包括智能体输出的动作以及环境输出的状态的序列。由于动作-状态序列为响应于智能体动作的数据,其受到当前策略的影响,因此观测数据不是环境内部实体交互的结果,而是某些实体受到了智能体动作的影响后的数据。

例如,图5是本申请一实施例的直接观测数据和受干扰的数据的对比示意图。图5中的(a)表示直接观测数据的示意图。图5中的(b)表示受智能体干扰数据的示意图。如图5所示,假设环境中有3个实体,每个实体用一个黑色节点表示。智能体的动作会影响或者控制某个节点,其产生的数据与环境内实体自然交互的数据有所不同。被控制的节点的数据往往会出现明显的异常。

因此,可以通过加入掩码,以消除智能体动作对环境的观测数据的影响。

例如,可以将掩码记录为m(s(t),a(t))。其中,s(t)表示环境在时刻t的状态,a(t)表示为智能体在时刻t的动作。掩码可以用于存储受到干扰的节点的信息。例如,掩码可以将被干扰的节点的权重设置为0,其它节点的权重设置为1。

可选地,可以利用掩码过滤历史交互数据中受到智能体干扰的数据。

(b)、利用结构学习模型获取结构图。

在获取了动作-状态序列在每个时刻的掩码之后,可以将动作-状态序列输入至结构学习模型中,以通过计算获取结构图。该动作-状态序列可以是经过掩码过滤的数据,也可以是未经过掩码过滤的数据。

在一些示例中,可以利用掩码计算结构学习过程中的损失函数。

图6是本申请一实施例的结构学习的框架示意图。其结构学习模型以神经交互推断模型为例进行说明。神经交互推断模型可以通过变分自编码器(vae)实现。如图6所示,神经交互推断模型包括编码器和解码器,其可以基于损失函数学习历史交互数据,并学习结构图。

可选地,结构学习方式可以为基于结构图a的最小化状态预测误差。最小化状态预测误差是指计算模型预测的状态与真实状态之间误差,并根据使得误差最小化的目标来训练模型。

如图6所示,编码器和解码器之间用于输出根据历史交互数据学习的结构图a。神经交互推断模型可以基于结构图a预测变量,然后利用损失函数计算该预测变量出现的概率,并选择概率最大化(也即最小化预测误差)时所对应的结构图a作为学习得到的结构图。

在结构学习方式中,可利用t-1时刻的状态s(t-1)预测t时刻的状态s’(t),即预测变量为s’(t)。如图6所示,神经交互推断模型的输入为t-1时刻的状态s(t-1),输出为该模型预测的t时刻的状态s’(t)。

假设采用高斯散度来衡量预测变量出现的概率。可选地,可以将预测变量出现的概率理解为预测状态与实际状态的重合程度,当预测状态与实际状态完全重合时,其概率值为1。该概率表示为:

其中,p表示预测变量出现的概率,var表示高斯分布的方差。s’(t)是神经交互推断模型预测的t时刻的状态,s(t)表示t时刻的实际状态。

在利用掩码计算损失函数利用的情况下,可以将预测变量出现的概率称为掩码概率,掩码概率过滤了受到智能体影响的数据,掩码概率表示为:

其中,pmask表示掩码概率,var表示高斯分布的方差。s’(t)是神经交互推断模型预测的t时刻的状态,s(t)表示t时刻的实际状态,m(s(t),a(t))表示掩码。

在一些示例中,在上述概率p或者掩码概率pmask最大化的情况下,也即最小化预测误差的情况下,所学习的结构图a即为最终输出的结构图。

(c)、将结构图输入至图神经网络中。

在计算完结构图之后,将该结构图输出至图神经网络,以替代现有的图神经网络中的图结构。

s4、在完成s2部分之后,再返回s2部分继续循环执行。

其中,该循环结束的条件包括以下至少一项:策略函数产生动作的奖励值达到设定的阈值;图神经网络产生动作的奖励值已收敛;训练的轮数已达到设定的轮数阈值。

需要说明的是,图神经网络的类型需适配结构图的类型,因此可以根据学习的结构图的类型或者应用场景来对图神经网络的类型进行适应性调整。针对不同的结构图的类型,可以使用不同的图神经网络的模型。例如,针对有向图,可以采用图神经网络中的graphsage模型。针对无向图,可以使用图卷积神经网络。针对异构图,可以使用graphinception模型。针对动态图,可以使用结构循环图神经网络。其中,异构图是指图中包括多种边的类型。动态图是指结构图随时间而变化。

相应地,可以适当调整结构学习模型中的设置来实现结构图的自动学习。例如,可以将图6中的神经交互推断模型的结构图a限制为无向图,或者把结构图a的边的类型设置为多种。

图7是本申请一实施例的“牧羊犬游戏”的模型计算过程的示意图。该方案的场景为:在一定范围内的二维空间内,随机摆放若干只羊,每只羊有一只或者没有“母亲”。羊在自然情况下会跟随趋向其“母亲”的位置,但是若牧羊犬(即智能体)靠近羊的一定半径范围内,羊会躲避牧羊犬,向与狗相反的方向行动。牧羊犬并不知道羊和“母亲”之间的亲属关系,牧羊犬只能观察到羊的位置。若羊进入羊圈,则无法再离开。牧羊犬的目标是在最短的时间将所有羊赶入羊圈。在每个时间点上,牧羊犬可见的状态信息包括所有的羊的编号、位置信息以及羊圈的位置信息。在时刻t,假设有n只羊,奖励函数表示为如下公式:

其中,r(s(t),k)表示奖励函数,s(t)表示s(t,i)的集合,s(t,i)表示第i只羊在时刻t的坐标,1≤i≤n,k表示羊圈的坐标。

如图7所示,“牧羊犬游戏”的智能体模型的训练过程包括以下内容。

s501、将牧羊犬和环境之间的历史交互数据输入结构学习模型中,并获取结构学习模型所学习的结构图。

上述历史交互信息可以包括历史动作-状态数据。历史动作-状态数据包括在每个时间点牧羊犬输出的动作(记录为驱赶羊的编号)以及羊的位置信息(记录为羊的坐标)。

s502、将当前状态(即羊的位置信息)以及结构图输入至图神经网络中。

其中,该结构图可以用于指示羊之间的连接关系,或者说“亲属”关系。

s503、基于图神经网络向环境输出动作,即输出牧羊犬驱赶羊的编号。

s504、获取环境基于上述动作反馈的奖励信息。

图8是本申请一实施例的“牧羊犬游戏”中的智能体模型计算流程示意图。如图8所示,在实施算法的过程中,每隔一段时间间隔,智能体可以根据搜集的历史交互信息以及奖励信息,更新神经交互推断模型和图神经网络的策略函数模型。具体的算法实施过程如下。

s601、判断上一次训练图神经网络的时刻到当前时刻之间的时间间隔是否达到预设的时间间隔。在是的情况下,执行s602部分;在否的情况下,执行s603部分。

其中,上述预设的时间间隔可以根据实践设置,本申请实施例不作限定。

s602、根据搜集的历史交互信息以及奖励信息,训练图神经网络模型。

s603、执行图神经网络模型输出的动作,或者说,将该动作输入至环境中。

s604、获取环境反馈的奖励信息。

s605、收集历史交互信息以及奖励信息。并继续执行s601。

在本申请实施例中的强化学习方法中,在没有环境中各只羊之间的“亲属”关系信息的情况下,可以基于结构学习模型,自动学习结构图。并且该强化学习方法使用了图神经网络作为构建策略函数的基本框架,并利用了结构学习模型所建立的结构图,提升了策略函数的训练效率和效果。

在本申请实施例中,通过将通过学习获取的结构图应用于作为策略函数的图神经网络,能够提高强化学习方法的目标性能,并且还缩短了强化学习找到更优解所需的训练时间,因此提高了强化学习方法的效率。

应理解,图7和图8的应用场景仅仅作为示例,本申请实施例的强化学习方法也可以应用于其它场景中,例如,其它类型的游戏场景、机器人控制场景或者多基站小区工程参数调优场景中。作为示例,机器人控制场景的模型架构可以包括halfcheeta模型、ant模型、walker2d模型。

例如,在walk2d场景中,机器人训练需要操控其相关节点动作,使得机器人走的更远。机器人的状态包括各个关节的统计量。上述统计量例如可以包括角度、加速度等。

例如,在多基站小区工程参数调优场景中,由于多小区基站场景工程参数不准确而导致邻接拓扑关系不明确,而小区的降干扰依赖于准确的小区间关系图。因此可以通过学习小区间关系图,并在强化学习过程中利用小区关系图,调整工程参数,以实现工程参数调优。其中,在强化学习过程中,可以以小区的工程参数的变化作为状态,通过优化收益(例如网络速率)来获得策略梯度,实现对智能体的强化训练。

上文结合图1至图8介绍了本申请实施例的强化学习的方法,接下来将结合图9和图10介绍本申请实施例的用于强化学习的装置。

图9是本申请一实施例的用于强化学习的装置900的示意性框图。该装置900可以用于执行上文实施例提供的强化学习的方法,为了简洁,此处不再赘述。装置900可以是计算机系统,也可以是计算机系统中的芯片或电路,或者也可以称为ai模块。如图9所示,装置900包括:

获取单元910,用于获取结构图,所述结构图包括通过学习获取的环境或智能体的结构信息;

交互单元920,用于向所述智能体的策略函数输入所述环境的当前状态和所述结构图,所述策略函数用于生成响应于所述当前状态和所述结构图的动作,所述智能体的策略函数为图神经网络;所述交互单元还用于利用所述智能体向所述环境输出所述动作;所述交互单元920还用于利用所述智能体从所述环境获取响应于所述动作的下一个状态和奖励数据;

训练单元930,用于根据所述奖励数据,对所述智能体进行强化学习的训练。

图10是本申请一实施例的用于强化学习的装置1000的示意性框图。该装置1000可以用于执行上文实施例提供的强化学习的方法,为了简洁,此处不再赘述。装置1000包括:处理器1010,处理器1010与存储器1020耦合,存储器1020用于存储计算机程序或指令,处理器1010用于执行存储器1020存储的计算机程序或指令,使得上文方法实施例中的方法被执行。

本申请实施例还提供一种计算机可读存储介质,其上存储有用于实现上述方法实施例中的方法的计算机指令。

例如,该计算机程序被计算机执行时,使得该计算机可以实现上述方法实施例中的方法。

本申请实施例还提供一种包含指令的计算机程序产品,该指令被计算机执行时使得该计算机实现上述方法实施例中的方法。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1