通用强化学习用算法发现算法:DeepMind 数据驱动「价值函数」自我更新,14款Atari游戏完虐人类!

简介: 击败卡斯帕罗夫的「深蓝」并不是真正的人工智能,它过度依赖了人类设计的规则,而最近DeepMind的一项深度强化学习新研究表明,不用人工介入,完全数据驱动,算法自己就能发现算法。

微信图片_20220109134707.png


「深蓝」并非以智取胜,而是一个劳动密集型选手


当「深蓝」在1997年击败国际象棋世界冠军卡斯帕罗夫时,人工智能似乎要来了。 一台电脑击败了有史以来最聪明的国际象棋选手之一,很多人惊呼,电脑要超越人类了。 


然而事实并非如此,虽然「深蓝」是一段精心编制的程序,但这种方法过于劳动密集,过于依赖清晰的规则和有限的可能性,无法迁移到更复杂的游戏中,更不用说现实世界了。 


深度学习成功的关键在于算法基本上是自己编写的,给定数据集,他们从中学习到一些表征,所谓的算法就是这么出来的。 而DeepMind 正在开发一种新的元学习算法来进一步实现自动化,这种算法能够从零开始发现自己的价值函数--深度强化学习中的一个关键编程规则。 


近日该论文发表在了arxiv上。      

 微信图片_20220109134709.png        

发现强化学习算法的算法


DeepMind最近引入了一种新的元学习方法,可以自动生成强化学习算法,称为学习策略梯度(LPG) 


研究人员认为,该算法可以从数据中自动发现更新规则,而且能更好地适应特定环境,它既包括预测什么(价值函数),又包括如何从中学习,如何与环境交互。 


该元学习方法的目标是从环境和初始代理参数的分布中寻找最优的更新规则。      

 微信图片_20220109134711.png


我们来看下学习策略梯度(LPG)是如何进行元训练的。 


首先用θ参数化主体产生状态的动作概率π和预测向量y。 其次由η设置的更新规则(LPG)将代理的输出作为输入,向后展开给LSTM以生成代理输出(πˆ,yˆ)的目标。 


最后,更新规则参数η是从多个生存期进行元学习的,在每个生存期中,不同的代理与采样的环境进行交互,并使用共享更新规则更新其参数θ。


在所有K <N个参数通过滑动窗口更新后(在所有并行生命周期内取平均值),计算出元梯度以使回报最大化。 LPG进行元训练时,没有做任何试图发现更新规则的先验工作,取而代之的是,它们全都依赖于价值函数(可以说是RL的最基本构建块)进行引导


代理的更新(θ) 


代理通过下面这个公式引导梯度上升来更新参数:  

   微信图片_20220109134712.png


其中πˆ和yˆ是LPG的输出。     


 微信图片_20220109134714.png  

 

是Kullback-Leibler散度。 αy是用于预测更新的系数,在更高的层面来看,πˆ指定应如何调整动作概率,并直接影响代理的行为。yˆ指定 代理在给定状态预测下的类别分布,并且在LPG发现其有用的语义(例如,价值函数)并使用y通过自举来间接更改策略之前,不会对策略产生影响。

        微信图片_20220109134716.png


LPG的元训练过程 


这只是研究人员建议的框架,实际上并不限于这种特定形式的代理更新和架构(例如,具有KL散度的分类预测),你也可以采用其他方案。但是,有一点需要注意,不要对y强制执行任何语义,只能允许LPG从数据中发现y的语义。 


LPG的更新(η) 


对LPG进行元训练时,要考虑到它可以在多大程度上改善与不同类型环境交互的代理的性能。具体而言,通过对等式中的目标应用策略梯度来计算元梯度。


微信图片_20220109134720.png


直观地,我们使用从θ0到θN的更新规则η进行N次参数更新,直到生命周期结束,并估计更新参数θN的策略梯度,以找到使θN的预期收益(G)最大化的超梯度方向。 


从零开始自主学习,已经在14款游戏中超越人类


LPG生成的强化学习算法表现如何呢?研究人员在复杂的Atari游戏中对LPG进行了评估。 与高级RL算法相比,LPG可以很好地推广到Atari游戏。 


令人惊讶的是,训练环境主要由表格形式的数据组成,其基本任务比Atari游戏要简单得多,而且LPG在元训练期间从未见过如此复杂的世界。 


不过,接受LPG训练的代理可以在许多Atari游戏中学习复杂的行为,从而在14款游戏中实现超越人类的表现,而无需依赖任何手工设计的RL组件(例如价值函数),而是使用从零开始发现的规则。      


微信图片_20220109134722.png 

上图展示了LPG从玩具环境到Atari的泛化。X轴是用于元学习LPG的玩具环境的数量。


Y轴是代理在训练结束时胜过人类的Atari游戏的数量。虚线对应每年的最新算法。


可以看到LPG的表现非常喜人。 更多的细节请参见:


https://arxiv.org/pdf/2007.08794.pdf


LPG不是很完美,但我们离通用RL又近了一步


LPG仍然落后于人工设计的先进算法。


但是它在训练甚至是某些Atari游戏中的表现都超过了人为设计的基准,但这只能表明它在某些环境下是出色的。 本文首次尝试了结合「预测内容」和「如何进行引导」来元学习完整的RL的更新规则,从而取代了一些现有的RL概念。 


由于LPG完全是数据驱动的,得出的算法可能会捕获环境训练集中的意外偏差,而除了发现算法时的奖励,训练时并没有提供特定领域的信息,这使得算法很难在训练环境中捕获偏见。 


但是至少证明了,强化学习从玩具环境迁移到具有挑战性的基准是可能的。DeepMind的这一研究,让我们朝着通用 RL 算法又迈进了一步。

目录
打赏
0
0
0
0
367
分享
相关文章
多代理强化学习综述:原理、算法与挑战
多代理强化学习是强化学习的一个子领域,专注于研究在共享环境中共存的多个学习代理的行为。每个代理都受其个体奖励驱动,采取行动以推进自身利益;在某些环境中,这些利益可能与其他代理的利益相冲突,从而产生复杂的群体动态。
425 5
深度强化学习中SAC算法:数学原理、网络架构及其PyTorch实现
软演员-评论家算法(Soft Actor-Critic, SAC)是深度强化学习领域的重要进展,基于最大熵框架优化策略,在探索与利用之间实现动态平衡。SAC通过双Q网络设计和自适应温度参数,提升了训练稳定性和样本效率。本文详细解析了SAC的数学原理、网络架构及PyTorch实现,涵盖演员网络的动作采样与对数概率计算、评论家网络的Q值估计及其损失函数,并介绍了完整的SAC智能体实现流程。SAC在连续动作空间中表现出色,具有高样本效率和稳定的训练过程,适合实际应用场景。
226 7
深度强化学习中SAC算法:数学原理、网络架构及其PyTorch实现
利用Python内置函数实现的冒泡排序算法
在上述代码中,`bubble_sort` 函数接受一个列表 `arr` 作为输入。通过两层循环,外层循环控制排序的轮数,内层循环用于比较相邻的元素并进行交换。如果前一个元素大于后一个元素,就将它们交换位置。
155 67
强化学习之父Richard Sutton给出一个简单思路,大幅增强所有RL算法
Richard Sutton领导的团队提出了一种称为“奖励中心化”的方法,通过从观察到的奖励中减去其经验平均值,使奖励更加集中,显著提高了强化学习算法的性能。该方法在解决持续性问题时表现出色,尤其是在折扣因子接近1的情况下。论文地址:https://arxiv.org/pdf/2405.09999
99 15
基于FPGA的图像双线性插值算法verilog实现,包括tb测试文件和MATLAB辅助验证
本项目展示了256×256图像通过双线性插值放大至512×512的效果,无水印展示。使用Matlab 2022a和Vivado 2019.2开发,提供完整代码及详细中文注释、操作视频。核心程序实现图像缩放,并在Matlab中验证效果。双线性插值算法通过FPGA高效实现图像缩放,确保质量。
基于Retinex算法的图像去雾matlab仿真
本项目展示了基于Retinex算法的图像去雾技术。完整程序运行效果无水印,使用Matlab2022a开发。核心代码包含详细中文注释和操作步骤视频。Retinex理论由Edwin Land提出,旨在分离图像的光照和反射分量,增强图像对比度、颜色和细节,尤其在雾天条件下表现优异,有效解决图像去雾问题。
基于遗传优化算法的风力机位置布局matlab仿真
本项目基于遗传优化算法(GA)进行风力机位置布局的MATLAB仿真,旨在最大化风场发电效率。使用MATLAB2022A版本运行,核心代码通过迭代选择、交叉、变异等操作优化风力机布局。输出包括优化收敛曲线和最佳布局图。遗传算法模拟生物进化机制,通过初始化、选择、交叉、变异和精英保留等步骤,在复杂约束条件下找到最优布局方案,提升风场整体能源产出效率。
基于DWA优化算法的机器人路径规划matlab仿真
本项目基于DWA优化算法实现机器人路径规划的MATLAB仿真,适用于动态环境下的自主导航。使用MATLAB2022A版本运行,展示路径规划和预测结果。核心代码通过散点图和轨迹图可视化路径点及预测路径。DWA算法通过定义速度空间、采样候选动作并评估其优劣(目标方向性、障碍物距离、速度一致性),实时调整机器人运动参数,确保安全避障并接近目标。
149 68

新智元

+ 订阅

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等