首页 / 强化学习方法及装置

强化学习方法及装置实质审查 发明

技术领域

[0001] 本申请涉及强化学习技术领域,尤其涉及一种强化学习模型的训练方法及装置。

相关背景技术

[0002] 强化学习算法可以基于前一时刻智能体所处环境的状态预测后一时刻智能体所要采取的动作,根据智能体采取该动作后,环境给智能体的反馈(奖励)优化强化学习算法,所以强化学习算法从被创造出就是为了适用于环境探测或者相关场景。然而在实践中,发现现有的强化学习算法在探测环境中,并不能保证多数探索的是新环境,可能探索的是已经探测过的环境。为了解决这个问题,已有很多改进,比如探索到新环境的奖励更大,探索到旧环境的奖励更小等方法,但是效果均不理想。

具体实施方式

[0014] 以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
[0015] 图1是本申请实施例提供的一种强化学习模型的训练方法的流程示意图。图1的强化学习方法可以由计算机或服务器,或者计算机或服务器上的软件执行。如图1所示,该强化学习方法包括:
[0016] S101,构建环境探索网络,其中,环境探索网络内部包含特征提取网络、前向网络和后向网络;
[0017] S102,利用环境探索网络和强化学习网络构建强化学习模型;
[0018] S103,获取第一时刻智能体的第一行为信息和智能体所处环境的第一状态信息,以及第二时刻智能体所处环境的第二状态信息;
[0019] S104,基于第一行为信息、第一状态信息和第二状态信息,通过环境探索网络预测第一时刻智能体的第二行为信息,以及第二时刻智能体所处环境的目标状态特征;
[0020] S105,基于第一行为信息,通过强化学习网络预测第二时刻智能体的第三行为信息;
[0021] S106,基于环境探索网络和强化学习网络预测的结果,计算目标损失,并依据目标损失优化强化学习模型。
[0022] 特征提取网络、前向网络和后向网络均可以采用卷积神经网络、长短期记忆网络或循环神经网络等。强化学习网络可以采用PPO算法、A3C算法、TRPO算法或DQN算法。本申请实施例构建的强化学习模型,可以看作是在现有强化学习模型(本申请用强化学习网络表示现有的强化学习模型)的基础上,增加环境探索网络,以此达到引导智能体探索新环境的目的。第一时刻是第二时刻的上一个时刻,状态信息是各个时刻智能体所处环境的环境信息,行为信息是各个时刻智能体采取的行为。状态信息和行为信息均有实际和预测的两种。第一行为信息、第一状态信息和第二状态信息是实际采集到的,目标状态特征(目标状态特征可以看作是预测第二时刻智能体所处环境的第三状态信息的特征)、第二行为信息和第三行为信息是预测得到的。
[0023] 需要说的是,本申请实施例中的强化学习模型可以用于任何环境探测相关的场景,比如利用机器人(智能体为机器人)在未知环境运动或者构建地图,又比如探索类游戏中智能角色的控制等。
[0024] 根据本申请实施例提供的技术方案,构建环境探索网络,其中,环境探索网络内部包含特征提取网络、前向网络和后向网络;利用环境探索网络和强化学习网络构建强化学习模型;获取第一时刻智能体的第一行为信息和智能体所处环境的第一状态信息,以及第二时刻智能体所处环境的第二状态信息;基于第一行为信息、第一状态信息和第二状态信息,通过环境探索网络预测第一时刻智能体的第二行为信息,以及第二时刻智能体所处环境的目标状态特征;基于第一行为信息,通过强化学习网络预测第二时刻智能体的第三行为信息;基于环境探索网络和强化学习网络预测的结果,计算目标损失,并依据目标损失优化强化学习模型。采用上述技术手段,可以解决现有技术中,无法引导智能体探索新环境的问题,进而提高智能体探索新环境的效率。
[0025] 进一步地,基于第一行为信息、第一状态信息和第二状态信息,通过环境探索网络预测第一时刻智能体的第二行为信息,以及第二时刻智能体所处环境的目标状态特征,包括:通过特征提取网络分别处理第一状态信息和第二状态信息,得到第一状态特征和第二状态特征;基于第一行为信息和第一状态特征,通过前向网络预测第二时刻智能体所处环境的目标状态特征;基于第一状态特征和第二状态特征,通过后向网络预测第一时刻智能体的第二行为信息。
[0026] 行为信息是一组行为序列,所以行为信息可以直接看作是特征处理,所以行为信息不需要经过特征提取网络处理。前向网络根据第一时刻的第一行为信息和第一状态特征,预测第二时刻的目标状态特征,后向网络根据第一时刻的第一状态特征和第二时刻的第二状态特征,预测第一时刻的第二行为信息。
[0027] 进一步地,基于环境探索网络和强化学习网络预测的结果,计算目标损失,并依据目标损失优化强化学习模型,包括:基于第一行为信息和第二行为信息之间的差值,计算第一损失;基于第二状态特征和目标状态特征之间的差值,计算内部奖励和第二损失,并基于内部奖励计算第三损失;计算第三行为信息对应的外部奖励,并基于外部奖励计算第四损失;对第一损失、第二损失、第三损失和第四损失加权求和,得到目标损失。
[0028] 进一步地,基于第一行为信息和第二行为信息之间的差值,计算第一损失,包括:计算第一行为信息和第二行为信息之间的差值的L1范数;根据L1范数确定第一损失。
[0029] 可以将L1范数乘以一定的系数或者经过一定的变换(线性或者非线性变换)作为第一损失。
[0030] 进一步地,基于第二状态特征和目标状态特征之间的差值,计算内部奖励和第二损失,并基于内部奖励计算第三损失,包括:计算第二状态特征和目标状态特征之间的差值的L2范数;根据L2范数确定内部奖励和第二损失;基于内部奖励计算第三损失。
[0031] 可以将L2范数乘以一定的系数或者经过一定的变换(线性或者非线性变换)作为第二损失和内部奖励。第二损失和内部奖励可以相同也可以不相同。可以根据内部奖励和预测的奖励的差值确定第三损失。
[0032] 进一步地,计算第三行为信息对应的外部奖励,并基于外部奖励计算第四损失,包括:利用奖励值函数计算第三行为信息对应的外部奖励;利用近似值函数计算第三行为信息对应的近似值;基于外部奖励和近似值之间的差值,利用均方差函数计算第四损失。
[0033] 奖励值函数和近似值函数均是强化学习网络对应的,不同的强化学习网络有自身常用的奖励值函数和近似值函数。所以外部奖励和近似值的计算,不再过多解释。可以利用均方差函数对外部奖励和近似值之间的差值进行计算,得到第四损失。
[0034] 在一些实施例中,对强化学习模型进行多阶段训练:对强化学习模型进行第一阶段训练:冻结强化学习网络,利用第一损失、第二损失、第三损失优化环境探索网络的网络参数;对强化学习模型进行第二阶段训练:冻结环境探索网络,利用第四损失优化强化学习网络的近似值函数的参数。
[0035] 首先开始第一阶段训练,冻结强化学习网络,优化环境探索网络的网络参数。在结束第一阶段训练之后,开始第二阶段训练,解冻强化学习网络,冻结环境探索网络,优化强化学习网络的近似值函数的参数。冻结强化学习网络是指冻结近似值函数的参数,冻结环境探索网络是指冻结环境探索网络的网络参数。
[0036] 强化学习网络和其他网络的训练是不同的,强化学习网络的训练是优化强化学习网络的近似值函数的参数,其他网络的训练是优化其他网络的网络参数,所以本申请实施例基于该区别,对强化学习模型进行双阶段训练,以将环境探索网络和强化学习网络的训练区别开。
[0037] 图2是本申请实施例提供的另一种强化学习模型的训练方法的流程示意图。如图2所示,包括:
[0038] 对强化学习模型进行多阶段训练:
[0039] S201,对强化学习模型进行第一阶段训练:冻结强化学习网络,利用第一损失、第二损失、第三损失优化环境探索网络的网络参数;
[0040] S202,对强化学习模型进行第二阶段训练:冻结环境探索网络,利用第四损失优化强化学习网络的近似值函数的参数;
[0041] S203,对强化学习模型进行第三阶段训练:依据目标损失整体优化强化学习模型。
[0042] 上述所有可选技术方案,可以采用任意结合形成本申请的可选实施例,在此不再一一赘述。
[0043] 下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
[0044] 图3是本申请实施例提供的一种强化学习模型的训练装置的示意图。如图3所示,该强化学习装置包括:
[0045] 第一构建模块301,被配置为构建环境探索网络,其中,环境探索网络内部包含特征提取网络、前向网络和后向网络;
[0046] 第二构建模块302,被配置为利用环境探索网络和强化学习网络构建强化学习模型;
[0047] 获取模块303,被配置为获取第一时刻智能体的第一行为信息和智能体所处环境的第一状态信息,以及第二时刻智能体所处环境的第二状态信息;
[0048] 第一预测模块304,被配置为基于第一行为信息、第一状态信息和第二状态信息,通过环境探索网络预测第一时刻智能体的第二行为信息,以及第二时刻智能体所处环境的目标状态特征;
[0049] 第二预测模块305,被配置为基于第一行为信息,通过强化学习网络预测第二时刻智能体的第三行为信息;
[0050] 优化模块306,被配置为基于环境探索网络和强化学习网络预测的结果,计算目标损失,并依据目标损失优化强化学习模型。
[0051] 特征提取网络、前向网络和后向网络均可以采用卷积神经网络、长短期记忆网络或循环神经网络等。强化学习网络可以采用PPO算法、A3C算法、TRPO算法或DQN算法。本申请实施例构建的强化学习模型,可以看作是在现有强化学习模型(本申请用强化学习网络表示现有的强化学习模型)的基础上,增加环境探索网络,以此达到引导智能体探索新环境的目的。第一时刻是第二时刻的上一个时刻,状态信息是各个时刻智能体所处环境的环境信息,行为信息是各个时刻智能体采取的行为。状态信息和行为信息均有实际和预测的两种。第一行为信息、第一状态信息和第二状态信息是实际采集到的,目标状态特征(目标状态特征可以看作是预测第二时刻智能体所处环境的第三状态信息的特征)、第二行为信息和第三行为信息是预测得到的。
[0052] 需要说的是,本申请实施例中的强化学习模型可以用于任何环境探测相关的场景,比如利用机器人(智能体为机器人)在未知环境运动或者构建地图,又比如探索类游戏中智能角色的控制等。
[0053] 根据本申请实施例提供的技术方案,构建环境探索网络,其中,环境探索网络内部包含特征提取网络、前向网络和后向网络;利用环境探索网络和强化学习网络构建强化学习模型;获取第一时刻智能体的第一行为信息和智能体所处环境的第一状态信息,以及第二时刻智能体所处环境的第二状态信息;基于第一行为信息、第一状态信息和第二状态信息,通过环境探索网络预测第一时刻智能体的第二行为信息,以及第二时刻智能体所处环境的目标状态特征;基于第一行为信息,通过强化学习网络预测第二时刻智能体的第三行为信息;基于环境探索网络和强化学习网络预测的结果,计算目标损失,并依据目标损失优化强化学习模型。采用上述技术手段,可以解决现有技术中,无法引导智能体探索新环境的问题,进而提高智能体探索新环境的效率。
[0054] 在一些实施例中,第一预测模块304还被配置为通过特征提取网络分别处理第一状态信息和第二状态信息,得到第一状态特征和第二状态特征;基于第一行为信息和第一状态特征,通过前向网络预测第二时刻智能体所处环境的目标状态特征;基于第一状态特征和第二状态特征,通过后向网络预测第一时刻智能体的第二行为信息。
[0055] 行为信息是一组行为序列,所以行为信息可以直接看作是特征处理,所以行为信息不需要经过特征提取网络处理。前向网络根据第一时刻的第一行为信息和第一状态特征,预测第二时刻的目标状态特征,后向网络根据第一时刻的第一状态特征和第二时刻的第二状态特征,预测第一时刻的第二行为信息。
[0056] 在一些实施例中,优化模块306还被配置为基于第一行为信息和第二行为信息之间的差值,计算第一损失;基于第二状态特征和目标状态特征之间的差值,计算内部奖励和第二损失,并基于内部奖励计算第三损失;计算第三行为信息对应的外部奖励,并基于外部奖励计算第四损失;对第一损失、第二损失、第三损失和第四损失加权求和,得到目标损失。
[0057] 在一些实施例中,优化模块306还被配置为计算第一行为信息和第二行为信息之间的差值的L1范数;根据L1范数确定第一损失。
[0058] 可以将L1范数乘以一定的系数或者经过一定的变换(线性或者非线性变换)作为第一损失。
[0059] 在一些实施例中,优化模块306还被配置为计算第二状态特征和目标状态特征之间的差值的L2范数;根据L2范数确定内部奖励和第二损失;基于内部奖励计算第三损失。
[0060] 可以将L2范数乘以一定的系数或者经过一定的变换(线性或者非线性变换)作为第二损失和内部奖励。第二损失和内部奖励可以相同也可以不相同。可以根据内部奖励和预测的奖励的差值确定第三损失。
[0061] 在一些实施例中,优化模块306还被配置为利用奖励值函数计算第三行为信息对应的外部奖励;利用近似值函数计算第三行为信息对应的近似值;基于外部奖励和近似值之间的差值,利用均方差函数计算第四损失。
[0062] 奖励值函数和近似值函数均是强化学习网络对应的,不同的强化学习网络有自身常用的奖励值函数和近似值函数。所以外部奖励和近似值的计算,不再过多解释。可以利用均方差函数对外部奖励和近似值之间的差值进行计算,得到第四损失。
[0063] 在一些实施例中,优化模块306还被配置为冻结强化学习网络,利用第一损失、第二损失、第三损失优化环境探索网络的网络参数;对强化学习模型进行第二阶段训练:冻结环境探索网络,利用第四损失优化强化学习网络的近似值函数的参数。
[0064] 首先开始第一阶段训练,冻结强化学习网络,优化环境探索网络的网络参数。在结束第一阶段训练之后,开始第二阶段训练,解冻强化学习网络,冻结环境探索网络,优化强化学习网络的近似值函数的参数。冻结强化学习网络是指冻结近似值函数的参数,冻结环境探索网络是指冻结环境探索网络的网络参数。
[0065] 强化学习网络和其他网络的训练是不同的,强化学习网络的训练是优化强化学习网络的近似值函数的参数,其他网络的训练是优化其他网络的网络参数,所以本申请实施例基于该区别,对强化学习模型进行双阶段训练,以将环境探索网络和强化学习网络的训练区别开。
[0066] 在一些实施例中,优化模块306还被配置为对强化学习模型进行第一阶段训练:冻结强化学习网络,利用第一损失、第二损失、第三损失优化环境探索网络的网络参数;对强化学习模型进行第二阶段训练:冻结环境探索网络,利用第四损失优化强化学习网络的近似值函数的参数;对强化学习模型进行第三阶段训练:依据目标损失整体优化强化学习模型。
[0067] 应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
[0068] 图4是本申请实施例提供的电子设备4的示意图。如图4所示,该实施例的电子设备4包括:处理器401、存储器402以及存储在该存储器402中并且可在处理器401上运行的计算机程序403。处理器401执行计算机程序403时实现上述各个方法实施例中的步骤。或者,处理器401执行计算机程序403时实现上述各装置实施例中各模块/单元的功能。
[0069] 电子设备4可以是桌上型计算机、笔记本、掌上电脑及云端服务器等电子设备。电子设备4可以包括但不仅限于处理器401和存储器402。本领域技术人员可以理解,图4仅仅是电子设备4的示例,并不构成对电子设备4的限定,可以包括比图示更多或更少的部件,或者不同的部件。
[0070] 处理器401可以是中央处理单元(Central Processing Unit,CPU),也可以是其它通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field‑Programmable Gate Array,FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。
[0071] 存储器402可以是电子设备4的内部存储单元,例如,电子设备4的硬盘或内存。存储器402也可以是电子设备4的外部存储设备,例如,电子设备4上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。存储器402还可以既包括电子设备4的内部存储单元也包括外部存储设备。存储器402用于存储计算机程序以及电子设备所需的其它程序和数据。
[0072] 所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0073] 集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,计算机程序可以存储在计算机可读存储介质中,该计算机程序在被处理器执行时,可以实现上述各个方法实施例的步骤。计算机程序可以包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(Read‑Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、电载波信号、电信信号以及软件分发介质等。需要说明的是,计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如,在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
[0074] 以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。

当前第1页 第1页 第2页 第3页