导读:目前,强化学习技术在游戏、围棋等任务中得到了广泛应用,并在一些复杂场景下取得了优于人类的效果。

南京大学机器学习与数据挖掘研究所教授俞扬近期在北京智源大会上发表了题为《环境模型学习——让强化学习走出游戏》的主题演讲。俞扬认为,在强化学习场景下,智能体会与环境进行交互,我们需要让智能体学到最好的交互策略。

整理:熊宇轩

校对:李梦佳

俞扬,博士,南京大学副教授,博士生导师。主要研究领域为人工智能、机器学习、强化学习。分别于2004年和2011年获得南京大学计算机科学与技术系学士学位和博士学位。2011年8月加入南京大学计算机科学与技术系、机器学习与数据挖掘研究所(LAMDA)从事教学与科研工作。

入选2018年IEEE Intelligent Systems杂志评选的AI's 10 to Watch,获2018 PAKDD Early Career Award、2017年江苏省计算机学会青年科技奖。

1 多步决策与强化学习

图 1:强化学习的优势

目前,强化学习技术在游戏、围棋等任务中得到了广泛应用,并在一些复杂场景下取得了优于人类的效果。我们试图将强化学习技术推广到更多的应用场景下。在这里,我们重点关注多步决策问题。传统的识别、预测任务假设过去收集的训练数据和未来在应用场景下测试的数据符合相同的分布。

然而,在多步决策强化学习问题中,在每一步做出决策时,智能系统将面临的未来的状态是不一样的。我们需要收集一些数据(即探索),训练智能体做出较好的决策,而此时我们收集的数据可能与过去的数据存在一定的差异。为此,我们需要在决策环境中更好地进行试错和探索,从而找到更好的策略。

图 2:序列化的决策

举例而言,多步决策强化学习可以被用于生产控制领域,在「控制-反馈」迭代过程中进行强化学习。此外,在研发、服务、营销等场景下,我们也可以通过多步决策强化学习技术实现收益的最大化。

图 3:强化学习的不足

强化学习算法需要对环境进行探索,通过试错得到好的策略。然而,在真实场景下,有时试错的成本会非常高,带来严重的后果。例如,在尝试控制锅炉时,可能会引发爆炸。此外,时下兴起的深度强化学习技术需要进行数百万次的试错,计算量十分巨大。我们在期望尽量降低试错成本和次数的条件下,得到较好的决策。

2 离线强化学习

图 4:离线强化学习

近期,研究人员提出了离线强化学习,此时智能体不需要通过试错对环境进行探索,转而利用历史记录中的决策数据帮助我们进行决策。在无需与仿真环境进行交互的条件下学习策略,这种部署方式与传统的机器学习算法进行识别和预测相类似。

为了实现离线强化学习,研究人员提出了两条技术路线:(1)直接根据数据学习策略(2)首先从数据中将环境还原出来,构建类似于模拟仿真的环境,进而在这个环境中学习如何做出决策。

图 5:直接利用数据学习策略

在直接利用数据学习策略的情况下,通常我们不太可能完整获取包含所有决策的数据。我们通常会设置一些规则,基于人类的经验得到一些决策数据,而这些决策的性能并不一定是最优的。由于我们无法获取所有的数据,为了找到最优的决策,我们往往会将学习的范围限定在数据点的附近。这大大限制了我们的搜索空间,也限制了我们能够提升的空间。通过这种方式学习出来的策略较为保守,往往并不一定是最优的。

图 6:DeepMind 的对比基准

2020 年 6 月 25 日,DeepMind 与谷歌发布了一个离线强化学习的对比基准。这个对比基准的测试场景仍然是游戏,要求我们仅仅使用从游戏中收集到的数据学习如何做出决策,而不能与游戏的环境进行交互。实验结果表明,目前测评的大部分方法与最简单的一种对比基线差别并不大。

图 7:验证的重要性

我们认为这个对比基准测试有两大不足之处。首先,对比基线较弱。此外,测试过程中并未包含验证的步骤。而验证环节对于将算法部署到真实应用中是十分必要的,我们需要将学习出的模型拿到验证数据上进行评测,保证该模型在使用场景下具有稳定的性能。我们学习出的决策模型一旦上线后,就需要面临真实的生产环境,如果那时模型的性能出现了较大的问题,就会造成很大的风险。

为此,我们也构造了一个对比基准,提供了使用数据对策略进行验证的功能。对于传统的预测模型而言,由于我们假设训练和测试时的数据分布服从相同的分布,因此我们可以很容易地设置验证集。然而,对于决策模型而言,由于未来的环境会发生变化,会导致验证和测试时的效果差别仍然很大。因此,我们认为「根据数据先生成仿真环境,进而让模型与生成的仿真环境进行交互」的技术路径更加可行,也更容易验证。

3 环境仿真器

图 8:环境模型的重要性

构建环境仿真器对于训练和验证都十分重要。对于具体的应场景而言,我们可以针对性地设计仿真环境。但对于通用的场景而言,我们就需要根据数据将环境还原出来,然后在环境中进行训练和验证。对于使用者来说,在环境仿真器的帮助下,我们可以预知在决策的影响下未来的情况会如何变化。如图 8 所示,给定环境模型,我们可以预测在当前决策的影响下,从第一天到未来一个月的订单数变化情况。实验结果表明,蓝色曲线代表的实际订单数与我们的仿真器预测的趋势十分接近。随着收集数据的增多,仿真器的预测性能会越来越准。

图 9:交互性数据

我们可以获取到决策任务中的交互性数据,即在各种状态下根据决策作出某种动作后会对环境造成怎样的影响,智能体会转移到怎样的新状态。如此循环往复,我们的仿真器就会得到一个「状态-动作」的交互序列。

图 10:通过监督学习学习环境模型

在拥有了输入、输出的数据后,我们试图通过监督学习的方式,使环境模型的输出和收集到的数据尽可能一致,从而学习出环境模型。

图 11:基于循环神经网络学习环境模型

研究人员进一步对学习过程做出了一些改进。通常而言,世界模型的输入维度较高,我们需要压缩数据的维度。强化学习中的决策过程是一种马尔科夫决策过程,我们可以用循环神经网络对这个过程进行建模,对算法做出一些改进,这仍然是一种监督学习。

图 12:监督模型的误差界

在通过监督学习框架学习环境模型时,需要考虑泛化误差。在传统的预测问题中(例如,人脸检测),如果一次预测存在较小的误差是可以接受的。但是在决策问题中,这种误差会在多步决策的过程中积累起来,形成误差的复合。如图 x 所示,在前有一个分母为的系数,这个系数与决策序列的长度的平方有关,当决策序列很长时,误差会被平方级地放大。

图13:目前最先进的方法

如图 13 所示,当决策序列越长时,我们会越偏离于真实的环境。现有的一些最先进的工作提出缩短决策序列的长度,减少对学到的模型的依赖,从而使误差下降。然而,我们认为这种做法违背了我们对模型的需求。我们希望环境仿真器能够模拟出长远的未来的情况,给出长期的决策收益,从而最大化长期的回报。如果我们只能对较短的决策序列进行预测,就无法完成上述目标,验证的效果也会很差。

图 14:分布匹配

我们深入地分析了通过监督学习学习环境模型的过程。我们发现,以往的方法都要求环境模型要尽可能准确。实际上,对于最终的决策质量而言,环境是否准确并不是直接相关联的因素。如果这个环境模型不是很准确,也有可能做出正确的决策。我们更关心仿真环境与真实环境的匹配程度,即仿真环境下决策的效果和真实环境下决策的效果应该一致。为此,我们将学习的目标函数换成对分布的匹配,使整个数据集和模拟器产生的所有数据的分布相似程度足够高。

图 15:分布匹配误差界

在这里,我们使得误差随序列长度的增长变化的系数变为线性,大幅降低了复合误差。

图 16:环境学习框架

最近流行的对抗生成技术可以实现分布的匹配。我们利用对抗生成框架来学习环境模型。虽然它的复合误差能够比较小,但是它的样本复杂度比较高。

图 17:降低样本复杂度

然而,尽管对抗生成模型的复合误差较小,但是其样本复杂度较高。我们最近提出了一种理论,能够将样本复杂度降到最小,从而在不需要太多的样本的情况下,实现对复合误差的控制。

图 18:真实世界中的强化学习

目前,我们已经构建起了通过少量历史决策数据学习环境仿真器,基于该仿真器学习最优策略的框架。

4 应用实例

图 19:应用案例——汽车仿真

汽车厂商造完车以后要对整车进行标定,特别是要对发动机进行调教。从前,比较成熟的车厂会通过仿真技术完成这项任务,目前国内在该领域的技术仍然较为落后。

在该任务中,我们可能会用到 Matlab Simulink 这样的仿真工具。对于国产的车厂来说,该任务需要耗费大量的成本和时间,由于仿真工具的能力有限,现在需要靠人力进行调教。

图 20:与国产车场合作整车标定

我们试图根据数据上将整车的排放模拟出来,找到最优的参数。如图 22 所示,我们与某国产车厂合作进行整车标定。由于在第一个维度上面不符合国标的要求,我们需要对该参数进行调教。通过利用我们设计的仿真器,很快就找到了最优的参数。除此之外,在各种指标上我们的仿真器都可以高效地寻找到最优参数。

南大俞扬:环境模型学习——让强化学习走出游戏相关推荐

  1. dpg learning 和q_深度学习和强化学习之间的差别有多大?

    我是做深度强化学习的(Deep Reinforcement Learning)的,这个问题有趣.我对@张馨宇他在此问题下的简洁回答非常认同:"可以用深度学习这个工具来做强化学习这个任务,也可 ...

  2. 《强化学习周刊》第25期:DeepMind提出无模型风险敏感强化学习、谷歌发布 RLDS数据集生态系统...

    No.25 智源社区 强化学习组 强 化 学  习 研究 观点 资源 活动 关于周刊 强化学习作为人工智能领域研究热点之一,其研究进展与成果也引发了众多关注.为帮助研究与工程人员了解该领域的相关进展和 ...

  3. Google Deepmind大神David Silver带你认识强化学习

    Google Deepmind大神David Silver带你认识强化学习 2016-08-16 18:16 Blake 1条评论 Google Deepmind大神David Silver带你认识强 ...

  4. 【入门教程】TensorFlow 2 模型:深度强化学习

    文 /  李锡涵,Google Developers Expert 本文节选自<简单粗暴 TensorFlow 2> 本文将介绍在 OpenAI 的 gym 环境下,使用 TensorFl ...

  5. 【论文阅读】保守和适应性惩罚+基于模型的安全强化学习

    [论文阅读]保守和适应性惩罚+基于模型的安全强化学习 Conservative and Adaptive Penalty for Model-Based Safe Reinforcement Lear ...

  6. 人群环境中基于深度强化学习的移动机器人避障算法

    摘要: 为了控制移动机器人在人群密集的复杂环境中高效友好地完成避障任务,本文提出了一种人群环境中基于深度强化学习的移动机器人避障算法.首先,针对深度强化学习算法中值函数网络学习能力不足的情况,基于行人 ...

  7. 模型预测控制与强化学习-论文阅读(一)Integration of reinforcement learning and model predictive

    模型预测控制与强化学习-论文阅读(一)Integration of reinforcement learning and model predictive 最近才把初步的研究方向定下来,导师放养,实验 ...

  8. 机器学习、深度学习、强化学习课程超级大列表!

    点击上方"AI有道",选择"星标"公众号 重磅干货,第一时间送达 今天推荐一个机器学习.深度学习.强化学习完整的线上资源.收获 star 7k!内容非常丰富,且 ...

  9. 【datawhale202207】强化学习:强化学习基础

    结论速递 强化学习是由两部分组成的:智能体和环境.在强化学习过程中,智能体与环境一直在交互.智能体在环境中获取某个状态后,它会利用该状态输出一个动作 (action),这个动作也称为决策(decisi ...

  10. EnforceLearning-在线学习-被动强化学习/评价学习

    前言: 画图挺好:深度学习进阶之路-从迁移学习到强化学习 固定知识系统:专家系统给出了知识节点和规则.专家系统一次性构建成型.运行方式为基于知识的推理. 专家系统使用粒度描述准确性,依靠分解粒度解决矛 ...

最新文章

  1. 电磁场第二章公式总结
  2. 数据集整理(ing)
  3. 区块链技术指南笔记(一):区块链基本概念
  4. VMware内存回收与分配机质
  5. leetcode 692. 前K个高频单词
  6. 如何通俗理解计算机视觉、计算机图形、图像处理之间的区别与联系
  7. Web前端笔记-浏览器控制台调用js函数及vue函数
  8. JavaScript回调函数的高手指南
  9. ISA Server 2006防火墙安装与管理指南(含企业版NLB与CARP的配置)
  10. win10执行npm出现Error: EBUSY: resource busy or locked 错误解决方法
  11. Fatal error in launcher: Unable to create process using 'd:\bld\scrapy_1584555997548\_h_env\python.
  12. 局域网组网 | 交换机常用命令
  13. PCB寄生电容和寄生电感的计算
  14. 财经大数据可视化Vdc平台_大数据时代-可视化数据分析平台必不可少
  15. Pytorch——报错解决:RuntimeError: Output 0 of SelectBackward is a view and is being modified inplace.
  16. m4a转换成mp3,音频格式轻松转换
  17. Pytroch 深度学习 跑CIFAR10数据集
  18. 「题解」关于sizeof陷阱,无符号整形,变种水仙花数
  19. 启明星辰隔离网闸添加客户端服务器资源
  20. rtx3050和rtx3050ti区别 rtx3050和rtx3050ti显卡什么水平

热门文章

  1. ubuntu安装配置搜狗拼音输入法
  2. matlab傅里叶反变换举例,matlab傅里叶正逆变换详细说明+图例
  3. Viewpage+小圆点
  4. python 快递分拣小程序
  5. Idea不识别Java项目
  6. 《黑客之道》- 全网最详细的kali系统安装教程
  7. 不会吧不会吧!不会还有人用破解版origin吧——免费使用OriginPro学习版方法
  8. 致远项目管理SPM系统之合同基本信息管理
  9. GraphLite 实现子图匹配
  10. android packagemanager源码,Android源码个个击破之PackageManager