System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种基于异步电路的深度强化学习算法加速电路及方法技术_技高网

一种基于异步电路的深度强化学习算法加速电路及方法技术

技术编号:41537247 阅读:3 留言:0更新日期:2024-06-03 23:15
本发明专利技术公开了一种基于异步电路的深度强化学习算法加速电路及方法,电路包括:配置寄存器模块、异步全局控制模块、异步计算控制模块、异步网络训练推理计算模块、异步权重更新模块和内存管理模块,该加速电路架构灵活,可通过配置方式,对不同深度强化学习网络计算进行加速,并且支持深度强化学习网络的训练和推理加速计算,针对不同计算模式对相同计算单元进行复用,减少电路面积资源消耗,该加速电路使用异步逻辑电路进行控制,相比同步逻辑电路而言大大减少功耗;本发明专利技术能够显著提升深度强化学习网络训练与推理的计算效率,相较于同步逻辑实现的电路,能够以较低的能耗与较高的性能对多种深度强化学习网络训练与推理过程进行加速。

【技术实现步骤摘要】

本专利技术属于深度强化学习和加速器电路设计,具体涉及一种基于异步电路的深度强化学习算法加速电路及方法


技术介绍

1、近年来,具有决策能力具有决策能力的强化学习作为机器学习重要的子领域,得到迅速发展,广泛应用于工业制造、游戏博弈、智能交通、机器人控制等领域。

2、强化学习智能体所对应的场景通常具有随机性和多样性的特点,一旦环境发生变化,强化学习加速终端需进行重新训练并及时更新参数,对加速终端进行网络实时在线训练与推理需求较高,强化学习网络训练过程复杂,计算量大,训练过程包含与推理操作不同的反向传播操作,如矩阵转置、函数求导等,同时,不同深度强化学习网络模型中,网络个数不同,网络中层数不同,各层参数不同,因此,如何使得加速终端在支持网络在线训练和推理高效加速计算的同时,也能灵活根据用户需求运行不同深度强化学习网络结构是现今的一大研究热点。

3、在现有的深度强化学习加速器的研究中,存在对加速器加速空间探索不足,无法充分利用计算资源,支持加速的网络结构单一的问题,在边缘计算场景下,基于同步电路设计的加速器设备在加速深度强化学习网络训练和推理过程中存在着功耗高、实时性差、灵活性差的问题,基于异步电路设计的加速器设备存在无法加速网络实时训练计算的问题,该领域仍具有很大的研究价值和发展空间。


技术实现思路

1、为解决现有技术的不足,在边缘计算场景下,实现深度强化学习加速器能耗降低、能效提高,增强在嵌入式系统中深度强化学习网络在线学习训练与推理决策的实时性与通用性的目的,本专利技术采用如下的技术方案:

2、一种基于异步电路的深度强化学习算法加速电路,采用异步逻辑的可再配置电路架构,支持以较低功耗对多种深度强化学习算法训练与推理加速计算,包括:配置寄存器模块、异步全局控制模块、异步计算控制模块、异步网络训练推理计算模块、异步权重更新模块、内存管理模块;

3、所述配置寄存器模块,用于用户配置接口、存储网络配置信息和加速器运行模式,网络配置信息决定计算阵列激活数目,运行模式决定计算阵列计算策略;

4、加速电路具有灵活可配置的可重构特性,可根据用户的算法加速需求,通过向配置寄存器模块写入配置信息,实现对用户所需的多种深度强化学习算法进行训练和推理加速计算;

5、所述异步全局控制模块,用于加速器运行全局控制,包括任务解析、资源分配、控制调度、状态监控与状态转换控制;

6、异步全局控制模块,分别与配置寄存器模块、内存管理模块、异步计算控制模块连接,获取配置信息,启动内存管理模块,启动异步计算控制模块读取配置信息,以对异步网络训练推理计算模块进行计算配置;

7、所述异步计算控制模块,用于计算阵列加速计算过程中控制调度及计算模式切换;

8、完成内存初始化及计算调度配置后,异步全局控制模块根据配置的计算模式,进行模块控制调度,以进行深度强化学习网络的训练和推理加速计算,直至达到训练或推理的要求,完成训练或推理加速。

9、所述异步网络训练推理计算模块,用于进行深度强化学习网络训练与推理加速计算,实现网络训练与推理加速计算期间实现计算资源复用;

10、所述异步权重更新模块,用于加速训练过程中的权重更新操作;

11、在深度强化学习学习策略网络与评估网络训练反向传播过程中,根据计算出的权重梯度,根据一定的权重更新策略,进行网络权重的计算与更新,采用异步逻辑进行设计,与异步网络训练推理计算模块通过req-ack请求-确认信号进行通信,实现权重更新;

12、所述内存管理模块,用于训练和推理计算过程中的数据存储,包括数据流动管理、数据存储管理与分配、外部环境交互、经验池采样以及经验存储操作。

13、进一步地,所述加速电路整体采用异步逻辑进行设计,模块中均采用事件驱动型的异步逻辑click单元取代同步电路中的全局时钟,模块间通过req-ack请求-确认信号进行数据交互,减少电路加速过程中不必要的时钟翻转,极大的减少了加速计算过程中电路产生的动态功耗;

14、所述异步网络训练推理计算模块,用于深度强化学习策略网络与评估网络中卷积层、全连接层、激活层的正向传播与反向传播计算、训练过程中损失函数的计算,由若干个pe计算单元组成计算阵列,计算单元支持三种计算模式:前向传播计算模式、反向传播神经元梯度计算模式、反向传播权重梯度计算模式,三种计算模式对相同计算单元进行复用,并由异步计算控制模块根据计算需求控制模式切换,以减少计算资源的消耗;

15、pe计算单元包括数据通路与异步控制单元;数据通路包括:输入数据寄存器ifmap_reg,用于寄存前向传播计算和反向传播权重梯度计算过程中的所需的输入数据;权重数据寄存器weight_reg,用于寄存前向传播计算和反向传播神经元梯度计算过程中所需的权重数据;层间数据寄存器ofmap_reg,用于寄存反向传播神经元梯度和权重梯度计算过程中所需的层间神经元及神经元梯度数据;输入数据选择器,与输入数据寄存器、权重数据寄存器、层间数据寄存器相连,用于选择不同计算模式的输入数据供pe单元进行计算;输入选择触发器dff,用于不同计算模式输入控制,受异步控制单元控制,在控制信号到来时将计算模式所需的输入方向提供给输入数据选择器并存储,决定了pe单元接收的计算数据类型;乘法器,与输入数据选择器输出相连,用于接收输入数据并进行乘法计算;加法器,与乘法器相连,用于进行累加计算;输出数据分配器,与加法器相连,用于将计算结果根据不同计算模式进行分配;输出分配触发器dff,用于不同计算模式输出控制,受异步控制单元控制,在控制信号到来时将计算模式的输出方向提供给输出数据分配器并存储,决定了pe单元计算结果的分配;加法器树addertree,与输出分配器相连,用于在反向传播神经元梯度计算的过程中将计算结果进行加法器数累加;权重数据移位寄存器weigth_sreg,与输出分配器相连,用于在反向传播权重梯度计算过程中存储权重计算结果;输出数据移位寄存器ofmap_sreg,与输出分配器相连,用于在前向传播计算过程中存储输出激励计算结果;异步控制单元由click单元和组合逻辑延时delay组成,click用于产生控制信号,控制计算过程中的数据流动,组合逻辑延时delay用于产生控制信号间的间隔与组合逻辑延时相等,保证电路工作时数据流动的准确性;

16、进一步地,前向传播计算模式中,异步计算控制模块用于控制参与计算的pe单元数量及计算过程中的数据流动,第一级click与输入数据ifmap相连,控制输入pe计算单元的数据更新,前向传播计算模式中,输入数据为输入激励与权重数据,第二级click与pe单元相连,用于控制开启pe单元进行前向传播计算,第三级click与输出激励存储器进行连接,用于控制输出激励存储器接收前向传播计算完成输出结果并进行存储。异步计算控制模块中的自检测模块和控制逻辑用于结果检测及判断,与参与计算的pe单元相连接,接收每个pe单元计算完成信号后完成一次计算本文档来自技高网...

【技术保护点】

1.一种基于异步电路的深度强化学习算法加速电路,其特征在于,采用异步逻辑的可再配置电路架构,包括:配置寄存器模块、异步全局控制模块、异步计算控制模块、异步网络训练推理计算模块、异步权重更新模块、内存管理模块;

2.根据权利要求1所述一种基于异步电路的深度强化学习算法加速电路,其特征在于,所述加速电路整体采用异步逻辑进行设计,模块中均采用事件驱动型的异步逻辑Click单元取代同步电路中的全局时钟,模块间通过Req-Ack请求-确认信号进行数据交互;

3.根据权利要求2所述一种基于异步电路的深度强化学习算法加速电路,其特征在于,所述前向传播计算模式中,异步计算控制模块用于控制参与计算的PE计算单元数量及计算过程中的数据流动,第一级Click单元与输入数据Ifmap相连,控制输入PE计算单元的数据更新,前向传播计算模式中,输入数据为输入激励与权重数据,第二级Click与PE计算单元相连,用于控制开启PE计算单元进行前向传播计算,第三级Click与输出激励存储器进行连接,用于控制输出激励存储器接收前向传播计算完成输出结果并进行存储。异步计算控制模块中的自检测模块和控制逻辑用于结果检测及判断,与参与计算的PE计算单元相连接,接收每个PE计算单元计算完成信号后完成一次计算并根据条件判断是否开启下一次计算;每级Click单元与延时DELAY单元相连,用于产生控制信号间的间隔与组合逻辑延时相等。

4.根据权利要求2所述一种基于异步电路的深度强化学习算法加速电路,其特征在于,所述反向传播激励梯度计算模式中,异步计算控制模块用于控制参与计算的PE计算单元数量及计算过程中的数据流动,第一级Click与PE计算单元相连,控制PE计算单元进行反向传播激励梯度的计算,第二级Click单元与加法器树进行相连,控制加法器树接收参与计算PE计算单元的输出结果并进行加法,第三级Click单元与神经元梯度存储器相连,用于控制神经元梯度存储器接收反向传播神经元梯度计算完成输出结果并进行存储;异步计算控制模块中的自检测模块和控制逻辑用于结果检测及判断,与参与计算的PE计算单元相连接,接收每个PE计算单元计算完成信号后完成一次计算并根据条件判断是否开启下一次计算;每级Click单元与DELAY单元相连,用于产生控制信号间的间隔与组合逻辑延时相等,保证电路工作时数据流动的准确性。

5.根据权利要求2所述一种基于异步电路的深度强化学习算法加速电路,其特征在于,所述反向传播权重梯度计算模式中,异步计算控制模块用于控制参与计算的PE计算单元数量及计算过程中的数据流动,第一级Click单元与输入数据Ifmap相连,控制输入PE计算单元的数据更新,反向传播权重梯度计算模式中,输入数据为神经元梯度与输入激励数据,第二级Click单元与PE计算单元相连,用于控制开启PE计算单元进行反向传播权重梯度计算,第三级Click单元与权重存储器进行连接,用于控制权重存储器接收反向传播权重梯度计算完成输出结果并进行存储。异步计算控制模块中的自检测模块和控制逻辑用于结果检测及判断,与参与计算的PE计算单元相连接,接收每个PE计算单元计算完成信号后完成一次计算并根据条件判断是否开启下一次计算;每级Click单元与延时DELAY单元相连,用于产生控制信号间的间隔与组合逻辑延时相等。

6.根据权利要求1所述一种基于异步电路的深度强化学习算法加速电路,其特征在于,所述配置寄存器模块,用于用户根据需求配置深度强化学习网络结构信息和运行模式;所述网络结构信息包括深度强化学习网络中策略网络、评价网络和目标网络的卷积层数、卷积层大小、全连接层数、全连接层大小及其对应的连接结构;所述运行模式包括训练模式和推理模式,训练模式下,所述运行参数为网络训练参数,推理模式下,所述运行参数为策略网络输入激励;

7.根据权利要求1所述一种基于异步电路的深度强化学习算法加速电路,其特征在于,所述异步网络训练推理计算模块和异步权重更新模块构建的精准计算模型,包括策略网络、价值网络、目标策略网络、目标价值网络,策略网络分别与异步计算控制模块、内存管理模块、目标策略网络和评估网络连接,目标策略网络还与内存管理模块和目标评估网络连接,目标评估网络还与评估网络连接。

8.一种基于权利要求1所述的一种基于异步电路的深度强化学习算法加速电路的电路加速方法,其特征在于包括如下步骤:

9.根据权利要求8所述的电路加速方法,其特征在于,所述异步网络训练推理计算模块,在进行深度强化学习网络的训练和推理计算过程中,通过内存管理模块与外部环境进行交互,获取深度强化学习网络决策动作对应的奖励以及环境状态,以供异步网络训练推理计算模块进行训练和推理计算;

...

【技术特征摘要】

1.一种基于异步电路的深度强化学习算法加速电路,其特征在于,采用异步逻辑的可再配置电路架构,包括:配置寄存器模块、异步全局控制模块、异步计算控制模块、异步网络训练推理计算模块、异步权重更新模块、内存管理模块;

2.根据权利要求1所述一种基于异步电路的深度强化学习算法加速电路,其特征在于,所述加速电路整体采用异步逻辑进行设计,模块中均采用事件驱动型的异步逻辑click单元取代同步电路中的全局时钟,模块间通过req-ack请求-确认信号进行数据交互;

3.根据权利要求2所述一种基于异步电路的深度强化学习算法加速电路,其特征在于,所述前向传播计算模式中,异步计算控制模块用于控制参与计算的pe计算单元数量及计算过程中的数据流动,第一级click单元与输入数据ifmap相连,控制输入pe计算单元的数据更新,前向传播计算模式中,输入数据为输入激励与权重数据,第二级click与pe计算单元相连,用于控制开启pe计算单元进行前向传播计算,第三级click与输出激励存储器进行连接,用于控制输出激励存储器接收前向传播计算完成输出结果并进行存储。异步计算控制模块中的自检测模块和控制逻辑用于结果检测及判断,与参与计算的pe计算单元相连接,接收每个pe计算单元计算完成信号后完成一次计算并根据条件判断是否开启下一次计算;每级click单元与延时delay单元相连,用于产生控制信号间的间隔与组合逻辑延时相等。

4.根据权利要求2所述一种基于异步电路的深度强化学习算法加速电路,其特征在于,所述反向传播激励梯度计算模式中,异步计算控制模块用于控制参与计算的pe计算单元数量及计算过程中的数据流动,第一级click与pe计算单元相连,控制pe计算单元进行反向传播激励梯度的计算,第二级click单元与加法器树进行相连,控制加法器树接收参与计算pe计算单元的输出结果并进行加法,第三级click单元与神经元梯度存储器相连,用于控制神经元梯度存储器接收反向传播神经元梯度计算完成输出结果并进行存储;异步计算控制模块中的自检测模块和控制逻辑用于结果检测及判断,与参与计算的pe计算单元相连接,接收每个pe计算单元计算完成信号后完成一次计算并根据条件判断是否开启下一次计算;每级click单元与delay单元相连,用于产生控制信号间的间隔与组合逻辑延时相等,保证电路工作时数据流动的准确性。

5.根据权利要求2所述一种基于异步电...

【专利技术属性】
技术研发人员:吕宝媛马德岳克强马琪胡有能何旗凯李一涛
申请(专利权)人:杭州电子科技大学
类型:发明
国别省市:

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

1