原文地址:

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. 铭瑄主板重启后USB3.0失效键盘鼠标无反应需要重新插拔

    铭瑄主板重启后USB3.0失效键盘鼠标无反应需要重新插拔 环境: 铭瑄B760 主板,使用鼠标键盘使用USB 3.0 HUB 连接到主板 USB 3.0 口. 重启后,键盘鼠标无反应,需要重新插拔. ...

  2. 硬件开发笔记(十七):RK3568底板电路串口、485、usb原理图详解

    前言   原理图有一些常用电路.  本篇就将集中常用电路分析完,如uart口,涉及usart串口.rs485.usb口.   串口   串行接口简称串口,也称串行通信接口或串行通讯接口(通常指COM接 ...

  3. aspose word模板文件生成pdf

    # aspose word模板文件生成pdf package com.example.core.mydemo; import com.alibaba.fastjson.JSON; import com ...

  4. 使用POST方法向网站发送数据

    POST方法向网站发送数据 server.py import flask app = flask.Flask(__name__) @app.route('/', methods=['GET','POS ...

  5. 01-Python介绍、安装与入门

    Python介绍 关于Python Python 是一种解释型.面向对象.动态数据类型的高级程序设计语言. 解释型:Python将代码边解释边运行,而不是像C一样编译.类似解释型的语言还有JAVA. ...

  6. LangChain转换链:让数据处理更精准

    上篇文章<5分钟了解LangChain的路由链>里主要介绍了路由链,核心类是LLMRouterChain和MultiPromptChain.本文介绍LangChain里的另外1个重要的链: ...

  7. openEuler 20.04 TLS3 上的 Python3.11.9 源码一键构建安装

    #! /bin/bash # filename: python-instaler.sh SOURCE_PATH=/usr/local/source # 下载源码包 mkdir -p $SOURCE_P ...

  8. Android Verified Boot 2.0 AVB详解(基于Android P)

    原文地址:https://android.googlesource.com/platform/external/avb/+/master/ 译文地址:https://blog.csdn.net/sha ...

  9. 【深度学习 有效炼丹】多GPU使用教程, DP与DDP对比, ray多线程并行处理等 [GPU利用率低的分析]

    ️ 前言 更新日志: 20220404:新增一个DDP 加载模型时显存分布不均问题,见目录遇到的问题及解决处 主要是上次server12 被自己一个train 直接线程全部拉满了(没错 ... ser ...

  10. 广播变量的使用-----通过ip查询属于哪个省份

    1,为什么要使用广播变量? 举一个简单的例子,我们要处理一份log文件,里面有ip地址. 20090121000132095572000|125.213.100.123|show.51.com|/sh ...