本发明涉及离线强化学习领域,尤其涉及一种有效泛化的离线强化学习方法。
背景技术:
1、离线强化学习作为一种基于数据驱动的强化学习方法,旨在从固定的历史数据中学习最优策略,不需要与环境进行在线交互收集数据,为具有较高安全要求的自动驾驶、机器人、健康护理等实际场景应用提供了可观的解决方案。固定的历史数据通常是由次优策略、随机策略或者多个混合策略等行为策略生成。由于行为策略与学习策略之间存在分布偏移,导致在策略评估的q值函数学习中产生数据集分布外(out-of-distribution,ood)动作,进而通过迭代累积产生外推误差,从而降低了策略学习性能。
2、为了解决ood动作引入的外推误差问题,研究学者主要从三方面研究无模型离线强化学习方法:1)策略约束:利用kl散度或者行为克隆使学习策略分布接近行为策略分布,或者利用最大均值差异(maximum mean discrepany,mmd)将学习策略约束在行为策略的支持集内。2)值函数正则化:在q值学习目标基础上通过直接惩罚ood动作值函数来低估q值。3)样本内学习:根据saras学习方式仅利用数据集内样本估计q值,训练中无需访问ood动作。以上三类方法均悲观地认为ood动作是不好的行为,通过学习过度保守的q值函数和策略约束来抑制ood动作影响。但是,在实际应用中给定的离线数据集往往是有限大小,且不能完全覆盖所有状态-动作空间,当行为策略是次优策略或者次优-随机混合策略时,最优策略可能位于ood区域,从而以上方法限制了策略的泛化,难以学到优于行为策略的最优策略。
3、因此,如何权衡q值函数的保守估计和策略的泛化是一项挑战。
技术实现思路
1、发明目的:为了能够提高策略的泛化,同时减小q值函数的过度保守,本发明基于ood值函数泛化视角,聚焦于ood值函数的代理目标设计,提出一种有效泛化的离线强化学习方法。
2、技术方案:一种有效泛化的离线强化学习方法,包括如下步骤:
3、步骤1、从离线数据集中采样批量样本,根据学习策略将动作分为数据集内动作和数据集分布外动作;
4、步骤2、构造数据集分布外动作值函数的代理目标;
5、步骤3、基于步骤2设计基于距离正则化的泛化q-学习框架;
6、步骤4、将基于距离正则化的泛化q-学习框架应用到在线actor-critic框架中,提出基于距离正则化的离线actor-critic方法;
7、步骤5、基于距离正则化的离线actor-critic方法中,critic根据泛化q-学习框架学习q值函数,actor学习最优控制策略。
8、进一步的,所述步骤1中,从离线数据集d={(s,a,s′,r(s,a))}中采样批量样本的方法为:
9、根据学习策略将动作分为数据集内动作a∈d和数据集分布外动作aood=π(s),其中s为状态,a为动作,s′为下一个状态,r(s,a)表示立即回报函数,π:s→a为确定性策略。
10、进一步的,所述步骤2中,利用数据之间的距离构造一个数据集分布外动作值函数的代理目标,即ood值函数的代理目标,公式为:
11、yood=f(d(s,aood;s,a);β)q(s,a),(s,a)∈d;
12、式中,d(s,aood;s,a)表示ood动作样本(s,aood)和数据集内样本(s,a)之间的距离,f:r→r为距离权重函数,设置0≤f(d(s,aood;s,a);β)≤1,β为f函数参数;yood表示ood值函数代理目标,q(s,a)表示从状态s和动作a开始,根据策略π采样执行得到的期望累积折扣回报,简称q值函数,即γ为折扣因子,0<γ≤1。
13、进一步的,所述步骤3的具体步骤如下:
14、步骤3.1、根据步骤2中ood值函数的代理目标的设计,用策略π诱导的q值函数来逼近ood值函数的代理目标,对样本内q值函数和ood值函数同时进行训练,得到基于距离正则化的泛化q-学习训练目标:
15、
16、式中,f(d;β)为f(d(s,aood;s,a);β)的简化公式,α为权重参数,用于约束ood值函数q(s,π(s))的学习;l(q(s,a))表示q值函数学习的损失函数,e(s,a,s′)∈d和e(s,a)∈d均表示数据集样本的期望,表示根据数据集计算的经验贝尔曼,即为经验状态转移概率,k为迭代次数,表示第k次迭代得到的q估计值,qk(s,π(s))表示第k次迭代得到的ood值函数;
17、步骤3.2、不考虑函数逼近器,设式(1)对q(s,a)的导数等于0,得到第k+1次迭代的q估计值的更新公式为:
18、
19、步骤3.3、将式(2)的迭代表示为关于q的函数算子tπq,即为:
20、
21、步骤3.4、根据tπq不断对q值迭代更新,将收敛至唯一不动点
22、进一步的,步骤4中,基于距离正则化的离线actor-critic方法,由两个critic神经网络和一个actor神经网络πθ构成,其中,φ1、φ2和θ分别为神经网络参数。
23、进一步的,所述步骤5中的具体步骤如下:
24、步骤5.1、critic根据泛化q-学习框架学习q值函数;
25、1)critic网络根据式(1)进行q值函数学习,表示数据到数据集的距离,ω为参数,其优化目标为:
26、
27、式中,表示动作服从动作空间a的均匀分布;
28、根据学到的计算ood动作样本与数据集内样本之间的距离为:
29、d(sin,aood;sin,ain)=|gω(sin,aood)-gω(sin,ain)| (26)
30、式中,sin=(s,s′)∈d,ain=(a,a′)∈d,aood=πθ(sin)+ε,ε~clip(n(0,σ2),-c,c)用于增加ood样本数量,σ为方差,c为裁剪范围;
31、2)采用的距离权重函数为指数型函数或开平方型函数:
32、一种是指数型函数:
33、
34、一种是开平方型函数:
35、
36、3)critic学习目标函数为:
37、
38、式中,l(φi)表示critic学习的损失函数,φ′i和θ′分别为critic目标网络参数和actor目标网络参数;设置α为α=λtanh(d(sin,aood;sin,ain)),其中,λ为约束参数;
39、步骤5.2、actor学习最优控制策略;
40、基于式(29)学到的q值,actor通过最大化q值更新策略,其损失函数为:
41、
42、式中,l(θ)表示actor学习策略的损失函数,是与策略参数θ有关的函数。
43、有益效果:
44、1)本发明提出一种基于距离正则化的离线泛化q-学习框架。该框架根据ood动作样本与数据集内样本之间的距离,对数据集内样本q值函数通过距离权重分配来构造ood值函数代理目标。
45、本发明方法通过选择合适的参数,由本发明泛化q-学习框架学到的q值可以收敛至一个唯一不动点,由泛化q-学习框架学到的q值函数和策略的差异性能是有界的。泛化q-学习框架不但可以减小q值函数的过度保守估计,而且可以提高策略的泛化性能。
46、2)本发明将泛化q-学习框架应用于在线actor-critic学习框架中,提出一种基于距离正则化的离线actor-critic方法。该方法利用ood采样技术和状态条件距离函数来计算数据集内样本和ood样本之间的距离,并给出两种距离权重转换函数。与现有的保守基线算法相比,具有优越的性能。
1.一种有效泛化的离线强化学习方法,其特征在于,包括如下步骤:
2.根据权利要求1所述的一种有效泛化的离线强化学习方法,其特征在于,所述步骤1中,从离线数据集d={(s,a,s′,r(s,a))}中采样批量样本的方法为:
3.根据权利要求2所述的一种有效泛化的离线强化学习方法,其特征在于,所述步骤2中,利用数据之间的距离构造一个数据集分布外动作值函数的代理目标,即ood值函数的代理目标,公式为:
4.根据权利要求3所述的一种有效泛化的离线强化学习方法,其特征在于,所述步骤3的具体步骤如下:
5.根据权利要求4所述的一种有效泛化的离线强化学习方法,其特征在于,步骤4中,基于距离正则化的离线actor-critic方法,由两个critic神经网络和一个actor神经网络πθ构成,其中,φ1、φ2和θ分别为神经网络参数。
6.根据权利要求5所述的一种有效泛化的离线强化学习方法,其特征在于,所述步骤5中的具体步骤如下:
