通用强化学习用算法发现算法: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 算法又迈进了一步。

相关文章
|
1月前
|
机器学习/深度学习 算法 机器人
多代理强化学习综述:原理、算法与挑战
多代理强化学习是强化学习的一个子领域,专注于研究在共享环境中共存的多个学习代理的行为。每个代理都受其个体奖励驱动,采取行动以推进自身利益;在某些环境中,这些利益可能与其他代理的利益相冲突,从而产生复杂的群体动态。
153 5
|
2月前
|
XML JavaScript 前端开发
学习react基础(1)_虚拟dom、diff算法、函数和class创建组件
本文介绍了React的核心概念,包括虚拟DOM、Diff算法以及如何通过函数和类创建React组件。
25 2
|
1月前
|
人工智能 算法 Java
【搜索算法】数字游戏(C/C++)
【搜索算法】数字游戏(C/C++)
|
3月前
|
机器学习/深度学习 算法 TensorFlow
深入探索强化学习与深度学习的融合:使用TensorFlow框架实现深度Q网络算法及高效调试技巧
【8月更文挑战第31天】强化学习是机器学习的重要分支,尤其在深度学习的推动下,能够解决更为复杂的问题。深度Q网络(DQN)结合了深度学习与强化学习的优势,通过神经网络逼近动作价值函数,在多种任务中表现出色。本文探讨了使用TensorFlow实现DQN算法的方法及其调试技巧。DQN通过神经网络学习不同状态下采取动作的预期回报Q(s,a),处理高维状态空间。
50 1
|
3月前
|
机器学习/深度学习 存储 算法
强化学习实战:基于 PyTorch 的环境搭建与算法实现
【8月更文第29天】强化学习是机器学习的一个重要分支,它让智能体通过与环境交互来学习策略,以最大化长期奖励。本文将介绍如何使用PyTorch实现两种经典的强化学习算法——Deep Q-Network (DQN) 和 Actor-Critic Algorithm with Asynchronous Advantage (A3C)。我们将从环境搭建开始,逐步实现算法的核心部分,并给出完整的代码示例。
226 1
|
3月前
|
测试技术 数据库
探索JSF单元测试秘籍!如何让您的应用更稳固、更高效?揭秘成功背后的测试之道!
【8月更文挑战第31天】在 JavaServer Faces(JSF)应用开发中,确保代码质量和可维护性至关重要。本文详细介绍了如何通过单元测试实现这一目标。首先,阐述了单元测试的重要性及其对应用稳定性的影响;其次,提出了提高 JSF 应用可测试性的设计建议,如避免直接访问外部资源和使用依赖注入;最后,通过一个具体的 `UserBean` 示例,展示了如何利用 JUnit 和 Mockito 框架编写有效的单元测试。通过这些方法,不仅能够确保代码质量,还能提高开发效率和降低维护成本。
49 0
|
3月前
|
算法
【Azure Developer】完成算法第4版书中,第一节基础编码中的数组函数 histogrm()
【Azure Developer】完成算法第4版书中,第一节基础编码中的数组函数 histogrm()
|
3月前
|
算法
互动游戏解决遇到问题之基于射线投射寻路算法的问题如何解决
互动游戏解决遇到问题之基于射线投射寻路算法的问题如何解决
|
19天前
|
算法 安全 数据安全/隐私保护
基于game-based算法的动态频谱访问matlab仿真
本算法展示了在认知无线电网络中,通过游戏理论优化动态频谱访问,提高频谱利用率和物理层安全性。程序运行效果包括负载因子、传输功率、信噪比对用户效用和保密率的影响分析。软件版本:Matlab 2022a。完整代码包含详细中文注释和操作视频。
|
4天前
|
算法 数据挖掘 数据安全/隐私保护
基于FCM模糊聚类算法的图像分割matlab仿真
本项目展示了基于模糊C均值(FCM)算法的图像分割技术。算法运行效果良好,无水印。使用MATLAB 2022a开发,提供完整代码及中文注释,附带操作步骤视频。FCM算法通过隶属度矩阵和聚类中心矩阵实现图像分割,适用于灰度和彩色图像,广泛应用于医学影像、遥感图像等领域。