OpenAI发布新强化学习算法:近端策略优化

简介:
本文来自AI新媒体量子位(QbitAI)

OpenAI今天发布一类新的强化学习算法:近端策略优化(Proximal Policy Optimization,PPO)。因为易于使用和表现良好,PPO已经成为OpenAI默认的强化学习算法。


PPO让我们在根据挑战性的环境中训练AI策略,例如上面所示的Roboschool训练场中,智能体(agent)的任务是追逐粉红色的球体,并在期间学习走路、跑步、转向以及被击倒时如何站起来。

代码在此:

https://github.com/openai/baselines

Paper在此:

https://openai-public.s3-us-west-2.amazonaws.com/blog/2017-07/ppo/ppo-arxiv.pdf

最近在使用深度神经网络控制视频游戏等领域取得的突破中,策略梯度方法扮演了基础的角色。但策略梯度方法想要获得良好的结果非常困难,因为它对步长的选择比较敏感——太小。而且过程慢得让人绝望。样本效率通常也不好。

640?wx_fmt=jpeg&wxfrom=5&wx_lazy=1

通过监督学习,我们可以轻松实现成本函数,运行梯度下降,而且很有信心能通过相对较小的超参数调优获得出色的结果。强化算法的成功路径并不明显,算法里有很多难以调试的部分。PPO则在样本复杂性和易于调优之间取得平衡,试图在每一步最小化成本函数计算更新时,确保与先前策略的偏差相对较小。

我们详细说明了使用自适应KL惩罚来控制每次迭代策略变化的PPO变体。新的变体使用其他算法中通常没有的新目标函数:

640?wx_fmt=png&wxfrom=5&wx_lazy=1

该目标实现了一种与随机梯度下降兼容的信赖域修正方法,并通过消除KL损失来简化算法,以及减小适应性修正的需求。在测试中,这一算法在连续控制任务上显示出最佳性能,几乎与ACER在Atari上的性能相匹配,而且实现起来更为简单。

OpenAI还使用PPO来教导复杂的模拟机器人。


例如波士顿动力的Atlas。这个模型具有30个不同的关节,普通的双足机器人只有17个左右。研究人员利用PPO训练模拟机器人,在越过障碍物时表现出跑酷的感觉。(不过在这个演示视频中,没有感觉出来……)

基线:PPO和TRPO

这一次放出的基线版本包括PPO和TRPO的可扩展并行实现,它们都是用MPI进行数据传递。两者都是用Python3和TensorFlow。

OpenAI基线是一套强化学习算法的高质量实现。地址在:https://github.com/openai/baselines

可以直接输入下面这个命令安装:

pip install baselines

【完】

本文作者:允中
原文发布时间:2017-07-21
相关文章
|
22小时前
|
资源调度 算法 块存储
m基于遗传优化的LDPC码OMS译码算法最优偏移参数计算和误码率matlab仿真
MATLAB2022a仿真实现了遗传优化的LDPC码OSD译码算法,通过自动搜索最佳偏移参数ΔΔ以提升纠错性能。该算法结合了低密度奇偶校验码和有序统计译码理论,利用遗传算法进行全局优化,避免手动调整,提高译码效率。核心程序包括编码、调制、AWGN信道模拟及软输入软输出译码等步骤,通过仿真曲线展示了不同SNR下的误码率性能。
7 1
|
1天前
|
人工智能 JSON 机器人
[译][AI OpenAI-doc] 延迟优化
本指南涵盖了一系列核心原则,您可以应用这些原则来改善在各种LLM相关用例中的延迟。这些技术来自于与广泛的客户和开发人员在生产应用程序上的合作,因此无论您正在构建什么——从细粒度的工作流程到端到端的聊天机器人,都应该适用!
[译][AI OpenAI-doc] 延迟优化
|
1天前
|
机器学习/深度学习 敏捷开发 算法
算法人生(1):从“强化学习”看如何“战胜拖延”
算法人生系列探讨如何将强化学习理念应用于个人成长。强化学习是一种机器学习方法,通过奖励和惩罚促使智能体优化行为策略。它包括识别环境、小步快跑、强正避负和持续调优四个步骤。将此应用于克服拖延,首先要识别拖延原因并分解目标,其次实施奖惩机制,如延迟满足和替换刺激物,最后持续调整策略以最大化效果。通过这种动态迭代过程,我们可以更好地理解和应对生活中的拖延问题。
|
4天前
|
算法 Serverless
m基于遗传优化的LDPC码NMS译码算法最优归一化参数计算和误码率matlab仿真
MATLAB 2022a仿真实现了遗传优化的归一化最小和(NMS)译码算法,应用于低密度奇偶校验(LDPC)码。结果显示了遗传优化的迭代过程和误码率对比。遗传算法通过选择、交叉和变异操作寻找最佳归一化因子,以提升NMS译码性能。核心程序包括迭代优化、目标函数计算及性能绘图。最终,展示了SNR与误码率的关系,并保存了关键数据。
13 1
|
4天前
|
机器学习/深度学习 存储 算法
数据结构与算法 动态规划(启发式搜索、遗传算法、强化学习待完善)
数据结构与算法 动态规划(启发式搜索、遗传算法、强化学习待完善)
11 1
|
6天前
|
算法 调度
考虑需求响应的微网优化调度模型【粒子群算法】【matlab】
考虑需求响应的微网优化调度模型【粒子群算法】【matlab】
|
6天前
|
算法 调度
基于多目标粒子群算法冷热电联供综合能源系统运行优化(matlab代码)
基于多目标粒子群算法冷热电联供综合能源系统运行优化(matlab代码)
|
6天前
|
算法
【免费】面向多微网网络结构设计的大规模二进制矩阵优化算法
【免费】面向多微网网络结构设计的大规模二进制矩阵优化算法
|
6天前
|
算法
【免费】基于ADMM算法的多微网电能交互分布式运行策略(matlab代码)
【免费】基于ADMM算法的多微网电能交互分布式运行策略(matlab代码)
|
6天前
|
算法 调度
【问题探讨】基于非支配排序的蜣螂优化算法NSDBO求解微电网多目标优化调度研究
【问题探讨】基于非支配排序的蜣螂优化算法NSDBO求解微电网多目标优化调度研究