0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

强化学习中如何高效地与环境互动?如何从经验中高效学习?

zhKF_jqr_AI 来源:未知 作者:李倩 2018-10-30 08:59 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

强化学习中很多重要的难题都围绕着两个问题:我们应该如何高效地与环境互动?如何从经验中高效学习?在这篇文章中,我想对最近的深度强化学习研究做一些调查,找到解决这两个问题的方法,其中主要会讲到三部分:

分层强化学习

记忆和预测建模

有模型和无模型方法的结合

首先我们快速回顾下DQN和A3C这两种方法,之后会深入到最近的几篇论文中,看看它们在这一领域做出了怎样的贡献。

回顾DQN和A3C/A2C

DeepMind的深度Q网络(DQN)是深度学习应用到强化学习中实现的第一个重大突破,它利用一个神经网络学习Q函数,来玩经典雅达利游戏,例如《乓》和《打砖块》,模型可以直接将原始的像素输入转化成动作。

算法上来说,DQN直接依赖经典的Q学习技术。在Q学习中,动作对的Q值,或者说“质量”,是根据基于经验的迭代更新来估计的。从本质上说,在每个状态采取的行动,我们都能利用接收到的实时奖励和新状态的价值来更新原始状态动作对的价值估计。

除此之外,DeepMind的A3C(Asynchronous Advantage Actor Critic)和OpenAI的变体A2C,对actor-critic方法来说都是非常成功的深度学习方法。

Actor-critic方法结合了策略梯度方法和学习价值函数。只用DQN,我们只能得到学习价值函数(Q函数),我们跟随的“策略”也只是简单的在每一步将Q值达到最大的动作。有了A3C和其他actor-critic方法,我们学习两种不同的函数:策略(或者“演员”)和价值(或者“评委”)。基于当前估计的优点,策略会调整动作的概率,价值函数也会更新基于经验和奖励的优势。策略如下:

可以看到,降至网络学习了一个基准状态值V(si;θv),有了它我们可以将目前的奖励估计R和得到的优点相比较,策略网络会根据这些优点用经典强化算法调整对数几率。

A3C之所以这么受欢迎,主要原因是它结构的平行和不同步性,具体结构不是本文重点讨论的内容,感兴趣的读者可以查看DeepMind的IMPALA论文。

DQN和A3C/A2C都是强大的基准智能体,但遇到复杂问题时,它们并不那么好用,比如可能观察补全或者在动作和奖励信号之间有延迟。所以,强化学习领域的研究者们一直致力于解决这些问题。

分层强化学习

分层强化学习是强化学习方法的一种,它从策略的多个图层中学习,每一层都负责控制不同时间下的动作。策略的最下一层负责输出环境动作,上面几层可以完成其他抽象的目标。

为什么这种方法如此受欢迎呢?首先,从认知角度来看,长久以来的研究都表示,人类和动物的行为都是有组织的。例如,当我们想做饭的时候,我会把这一任务分成好几部分完成:洗菜、切菜、烧水煮面等等。我还可以把其中的某一小任务进行替换,比如把煮面换成蒸米饭,也能完成做好一顿饭的总任务。这就说明现实世界中的任务内部是有结构的。

从技术层面来说,分层强化学习能帮助解决上述提到的第二个问题,即如何从经验中高效地学习,解决方法就是通过长期信用分配和稀疏奖励信号。在分层强化学习中,由于低层次的策略是从高层次策略分布的任务所得到的内部奖励学习的,即使奖励稀疏,也可以学到其中的小任务。另外,高层次策略生成的时间抽象可以让我们的模型处理信用分配。

说到具体工作原理,实施分层强化学习的方法有很多。最近,谷歌大脑团队的一篇论文就采取了一种简易方法,他们的模型称为HIRO。

核心思想如下:我们有两个策略层,高层策略训练的目的是为了让环境奖励R实现最大化。每一步后,高层策略都会对新动作进行采样。低层策略训练的目的是为了采取环境行动,生成与给定的目标状态相似的状态。

训练低层策略时,HIRO用的是深度确定性策略梯度(DDPG)的变体,它的内部奖励是将目前得到的观察和目标观察之间的距离进行参数化:

DDPG是另一种开创新的深度强化学习算法,它将DQN的思想扩展到了持续动作空间中。他也是另一种actor-critic方法,使用策略梯度来优化策略。

不过,HIRO绝不是唯一的分层强化学习方法。FeUdal网络出现的时间更早,它将经过学习的“目标”表示作为输入,而不是原始状态的观察。另外还有很多方法需要一定程度的手动操作或领域知识,这就限制了其泛化能力。我个人比较喜欢的最近的一项研究成果是基于人口的训练(PBT),其中他们将内部奖励看作额外的超参数,PBT在训练时人口“增长”的过程中对这些超参数进行优化。

如今,分层强化学习是非常火热的研究对象,虽然它的核心是非常直观的,但它可扩展、多任务并行、能解决强化学习中的许多基础性问题。

存储和注意力

现在让我们谈谈另外能解决长期信用分配和稀疏奖励信号问题的方法。通俗点说,我们想知道智能体如何能擅长记忆。

深度学习中的记忆总是非常有趣,科学家们经历了千辛万苦,也很难找到一种结构能打败经过良好调校的LSTM。但是,人类的记忆机制可不像LSTM。当我们从家开车去超市时,回想的都是原来走过几百次的路线记忆,而不是怎么从伦敦的一个城市到另一个城市的路线。所以说,我们的记忆是根据情景可查询的,它取决于我们在哪里、在干什么,我们的大脑知道哪部分记忆对现在有用。

在深度学习中,Neural Turing Machine是外部、关键信息存储方面论文的标杆,这也是我最喜欢的论文之一,它提出通过向量值“读取”和“写入”特定位置,利用可区分的外部存储器对神经网络进行增强。如果把它用在强化学习上会怎样?这就是最近的MERLIN结构的思想。

MERLIN有两个组成部分:基于记忆的预测器(MBP)和一个策略网络。MBP负责将观察压缩成有用的、低维的“状态变量”,将它们直接储存在关键的记忆矩阵中。

整个过程如下:对输入观察进行编码,并将其输入到MLP中,输出结果被添加到先验分布中,生成后验分布。接着,后验分布经过采样,生成一个状态变量zt。接着,zt输入到MBP的LSTM网络中,输出结果用来更新先验,并且进行读取或书写。最后,策略网络运用z_t和读取输出生成一个动作。

关键细节在与,为了保证状态表示时有用的,MBP同样经过训练需要预测当前状态下的奖励,所以学习到的表示和目前的任务要相关。

不过,MERLIN并不是唯一使用外部存储器的深度强化学习网络,早在2016年,研究者就在一个记忆Q网络中运用了这一方法,来解决Minecraft中的迷宫问题。不过这种将存储用作预测模型的方法有一些神经科学上的阻碍。

MERLIN的基于存储的预测器对所有观察进行编码,将它们与内部先验结合,生成一个“状态变量”,可以捕捉到一些表示,并将这些状态存储到长期记忆中,让智能体在未来可以做出相应的动作。

智能体、世界模型和想象力

在传统强化学习中,我们可以做无模型学习,也可以做基于模型的学习。在无模型的强化学习中,我们学着将原始环境观察直接映射到某个值或动作上。在基于模型的强化学习中,我们首先会学习一个基于原始观察的过渡模型,然后用这个模型来选择动作。

能在模型上进行计划比单纯的试错法更高效,但是,学习一个好的模型通常很困难,所以早期很多深度强化学习的成功都是无模型的(例如DQN和A3C)。

这就表示,无模型和有模型的强化学习之间的界线很模糊。现在,一种新的“Imagination-augmented Agents”算法出现了,将这两种方法结合了起来。

在Imagination-Augmented Agents(I2A)中,最终策略是一个无模型模块和有模型模块并存的函数。有模型的模块可以看做智能体对环境的“想象”,其中包含了智能体内部想象的活动轨迹。但是,关键是有模型模块在终点处有一个编码器,它可以聚集想象轨迹,并将它们进行编译,让智能体在必要的时候忽略那些想象。所以,当智能体发现它的内部模型在进行无用或不精确的想象时,它可以学习忽略模型,用无模型部分继续工作。

I2A的工作流程

和A3C以及MERLIN类似,该策略也是通过一个标准策略梯度损失进行训练,如下:

I2A之所以如此受欢迎的原因之一是,在某些情况下,这也是我们在现实中处理情况的方法。我们总是根据所处的环境下,目前的精神想法对未来做计划和预测,但我们知道,我们的精神模型可能不完全准确,尤其是当我们来到一个陌生环境中时。在这种情况下,我们就会进行试错法,就像无模型方法一样,但同时我们还会利用这一段新体验对内在精神环境进行更新。

除此之外,还有很多研究结合了有模型和无模型两种方法,例如伯克利的Temporal Difference Model等,这些研究论文都有着相同目标,即达到像无模型方法一样的性能,同时具有和基于模型方法相同的高效采样率。

结语

深度强化学习模型非常难以训练,但是正是因为这样的难度,我们想到了如此多种的解决方案。这篇文章只是对深度强化学习的不完全调查,除了本文提到了方法,还有很多针对深度强化学习的解决方案。但是希望文中所提到的关于记忆、分层和想象的方法对该领域中所遇到的挑战和瓶颈有所帮助。最后,Happy RL hacking!

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 函数
    +关注

    关注

    3

    文章

    4408

    浏览量

    66906
  • 深度学习
    +关注

    关注

    73

    文章

    5591

    浏览量

    123962
  • 强化学习
    +关注

    关注

    4

    文章

    269

    浏览量

    11910

原文标题:除了DQN/A3C,还有哪些高级强化学习成果

文章出处:【微信号:jqr_AI,微信公众号:论智】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    SAW 声表滤波器系统化学习路线:物理原理到 PCB 实战

    文章工程实践出发,系统梳理 SAW 声表滤波器的基础原理、在 RF/IF 链路的位置、选型思路、VNA 测试方法以及 PCB 布局与 ESD 设计要点,并结合 FCom Fuji Crystal
    的头像 发表于 12-01 11:48 3019次阅读
    SAW 声表滤波器系统<b class='flag-5'>化学习</b>路线:<b class='flag-5'>从</b>物理原理到 PCB 实战

    今日看点:智元推出真机强化学习;美国软件公司SAS退出中国市场

    智元推出真机强化学习,机器人训练周期“数周”减至“数十分钟”   近日,智元机器人宣布其研发的真机强化学习技术,已在与龙旗科技合作的验证产线成功落地。据介绍,此次落地的真机
    发表于 11-05 09:44 922次阅读

    自动驾驶中常提的“强化学习”是个啥?

    下,就是一个智能体在环境里行动,它能观察到环境的一些信息,并做出一个动作,然后环境会给出一个反馈(奖励或惩罚),智能体的目标是把长期得到的奖励累积到最大。和监督学习不同,
    的头像 发表于 10-23 09:00 356次阅读
    自动驾驶中常提的“<b class='flag-5'>强化学习</b>”是个啥?

    如何在Ray分布式计算框架下集成NVIDIA Nsight Systems进行GPU性能分析

    在大语言模型的强化学习训练过程,GPU 性能优化至关重要。随着模型规模不断扩大,如何高效地分析和优化 GPU 性能成为开发者面临的主要挑战之一。
    的头像 发表于 07-23 10:34 2071次阅读
    如何在Ray分布式计算框架下集成NVIDIA Nsight Systems进行GPU性能分析

    FPGA在机器学习的具体应用

    随着机器学习和人工智能技术的迅猛发展,传统的中央处理单元(CPU)和图形处理单元(GPU)已经无法满足高效处理大规模数据和复杂模型的需求。FPGA(现场可编程门阵列)作为一种灵活且高效的硬件加速平台
    的头像 发表于 07-16 15:34 2655次阅读

    NVIDIA Isaac Lab可用环境强化学习脚本使用指南

    Lab 是一个适用于机器人学习的开源模块化框架,其模块化高保真仿真适用于各种训练环境,Isaac Lab 同时支持模仿学习(模仿人类)和强化学习(在尝试和错误中进行
    的头像 发表于 07-14 15:29 1906次阅读
    NVIDIA Isaac Lab可用<b class='flag-5'>环境</b>与<b class='flag-5'>强化学习</b>脚本使用指南

    【书籍评测活动NO.61】Yocto项目实战教程:高效定制嵌入式Linux系统

    《 Yocto项目实战教程:高效定制嵌入式Linux系统 》应运而生。这本书在官方文档的基础上,结合笔者多年的嵌入式开发经验,提炼核心理论框架,使其易读易懂。同时辅以大量实践案例,帮助读者系统化学习
    发表于 05-21 10:00

    智慧教室互动平板:赋能未来教育的新利器

    在现代教育环境,智慧教室设备的多样化不断推动着教学方式的变革。其中,智慧教室互动平板作为核心设备之一,正在改变传统课堂的教学模式,促进教师与学生之间的高效
    的头像 发表于 05-09 11:43 780次阅读
    智慧教室<b class='flag-5'>互动</b>平板:赋能未来教育的新利器

    18个常用的强化学习算法整理:基础方法到高级模型的理论技术与代码实现

    本来转自:DeepHubIMBA本文系统讲解基本强化学习方法到高级技术(如PPO、A3C、PlaNet等)的实现原理与编码过程,旨在通过理论结合代码的方式,构建对强化学习算法的全面理解。为确保内容
    的头像 发表于 04-23 13:22 1345次阅读
    18个常用的<b class='flag-5'>强化学习</b>算法整理:<b class='flag-5'>从</b>基础方法到高级模型的理论技术与代码实现

    详解RAD端到端强化学习后训练范式

    受限于算力和数据,大语言模型预训练的 scalinglaw 已经趋近于极限。DeepSeekR1/OpenAl01通过强化学习后训练涌现了强大的推理能力,掀起新一轮技术革新。
    的头像 发表于 02-25 14:06 1046次阅读
    详解RAD端到端<b class='flag-5'>强化学习</b>后训练范式

    直击 MBR2054:低正向压降如何成就高效电路,应用实例解读#

    高效电路
    杰克船长6262
    发布于 :2025年02月22日 14:23:54

    嵌入式机器学习的应用特性与软件开发环境

    作者:DigiKey Editor 在许多嵌入式系统,必须采用嵌入式机器学习(Embedded Machine Learning)技术,这是指将机器学习模型部署在资源受限的设备(如微控制器、物联网
    的头像 发表于 01-25 17:05 1245次阅读
    嵌入式机器<b class='flag-5'>学习</b>的应用特性与软件开发<b class='flag-5'>环境</b>

    如何选择云原生机器学习平台

    当今,云原生机器学习平台因其弹性扩展、高效部署、低成本运营等优势,逐渐成为企业构建和部署机器学习应用的首选。然而,市场上的云原生机器学习平台种类繁多,功能各异,如何选择云原生机器
    的头像 发表于 12-25 11:54 711次阅读

    【「具身智能机器人系统」阅读体验】+初品的体验

    动态互动的。 该理论强调智能行为源于智能体的物理存在和行为能力,智能体必须具备感知环境并在其中执行任务的能力。具身智能的实现涵盖了机器学习、人工智能、机器人学、计算机视觉、自然语言处理及强化学
    发表于 12-20 19:17

    zeta在机器学习的应用 zeta的优缺点分析

    在探讨ZETA在机器学习的应用以及ZETA的优缺点时,需要明确的是,ZETA一词在不同领域可能有不同的含义和应用。以下是根据不同领域的ZETA进行的分析: 一、ZETA在机器学习
    的头像 发表于 12-20 09:11 1641次阅读