1.一种深度强化学习加速训练的方法,其特征在于,包括如下步骤:
1)在CPU+FPGA平台下运行该方法,CPU作为控制设备同时运行强化学习交互环境,FPGA作为计算设备进行神经网络前向和反向的计算;
‑
2)在内存的固定位置分配参数ω、ω 和经验池,由CPU完成初始化,FPGA和CPU可以通过数据传输总线直接访问;
3)利用CPU的多进程机制同时进行两个进程,进程一进行策略与环境的交互来完成数据采集,进程二利用采集的数据进行神经网络的训练;
4)进程一中的策略为运行于FPGA上的动作网络,输入为当前状态S,输出为动作Q值,CPU通过选择的Q值产生奖励值R和下一状态S’,将数据以形式为存入经验池中;
5)进程二通过CPU抽取batch规模的数据,将下一状态S’输入运行于FPGA上的目标网络产生数据标签, 然后将数据标签和当前状态S放入运行于FPGA上的评价网络进行神经网络的反向传播训练;
‑
6)根据训练的次数来更新参数ω,系统达到指定要求后,训练完成。
2.按照权利要求1所述的一种深度强化学习加速训练的方法,其特征在于,数据采集与策略的训练通过CPU控制两个进程来并行执行。
3.按照权利要求1所述的一种深度强化学习加速训练的方法,其特征在于,在FPGA上运行动作网络、评价网络、目标网络,其中动作网络用于数据采集的策略,其输入大小为一个状态S,评价网络、目标网络用于训练,输入大小都为batch规模的状态,其中目标网络做前向计算,评价网络做前向和反向的计算用于更新网络参数。
4.按照权利要求1所述的一种深度强化学习加速训练的方法,其特征在于,内存的固定位置分配参数,FPGA能够通过数据传输总线直接读写参数,通过CPU进行参数的初始化和读写经验池数据,并传输相应的数据输入和数据标签至FPGA中的神经网络。