一种基于多线程的深度强化学习方法技术

技术编号:38229451 阅读:13 留言:0更新日期:2023-07-25 17:58
本发明专利技术提出了一种基于多线程的深度强化学习方法,属于机器学习技术领域。在深度强化学习算法中是通过智能体与环境不断进行交互获得训练数据,这个过程需要消耗大量时间才能获得足够的数据。本发明专利技术中通过多线程同步采样的方式加快数据样本采集速度,具体是将整体算法分为样本采集和网络训练两部分,其中样本采集部分是通过多个子线程中的智能体同步与环境进行交互产生数据,参数训练部分是利用子线程中采集到的数据在主线程中进行训练更新网络参数。子线程中只负责样本采集,主线程中只负责网络训练。这样通过多线程的方式提高样本采集效率,增强智能体在训练前期的探索能力,加快算法训练的速度,大大缩短算法训练所需的时间。时间。时间。

【技术实现步骤摘要】
一种基于多线程的深度强化学习方法


[0001]本专利技术属于机器学习领域,涉及一种深度强化学习算法优化方法。
技术背景
[0002]深度强化学习算法是将深度学习与强化学习相结合的一种新型算法,强化学习是指通过智能体与环境进行交互并得到相应的回报值,根据回报值指导智能体调整选择动作的策略,最终实现智能体获得的累计回报值最大化。深度学习是通过深度神经网络提取原始数据的高维特征,具有非常强大的感知能力,在某些应用场景下甚至已经超过人类的感知水平。将强化学习与深度学习结合的深度强化学习算法,可以利用深度学习的感知能力学习环境的特征,并指导强化学习中的智能体与环境进行交互从而解决一些复杂的实际问题。深度强化学习已经在机器人控制、游戏博弈、交通以及金融等领域取得实际的应用。
[0003]深度强化学习算法可以分为基于值函数和基于策略梯度两类,基于值函数的方法是直接输出每个动作的价值,智能体选择执行其中价值最高的动作,这是通过值函数间接得到智能体的策略。基于策略梯度的方法是直接采用函数近似的方法建立策略网络,通过策略网络选择动作。其中基于价值函数的强化学习方法只能解决离散动作的问题,而基于策略梯度的强化学习算法则可以解决连续动作的问题。Schulman等人提出了近端策略优化(Proximal Policy Optimization,PPO)算法,实践证明PPO算法能够有效地应用于机械控制、策略游戏等领域,直到如今还被认为是最流行的深度强化学习算法之一。Cobbe等人又在PPO算法的基础上提出了阶段性策略梯度(Phasic Policy Gradient,PPG)算法,通过添加辅助训练阶段提高样本的利用率。
[0004]现在深度强化学习算法在许多方面都能够达到比较好的效果,但是还存在一些问题,其中一个就是算法训练时需要采集大量的数据,当前算法中的采样方式效率较低,需要消耗大量时间与环境进行交互,导致整体训练时间比较长,对于复杂问题,算法的收敛速度比较慢。而且如果初期智能体的探索不够充分,算法后期和前期面临的状态差异可能较大,算法也不能收敛到一个比较好的结果,因此很有必要提高当前算法的采样效率以及探索能力,从而提高算法的收敛速度和训练效果。专利一种多智能体深度强化学习方法、系统及应用(专利号:CN112801290A)中采用了多线程方式促进智能体与环境的交互,但是其需要在子线程中也进行训练更新参数,实现比较复杂。

技术实现思路

[0005]针对现有算法的不足,本专利技术提出了一种改进方法,通过多线程采样的方式提高采样效率,加快算法训练速度。结合附图,以下对本专利技术实例中的技术方案进行清楚、完整的描述。
[0006]本专利技术是一种基于多线程的深度强化学习方法,主要包括以下步骤:
[0007]步骤一:根据实际问题定义强化学习的环境,其中包括环境状态空间、智能体动作空间、奖励函数、状态转移概率。
[0008]步骤二:根据需要定义深度强化学习中策略网络和价值网络的结构,可以为全连接神经网络、卷积神经网络。
[0009]步骤三:如附图2所示,基于步骤一中的强化学习环境和步骤二中的神经网络创建一个主线程和多个子线程,主线程中只包括神经网络,子线程中包括神经网络和强化学习环境。主线程和子线程的神经网络结构一致,其中如附图3和附图4所示,子线程中包括神经网络的前向推理过程,主线程中包括神经网络的训练过程。
[0010]步骤四:进行样本采集和网络训练,整体方法的流程如附图1所示,首先通过多个子线程中的智能体同时与各自的环境交互收集数据存储到样本池中。采集完成后在主线程中进行训练,更新主线程中神经网络的参数。训练完成后,将主线程中新的网络参数同步到每个子线程。不断重复上述过程,直到算法的训练效果达到预期目标。
[0011]本专利技术中通过多个子线程同时与环境交互的方式提高样本采集的效率,而且子线程中只包括神经网络的推理过程,不需要在子线程中进行训练。将子线程中采集的样本数据存储到样本池中,子线程只需要向主线程传递样本数据,传递的数据内容比较简单。主线程利用样本池中的数据进行训练更新参数,不需要与环境进行交互。
附图说明
[0012]图1是本专利技术方法的整体流程示意图
[0013]图2是本专利技术方法的多线程结构示意图
[0014]图3是子线程中推理过程示意图
[0015]图4是主线程中训练过程示意图
具体实施方式
[0016]为使得本专利技术的专利技术目的、特征、优点能够更加的明显和易懂,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本专利技术一部分实施例,而非全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本专利技术保护的范围。
[0017]在本实施例中首先需要定义强化学习中环境状态空间、智能体的动作空间、奖励函数和状态转移函数。
[0018]定义深度强化学习中策略网络和价值网络的结构。
[0019]参见附图2,根据上述定义的强化学习环境和神经网络创建一个主线程和多个子线程,在每个子线程中各自实现独立的强化学习环境和神经网络,主线程中只需要实现神经网络。参见附图3和附图4,主线程和子线程的神经网络结构保持一致,但是子线程中只需要实现网络的推理过程,主线程需要实现网络的训练过程。主线程中网络参数为θ,子线程中网络参数为θ1,θ2,


n

[0020]参见附图1,首先同时启动多个子线程,每个子线程中的智能体与各自的环境交互收集环境当前状态、动作、回报、环境下一个状态等数据并将这些数据存储到样本池中。子线程只负责数据采集,不会进行训练。
[0021]子线程采集一定数量的样本后,暂停子线程并开启主线程进行训练,主线程中利
用样本池中的数据更新网络参数。训练一定轮次后暂停主线程,将主线程中新的网络参数同步到各个子线程中的网络参数θ1,θ2,


n

θ。
[0022]然后不断重复样本采集和网络训练这两个过程直到训练结果达到预期目标。
[0023]以上仅为本专利技术的优选实施例,并非因此限制本专利技术的专利范围,凡是利用本专利技术说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的
,均同理包括在本专利技术的专利保护范围内。
本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于多线程的深度强化学习方法,其特征在于包括以下步骤:步骤一:根据实际问题定义深度强化学习的环境,其中包括环境状态空间、智能体动作空间、奖励函数、状态转移概率;步骤二:定义深度强化学习中策略网络和价值网络的结构,其中网络结构可以为全连接神经网络和卷积神经网络;步骤三:基于步骤一中定义的强化学习环境和步骤二中定义的神经网络创建一个主线程和多个子线程,主线程中只包括神经网络,子线程中包括神经网络和强化学习环境。主线程和子线程中的神经网络结构一致,主线程中实现神经网络的训练过程,子线程中只实现神经网络的推理过程;步骤四:多个子线程中的智能体同步与各自的环境进行交互收集数据并将数据存储到样本池中;步骤五:主线程利用子线程采集的数据进行训练,更新主线程中神...

【专利技术属性】
技术研发人员:阮爱武范樱宝王枭
申请(专利权)人:电子科技大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1