原文地址:

https://www.jiqizhixin.com/articles/053104

李亚洲翻译

2018/05/31 12:38

Pedro 路参与

=============================================================

DeepMind 提出元梯度强化学习算法,显著提高大规模深度强化学习应用的性能

 

强化学习(RL)的核心目标是优化智能体的回报(累积奖励)。一般通过预测和控制相结合的方法来实现这一目标。预测的子任务是估计价值函数,即在任何给定状态下的预期回报。理想情况下,这可以通过朝着真值函数(true value function)的方向不断更新近似价值函数来实现。控制的子任务是优化智能体选择动作的策略,以最大化价值函数。理想情况下,策略只会在使真值函数增加的方向上更新。然而,真值函数是未知的,因此,对于预测和控制,我们需要将采样回报作为代理(proxy)。强化学习算法家族 [Sutton,1988;Rummery 和 Niranjan,1994;van Seijen 等,2009;Sutton 和 Barto,2018] 包括多种最先进的深度强化学习算法 [Mnih 等,2015;van Hasselt 等,2016;Harutyunyan 等,2016;Hessel 等,2018;Espeholt 等,2018],它们的区别在于对回报的不同设定。

折扣因子 γ 决定了回报的时间尺度。接近 1 的折现因子更关注长期的累计回报,而接近 0 的折现因子优先考虑短期奖励,更关注短期目标。即使在明显需要关注长期回报的问题中,我们也经常观察到使用小于 1 的折扣因子可以获得更好的效果 [Prokhorov 和 Wunsch,1997],这一现象在学习的早期体现得尤为明显。众所周知,许多算法在折扣因子较小时收敛速度较快 [Bertsekas 和 Tsitsiklis,1996],但过小的折扣因子可能会导致过度短视的高度次优策略。在实践中,我们可以首先对短期目标进行优化,例如首先用 γ= 0 进行优化,然后在学习取得一定效果后再不断增加折扣 [Prokhorov and Wunsch,1997]。

我们同样可以在不同的时间段设定不同的回报。一个 n 步的回报需要考虑 n 步中奖励的累积,然后添加第 n 个时间步时的价值函数。λ- 回报 [Sutton,1988;Sutton 和 Barto,2018] 是 n 步回报的几何加权组合。在任何一种情况下,元参数 n 或 λ 对算法的性能都很重要,因为他们影响到偏差和方差之间的权衡。许多研究人员对如何自动选择这些参数进行了探索 [Kearns 和 Singh,2000,Downey 和 Sanner,2010,Konidaris 等,2011,White and White,2016]。

还有很多其他的设计可以在回报中体现出来,包括离策略修正 [Espeholt 等,2018,Munos 等,2016]、目标网络 [Mnih 等,2015]、对特定状态的强调 [Sutton 等,2016]、奖励剪裁 [Mnih 等,2013],甚至奖励本身 [Randløv 和 Alstrøm,1998;Singh 等,2005;Zheng 等,2018]。

本论文主要关注强化学习的一个基本问题:便于智能体最大化回报的最佳回报形式是什么?具体而言,本论文作者提出通过将回报函数当作包含可调整元参数 η 的参数函数来学习,例如折扣因子 γ 或 bootstrapping 参数 λ [Sutton,1988]。在智能体与环境的交互中,元参数 η 可以在线进行调整,使得回报既能适应具体问题,又能随着时间动态调整以适应不断变化的学习环境。研究者推导出一种实用的、基于梯度的元学习算法,实验表明它可以显著提高大规模深度强化学习应用的性能。

图 1:在各自的马尔可夫奖励过程(顶部)中,状态依赖可调整参数(a)bootstrapping 参数 λ 或(b)折扣因子 γ 的元梯度学习结果图示。在底部显示的每个子图中,第一幅图展示了元参数 γ 或 λ 在训练过程中的变化情况(10 个种子下的平均值 - 阴影区域覆盖了 20%-80%)。第二幅图显示了每种状态下 γ 或 λ 的最终值,分别指奇 / 偶状态的高 / 低值(小提琴图显示不同种子的分布情况)。

表 1:与不使用元学习的基线 IMPALA 算法相比,元学习折扣参数 γ、时序差分学习参数 λ,或学习二者的结果。研究者使用的是 [Espeholt et al,2018] 最初报告的折扣因子 γ= 0.99 以及调整后的折扣因子 γ= 0.995(见附录 C); 为了公平比较,研究者将元目标中的交叉验证折扣因子 γ’设置为相同的值。

论文:Meta-Gradient Reinforcement Learning(元梯度强化学习)

论文链接:https://arxiv.org/abs/1805.09801

摘要:强化学习算法的目标是估计和 / 或优化价值函数。然而与监督学习不同,强化学习中没有可以提供真值函数的教师或权威。相反,大多数强化学习算法估计和 / 或优化价值函数的代理。该代理通常基于对真值函数的采样和 bootstrapped 逼近,即回报。对回报的不同选择是决定算法本质的主要因素,包括未来奖励的折扣因子、何时以及如何设定奖励,甚至奖励本身的性质。众所周知,这些决策对强化学习算法的整体成功至关重要。我们讨论了一种基于梯度的元学习算法,它能够在线适应回报的本质,同时进行与环境的互动和学习。我们将该算法应用于超过 2 亿帧 Atari 2600 环境中的 57 场比赛,结果表明我们的算法取得了目前最好的性能。

【转载】 DeepMind 提出元梯度强化学习算法,显著提高大规模深度强化学习应用的性能的更多相关文章

  1. 强化学习 车杆游戏 DQN 深度强化学习 Demo

    网上搜寻到的代码,亲测比较好用,分享如下. import gym import time env = gym.make('CartPole-v0') # 获得游戏环境 observation = en ...

  2. 深度强化学习(DRL)专栏开篇

    2015年,DeepMind团队在Nature杂志上发表了一篇文章名为"Human-level control through deep reinforcement learning&quo ...

  3. 【转载】 “强化学习之父”萨顿:预测学习马上要火,AI将帮我们理解人类意识

    原文地址: https://yq.aliyun.com/articles/400366 本文来自AI新媒体量子位(QbitAI)     ------------------------------- ...

  4. 提升学习算法简述:AdaBoost, GBDT和XGBoost

    1. 历史及演进 提升学习算法,又常常被称为Boosting,其主要思想是集成多个弱分类器,然后线性组合成为强分类器.为什么弱分类算法可以通过线性组合形成强分类算法?其实这是有一定的理论基础的.198 ...

  5. 深度强化学习资料(视频+PPT+PDF下载)

    https://blog.csdn.net/Mbx8X9u/article/details/80780459 课程主页:http://rll.berkeley.edu/deeprlcourse/ 所有 ...

  6. 深度强化学习(DRL)专栏(一)

    目录: 1. 引言 专栏知识结构 从AlphaGo看深度强化学习 2. 强化学习基础知识 强化学习问题 马尔科夫决策过程 最优价值函数和贝尔曼方程 3. 有模型的强化学习方法 价值迭代 策略迭代 4. ...

  7. 深度强化学习中稀疏奖励问题Sparse Reward

    Sparse Reward 推荐资料 <深度强化学习中稀疏奖励问题研究综述>1 李宏毅深度强化学习Sparse Reward4 ​ 强化学习算法在被引入深度神经网络后,对大量样本的需求更加 ...

  8. 5G网络的深度强化学习:联合波束成形,功率控制和干扰协调

    摘要:第五代无线通信(5G)支持大幅增加流量和数据速率,并提高语音呼叫的可靠性.在5G无线网络中共同优化波束成形,功率控制和干扰协调以增强最终用户的通信性能是一项重大挑战.在本文中,我们制定波束形成, ...

  9. 【PyTorch深度学习】学习笔记之PyTorch与深度学习

    第1章 PyTorch与深度学习 深度学习的应用 接近人类水平的图像分类 接近人类水平的语音识别 机器翻译 自动驾驶汽车 Siri.Google语音和Alexa在最近几年更加准确 日本农民的黄瓜智能分 ...

  10. 强化学习(五)—— 策略梯度及reinforce算法

    1 概述 在该系列上一篇中介绍的基于价值的深度强化学习方法有它自身的缺点,主要有以下三点: 1)基于价值的强化学习无法很好的处理连续空间的动作问题,或者时高维度的离散动作空间,因为通过价值更新策略时是 ...

随机推荐

  1. XML文档定义的几种形式和本质区别

    XML文档定义的形式 两种定义形式:DTD.Schema DTD:数据类型定义(Data Type Definition),用以描述XML文档的文档结构,是早期的XML文档定义形式. Schema:其 ...

  2. javascript 生成器和迭代器

    前置知识 生成器函数会返回一种称为Generator的迭代器 迭代器是一个对象,定义一个序列,并在终止时返回一个返回值 Symbol.iterator为每一个对象定义了默认的迭代器,可以被for..o ...

  3. RSS 解析:全球内容分发的利器及使用技巧

    使用 RSS 可以将最新的网络内容从一个网站分发到全球数千个其他网站. RSS 允许快速浏览新闻和更新. RSS 文档示例 <?xml version="1.0" encod ...

  4. Vue微前端架构与Qiankun实践理论指南

    title: Vue微前端架构与Qiankun实践理论指南 date: 2024/6/15 updated: 2024/6/15 author: cmdragon excerpt: 这篇文章介绍了微前 ...

  5. 向web服务器下载文件

    web服务器向客户端发送文件 Web服务器读取一个文件的二进制数据,把这组二进制数据发送个客户端,服务器发送给客户端的HTML文档的本质也是二进制.客户端使用以下代码读文件 response = ur ...

  6. 卷积神经网络-AlexNet

    AlexNet 一些前置知识 top-1 和top-5错误率 top-1错误率指的是在最后的n哥预测结果中,只有预测概率最大对应的类别是正确答案才算预测正确. top-5错误率指的是在最后的n个预测结 ...

  7. Jemter代理服务器录制脚本,优化后形成性能测试场景

    在进行性能测试(压力.负载)等,先要有对应的测试场景,比如添加功能:要先登录成功,然后调用添加接口,输入添加的内容,才可以添加成功.那么可以通过Jemter代理服务器,设置代理,打开测试的网站,录制脚 ...

  8. Cython编译报错“numpy/arrayobject.h: No such file or directory”解决方案

    问题背景 Cython是用来加速Python程序性能的一个工具,其基本使用逻辑就是将类Python代码(*.pyx扩展格式)编译成\(*.c,*.so\)动态链接库文件,然后就可以在正常的Python ...

  9. 在高通lk中添加自定义源文件

    在高通lk中添加自定义源文件 背景 在lk开发中,需要添加一个自定义功能,但是又不希望代码污染无关的文件(把无关代码添加到某个源文件中是一种罪). 以添加一个aw9523b.c的驱动为例,在aboot ...

  10. wireshark查看https通讯

    前言 https在原有的http基础上增加了了一个TLS/SSL层,https的通讯过程是加密的,如果想用wireshark仔细分析TLS/SSL层,需要借助服务器证书公私钥或者用浏览器截取密钥: 接 ...