基于高阶动作监督的策略学习方法和装置
本发明涉及人工智能,尤其涉及一种基于高阶动作监督的策略学习方法和装置。
背景技术:
1、在具身智能、自动驾驶、电机控制等技术领域中,基于数据驱动的学习方法,如模仿学习(imitation learning,il)和强化学习(reinforcement learning,rl),虽在复杂任务中取得一定的成功,但在机器人和自动驾驶等现实场景中仍然存在技术瓶颈,瓶颈之一为连续步骤间的动作输出缺乏平滑度,例如,在自动驾驶应用场景下,动作输出缺乏平滑度会使系统频繁加速、减速,呈现明显的顿挫感,降低用户驾乘体验;再例如,机器人动作输出缺乏平滑度,会使得机器人的机械臂或机身出现高频抖动,这种高频抖动会导致过度的机械磨损和能量消耗,缩短机器人使用寿命。
技术实现思路
1、本发明提供一种基于高阶动作监督的策略学习方法和装置,用以解决连续步骤间策略网络模型输出的动作缺乏平滑度的问题。
2、本发明提供一种基于高阶动作监督的策略学习方法,该方法包括:获取训练数据集,训练数据集包括多条轨迹,每条轨迹包括按时间顺序排列的状态和动作样本;动作样本包括零阶动作样本和一阶动作样本;其中,一阶动作样本根据零阶动作样本以及数据采样间隔得到;将训练数据集中的状态输入至策略网络模型,通过策略网络模型输出零阶动作和一阶动作;确定损失函数的总损失;损失函数包括零阶动作监督损失项和一阶动作监督损失项;零阶动作监督损失项,用于输入零阶动作样本和零阶动作以得到第一损失;一阶动作监督损失项,用于输入一阶动作样本和一阶动作以得到第二损失;总损失包括第一损失和第二损失;根据总损失,迭代更新策略网络模型的参数,得到训练后的目标策略网络模型;目标策略网络模型至少用于预测目标实体的零阶动作。
3、在一个实施例中,确定损失函数的总损失,包括确定一阶动作监督损失项对应的第二损失;确定一阶动作监督损失项对应的第二损失具体包括:计算状态的时间导数;通过组合计算雅克比矩阵与状态的时间导数的乘积,获得策略网络模型输出的一阶动作的估计值;雅克比矩阵,表示策略网络模型关于当前状态的梯度矩阵;根据估计值和训练数据集中的一阶动作样本,确定一阶动作监督损失项的第二损失;一阶动作监督损失项,用于量化估计值与一阶动作样本之间的差异。
4、在一个实施例中,通过组合计算策略网络模型对状态的梯度的雅克比矩阵与状态的时间导数,获取策略网络模型输出的零阶动作的时间导数的估计值,包括:生成调用请求,调用请求中携带策略网络模型的策略函数、当前时刻的状态以及状态的时间导数;发送所述调用请求以调用目标函数执行雅克比矩阵-向量积运算,直接获得所述策略网络模型输出的零阶动作的时间导数的估计值。例如,发送调用请求以调用pytorch中的torch.func.jvp函数执行雅克比矩阵-向量积运算,直接获得策略网络模型输出的零阶动作的时间导数的估计值;和/或,发送调用请求以调用jax中的jax.jvp函数执行雅克比矩阵-向量积运算,直接获得策略网络模型输出的零阶动作的时间导数的估计值。
5、在一个实施例中,计算状态的时间导数,包括:采用前向差分法、中心差分法、局部多项式平滑求导法中的至少一种,根据从训练数据集中获取到的状态,计算状态的时间导数。
6、在一个实施例中,策略网络模型为确定性策略网络;零阶动作监督损失项为行为克隆损失项;一阶动作监督损失项为:;其中,表示当前时刻的状态;
π(
s)为策略网络模型在状态下输出的零阶动作;为策略网络模型关于状态的梯度;表示状态的时间导数;。
7、在一个实施例中,策略网络模型为随机策略网络,一阶动作监督损失项为:;其中,表示所述随机策略网络对应的采用均值监督的一阶动作监督损失项;
μ(
s)表示随机策略网络输出动作的均值;为策略网络模型关于状态的梯度;表示状态的时间导数;为一阶动作;为策略网络模型关于状态的梯度。
8、在一个实施例中,策略网络模型为随机策略网络,随机策略网络的随机分量建模方式为奥恩斯坦-乌伦贝克过程随机过程;一阶动作监督损失项为:;其中,表示随机策略网络对应的一阶动作监督损失项,为一阶动作的条件概率分布;log表示求对数;表示在给定当前时刻的状态、当前时刻的零阶动作 和状态的时间导数的条件下,一阶动作的概率分布。
9、在一个实施例中,策略网络模型为流匹配策略网络;一阶动作监督损失项为:;表示流匹配策略网络对应的一阶监督损失项;表示当前时刻的状态;表示状态的时间导数;表示流匹配策略网络学习得到的与生成时间
k相关的速度场,a
k表示插值路径上的中间动作样本;表示速度场关于状态的偏导数;1表示一阶动作样本标签。
10、在一个实施例中,速度场用于在生成时间
k∈[0,1] 上将噪声样本 a0映射为动作样本 a1,动作样本通过如下积分获得:
11、;
12、a
0表示初始噪声样本,a1表示生成的目标零阶动作;表示从噪声样本到目标零阶动作的累加变化量。
13、在一个实施例中,该方法还包括:确定价值网络,价值网络用于估计状态与动作对的价值;在价值网络的优化过程中,基于连续时间哈密顿-雅可比-贝尔曼方程,对价值网络进行一阶价值一致性正则化处理,得到一阶价值一致性正则化项;根据一阶价值一致性正则化项,更新价值网络中的参数。
14、在一个实施例中,对价值网络进行一阶价值一致性正则化处理,包括:计算价值网络关于状态的梯度与状态的时间导数的方向一致性;计算价值网络关于零阶动作的梯度与时间导数估计值的方向一致性;获得一阶价值一致性正则化项;其中,时间导数估计值为策略网络模型输出的零阶动作的时间导数的估计值。
15、本发明实施例还提供一种基于高阶动作监督的离线强化学习装置,该装置包括:获取模块,用于获取训练数据集,训练数据集包括多条轨迹,每条轨迹包括按时间顺序排列的状态和动作样本;动作样本包括零阶动作样本和一阶动作样本;其中,一阶动作样本根据零阶动作样本以及数据采样间隔得到;零阶动作确定模块,用于将训练数据集中的状态样本输入至策略网络模型,通过策略网络模型输出零阶动作和一阶动作;损失值确定模块,用于确定损失函数的总损失;损失函数包括零阶动作监督损失项和一阶动作监督损失项;零阶动作监督损失项,用于输入零阶动作样本和零阶动作以得到第一损失;一阶动作监督损失项,用于输入一阶动作样本和一阶动作以得到第二损失;总损失包括第一损失和第二损失;优化模块,用于根据总损失,迭代更新策略网络模型的参数,得到训练后的目标策略网络模型;目标策略网络模型至少用于预测目标实体的零阶动作。
16、本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现如上述任一种基于高阶动作监督的策略学习方法。
17、本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种基于高阶动作监督的策略学习方法。
18、本发明还提供一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时实现如上述任一种基于高阶动作监督的策略学习方法。
19、本发明提供的基于高阶动作监督的策略学习方法和装置,在零阶动作监督的基础上,增加了对高阶动作的监督,高阶动作包括一阶动作,一阶动作即动作对时间的导数,或者说动作相对于时间的变化率,基于此构思,限定了损失函数同时包含零阶动作监督损失项和一阶动作监督损失项,零阶动作监督损失项,用于输入所述零阶动作样本和所述零阶动作以得到第一损失,也就是根据训练数据集中的所述零阶动作样本(即零阶动作标签)和策略网络模型预测的零阶动作,计算零阶动作监督损失项的第一损失。一阶动作监督损失项,用于输入所述一阶动作样本和所述一阶动作以得到第二损失,即根据训练数据集中的所述一阶动作样本(即一阶动作标签)和策略网络模型预测的一阶动作,计算一阶动作监督损失项的第二损失。根据两项共同得到的总损失更新策略网络参数,训练得到的目标策略网络模型,至少输出下一个时间步的零阶动作,能够在各种实际应用场景中对机器人、车辆等目标实体的动作进行平滑控制。其中,一阶动作监督本质上约束了相邻时间步动作之间的变化量,使得策略网络在学习时不仅要学习下一时刻的动作(零阶动作)应该是什么,还需要学习动作应该怎样随时间变化,解决了连续步骤间的动作输出缺乏平滑度的技术问题,在自动驾驶应用场景,可以减少车身频繁地加速、减速,自动驾驶的智能控制更为平滑,在机器人等具身智能应用场景,可以减少机器人由于高频抖动导致的机械磨损,提升机器人动作的流畅性的稳定性,延长使用寿命。
版权声明:本站专利文献数据主要来源于国家知识产权局等公开渠道,由 技术新讯 进行整理汇编。页面设计及数据汇编的著作权归本站所有。全部内容仅供个人学习、科研评估与技术交流参考,严禁用于任何商业用途(包括但不限于直接生产制造、技术转让、倒卖数据等)。
免责条款:专利技术具有时效性,本站不对资料的绝对准确性、完整性和可实施性提供任何明示或暗示的担保。因参考本站内容造成的直接或间接损失,本站不承担相关法律责任。若您认为本站内容有侵权问题,请及时提供权属证明与我们联系,本站将在核实后依法处理。反馈意见:yyfuon@163.com