一种基于深度确定性策略梯度的自适应控制方法
文献发布时间:2023-06-19 10:27:30
技术领域:
本申请涉及计算机软件技术领域,具体涉及一种基于深度强化学习技术的自适应控制方法。
背景技术:
传统的PID控制器需要系统进行精确建模,并通过拉普拉斯变换将时域模型转换为频域传递函数,再根据根轨迹等方法设计经典PID控制器,该种方法缺点在于非线性问题需要进行线性假设,建模过程较为复杂,并且控制器设计的好坏依赖于所抽象的数学模型精确程度。
本申请所要解决的问题是如何解决非线性系统的控制问题,并且不依赖于精确的数学模型,构建一种无模型控制方法。
发明内容
本申请的目的是提出一种基于深度强化学习技术的自适应控制方法。解决非线性系统的控制问题,并且不依赖于精确的数学模型,构建一种无模型控制方法。
本申请的技术方案包括以下步骤:一种基于深度确定性策略梯度的自适应控制方法,其特征在于:它包括以下步骤:
1)首先依据真实系统特性构建仿真训练环境,仿真训练环境与真实系统保持一致,使环境与强化学习训练进行交互;
2)分别构建状态,回报,动作和截止条件作为深度强化学习的训练要素,动作区间:a∈[A
3)构建critic网络、actor网络和相应的critic-target网络、actor-target网络,上述网络形成神经网络;
4)对critic网络和actor网络进行若干轮训练;本轮训练结束,开始下一轮训练;5)使用训练结果actor网络作为控制器。
所述状态,回报,动作和截止条件分别为状态state:以当前值truevalue,误差值error=reference–truevalue和误差的积分∫edt作为状态量state;
回报:reward=10(|e|<0.1)-1(|e|≥0.1)-100(truevalue≤min||truevalue≥max)如果实际值小于最小值min或最大值max,则回报为-100;如果误差绝对值大于0.1,则回报值为-1;如果误差绝对值小于0.1,则回报值为+10;
截至条件:如果truevalue≤min||truevalue≥max,则本轮训练终止。
对critic网络和actor网络进行训练的流程包括:
a)初始化actor网络和critic网络的神经网络参数θ
接下来开始进行M轮训练:
b)actor根据actor网络选择一个action,并传递到环境中,a
c)环境执行action后返回回报reward和新的状态state(t+1);
d)将(s
e)计算神经网络的loss,依据公式:
y
f)采用Adam optimizer更新θ
g)计算actor网络的策略梯度:
h)采用Adam optimizer更新θ
i)采用soft update方式更新actor-target网络和critic-target网络:
本申请的优点是:依据真实系统特性构建的仿真训练环境;构建状态(观测量),回报函数,截止条件,动作;构建深度确定性策略梯度方法的critic网络、actor网络和相应的目标网络,通过与仿真训练环境的试错交互进行训练;使用actor网络训练结果作为该系统的控制器。
本发明将深度强化学习方法应用于控制器设计,介绍该方法的实施步骤,通过离线仿真训练,达到控制器要求后移植到真实环境中,实现非线性系统自适应控制。
附图说明
图1是环境与强化学习训练交互示意图;
图2神经网络结构示意图;
图3深度确定性策略梯度神经网络与训练环境交互示意图;
图4将训练后的actor网络移植到真实系统。
具体实施方式
本发明提出一种基于深度确定性策略梯度的自适应控制方法,其主要特征在于包括以下步骤:
1)首先依据真实系统特性构建的仿真训练环境,仿真训练环境与真实系统保持一致即可,环境与强化学习训练交互如图1。
2)根据深度强化学习的训练要素,分别构建状态,回报,动作和截止条件;
状态state:以当前值truevalue,误差值error=reference–truevalue和误差的积分∫edt作为状态量state;
回报:reward=10(|e|<0.1)-1(|e|≥0.1)-100(truevalue≤min||truevalue≥max)如果实际值小于最小值min或最大值max,则回报为-100;如果误差绝对值大于0.1,则回报值为-1;如果误差绝对值小于0.1,则回报值为+10;
截至条件:如果truevalue≤min||truevalue≥max,则本轮训练终止;
动作区间:a∈[A
3)根据深度确定性策略梯度方法,构建critic网络、actor网络和相应的critic-target网络、actor-target网络,神经网络结构如图2所示。
深度确定性策略梯度神经网络与环境交互示意图如图3所示。
4)对critic网络和actor网络进行训练
使用深度确定性策略梯度算法对critic网络和actor网络进行训练,训练流程如下:
a)初始化actor网络和critic网络的神经网络参数θ
接下来开始进行M轮训练:
b)actor根据actor网络选择一个action,并传递到环境中,
a
c)环境执行action后返回回报reward和新的状态state(t+1);
d)将(s
e)计算神经网络的loss,依据公式:
y
f)采用Adam optimizer更新θ
g)计算actor网络的策略梯度:
h)采用Adam optimizer更新θ
I)采用soft update方式更新actor-target网络和critic-target网络:
本轮训练结束,开始下一轮训练。
5)使用训练结果actor网络作为控制器。
- 一种基于深度确定性策略梯度的自适应控制方法
- 一种基于深度确定性策略梯度的主动悬架控制方法