与有1750亿个参数的GPT3(Generative Pre-trained Transformer 3)自回归语言模型,是以数据量取胜,它可以自己造数据。

强化学习(Reinforcement Learning, RL)是一类从通过试错的方法进行的机器学习方法(已经存在了30多年)。它不需要大量的训练数据,而是通过不断与环境交互,通过一定的奖惩反馈,根据行为导致的结果来调整行文策略,实现预期累计奖励的最大化。著名的 AlphaGo 就采用了基于蒙特卡洛树的强化学习方法,战胜了人类围棋的顶级选手。(Go是围棋的意思。)此外,强化学习还在游戏、机器人控制、神经网络结构设计、医疗保健、聊天机器人等领域取得了广泛的应用。目前,强化学习还与深度学习结合,综合了二者的优势。

重点内容:

  • 理解现代强化学习算法相关的理论和概念
  • 使用离散或连续动作实现先进的强化学习算法
  • 开发强化学习算法并训练只能体玩计算机游戏
  • 使用TensorFlow探索DQN、DDQN和Atari Breakout问题。
  • 使用A3C训练智能体玩CartPole和LunarLander游戏
  • 使用TORCS赛车模拟器中训练智能体自动驾驶汽车

1. 强化学习的基本概念

强化学习需要解决的基本问题是如何训练在没有任何标记数据的情况下,预测某些预定任务的模型。这是通过试错法实现的,类似于宝宝第一次学习走路。一个走出婴儿床的宝宝,最初,它们步子迈得很小,常犯错误,不停摔倒在地并哭泣。但是,经过许多这样的尝试之后,它们开始独立站立起来。然后,随着信心的巨大飞跃,它们开始慢慢地、谨慎地采取较大的步子。尽管它们仍然会犯错误,但比以前少了很多。经过更多这样的尝试和失败后,它们拥有了更大的信心。随着时间的推移,它们的步子会变得更长更快,直到最终,它们学会了走路。

  • agent:宝宝就是agent(智能体),它们的周围对应强化学习的环境。
  • agent的状态,状态表示agent的当前状况。
  • agent的行为:agent执行行动以探索环境。获取动作矢量是强化学习的主要目标。理想情况下,需要努力获得最佳行为。
  • 策略:策略定义了agent在给定状态下的行为准则。在数学术语中,策略是从agent的状态到其在该状态下要采取的行为的映射。
  • 价值函数:用于定义agent的状态好坏。
  • 优势函数: A(s,a) = Q(s,a) - V(s).
  • episode回合:agent在学习最大化目标之前,会反复试错,探索环境。每个从开始到结束这样的试验被称为一个回合。起始位置可能不同,同样,回合的结束或结尾也可能是预期或非预期的结果。通常规定时间步长的上限值来终止回合,有的时候也不设限制。比如:路行者号航天器是由NASA与1977年发射,并且已经在太阳系外部旅行。
  • 奖励函数:学习中,因为表现良好而获得了奖励,而对于欠佳的表现则获得了不好的反馈(惩罚)。环境提供奖励功能,以指导agent在探索环境时进行学习。

1.1. 马尔科夫决策过程

马尔科夫性质广泛应用与强化学习,它表明环境在时间 t+1 的响应仅取决于时间 t 的状态和动作。

1.2 贝尔曼方程

伟大的计算机科学家和应用数学家 Richard E. Bellman 命名的贝尔曼方程与动态规划相关的最优条件。在强化学习中,它被广泛应用于更新agent的策略。

1.3 同步策略与异步策略学习

  • 同步策略方法使用相同的策略进行评估,从而对操作做出决策。同步策略算法通常没有缓冲区,一般经验是在原地训练模型,将agent从时间 t 的状态移动到时间 t+1 的状态的相同策略用来评估性能的好坏。本书的铜鼓策略算法有 SARSA、A3C、TRPO、PPO.
  • 异步策略方法使用不同的策略来指定行动决策并评估绩效。例如,许多异步策略算法使用重放缓冲区来存储经验,并从重放缓冲区中采样数据以续联模型。在训练步骤中,随机抽取一小批经验数据并用于训练策略和价值函数。异步策略算法:DQN、DDQN、DDPG。

1.4 无模型训练和基于模型训练

  • 无模型训练:不用学习环境模型的强化学习算法成为无模型算法。通常,如果使用价值函数或动作(V) - 价值函数(Q)来评估性能,则他们被称为无模型算法,因为没有使用特定的环境模型。
  • 基于模型训练:如果构建环境模型,则称为基于模型算法。如果你构建了环境如何从一种状态转换到另一种状态的模型,或者确定agent将通过模型从环境获得多少奖励,那么它们被称为基于模型算法。

2. 待续

后面章节还介绍了几个强化学习算法,例如SARSA、Deep Q-Networks(DQN)、DDPC、A3C、TRPO和RPO,以及如何使用TensorFlow和Python实现这些算法,用于解决Open Gym中的问题。此外,还介绍了通过TORCS赛车模拟器训练智能体自动驾驶汽车。

继续的算法都是调用lib库函数处理,就不列举了。书中还列举了如何解决悬崖徒步,和汽车如何从低洼处能开到山顶,等有趣例子。

TensorFlow 强化学习快速入门 -- Kaushik Balakrishnan 读后感相关推荐

  1. 深度学习强化学习进化计算 入门资源整理

    深度学习&强化学习&进化计算 入门资源整理 深度学习 在线课程 在线书籍 学习Python 强化学习 在线课程 在线书籍 更多资源 进化计算 后记 深度学习 在线课程 深度学习是机器学 ...

  2. TensorFlow 2.0 快速入门指南 | iBooker·ApacheCN

    原文:TensorFlow 2.0 Quick Start Guide 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译 不要担心自己的形象,只关心如何实现目标.--<原则>,生活 ...

  3. 150页书籍《PyTorch 深度学习快速入门指南》附PDF电子版

    为什么说是极简教程,首先本书只涵盖了150页.内容比较精简,特别适合作为 PyTorch 深度学习的入门书籍.为什么这么说呢?因为很多时候,一份厚重的书籍往往会削弱我们学习的积极性,在学习一门新的语言 ...

  4. 使用强化学习快速让AI学会玩贪食蛇游戏(轻量级二十分钟训练+代码)

    如何让AI玩会贪食蛇,甚至比你厉害 概述 构建问题(强化学习求解的一般步骤) 环境 动作定义 状态定义 奖励设计 训练奖励值收敛图 采用第4种状态定义方法 初步训练效果 最终训练效果 模型泛化迁移能力 ...

  5. python(十四)--Django学习快速入门

    Django学习快速入门 1. 预备知识 1.1 什么是http协议 1.2 MVC模式和MTV模式 1.2.1 MVC 模式 1.2.2 MTV 模式 2. Django框架介绍 2.1 什么是框架 ...

  6. TensorFlow 强化学习:1~5

    原文:Reinforcement Learning With TensorFlow 协议:CC BY-NC-SA 4.0 译者:飞龙 本文来自[ApacheCN 深度学习 译文集],采用译后编辑(MT ...

  7. TensorFlow 强化学习:6~10

    原文:Reinforcement Learning With TensorFlow 协议:CC BY-NC-SA 4.0 译者:飞龙 本文来自[ApacheCN 深度学习 译文集],采用译后编辑(MT ...

  8. 白化深度学习与tensorflow——强化学习

    绪论 强化学习(增强学习)是一种人工智能在训练中得到策略的训练过程.强化学习是希望让机器人(不管是人形机器人还是非人形机器人,总之是带有策略指导输出类型的机器人)有学习功能的一种学习方式. 11.1 ...

  9. 强化学习Q-learning入门

    1. 引言 本文为最近学习的强化学习Q-learning的学习笔记,主要用于总结和日常记录,本文主要讲解相应的必备入门知识. 闲话少说,我们直接开始吧! 2. 概念 我们小时候都经历过以下情形:我们做 ...

  10. 强化学习之入门笔记(一)

    文章目录 强化学习 一.入门强化学习 基本元素 主要元素 核心元素 二.基础概念 1.马尔科夫链 2.马尔科夫"链" 3.强化学习中的Q值和V值 更复杂的未来 Q和V的意义 V值的 ...

最新文章

  1. 教你3招,彻底搞定OCR数学公式识别难题!
  2. R构建KNN分类器实战
  3. 打桥位lisp_lisp函数
  4. 反编译linux内核_Linux 后台开发常用调试工具
  5. Logistic Function == Sigmoid Function
  6. 电商的本质是“商”还是“用户”?
  7. Python多线程原理与实现
  8. python导入pyecharts错误没有pyecharts_python报No module named 'pyecharts'的错误怎么办?
  9. gwt前台开发_为GWT设置开发环境
  10. Team Foundation Server的回滚操作
  11. Edge浏览器怎么打开开发者模式
  12. windows server2003的邮箱服务器安装详细步骤
  13. en55032最新标准下载_欧盟新EMC标准EN55032强制实施
  14. HTML静态网页作业——动漫火影忍者 (HTML+CSS)制作个人主页课程设计
  15. 如何扩充C盘容量(在不重装系统或删除其他盘内容的条件下)
  16. Android高级开发进阶图谱
  17. 图算法图神经网络归纳总结
  18. 微信小程序函数传参以及获取调用
  19. Android星座运势案例
  20. (十六)ATP应用测试平台——java应用中的过滤器Filter、拦截器Interceptor、参数解析器Resolver、Aop切面,你会了吗?

热门文章

  1. springAOP,面向切面编程详解,通俗易懂
  2. 测试文档模板_基于模型的测试(贰)
  3. 邮件里直接显示图片_利用邮件合并带图片功能批量制作准考证、工作证、成绩通知单等...
  4. 可由一个尾指针唯一确定的链表有_六十九、数据结构链表的实现
  5. WPF备忘录(1)有笑脸,有Popup
  6. ubuntu16.04下怎么安装flash player
  7. Java1.8新特性学习笔记
  8. 基于数据库复制的技术架构讨论
  9. RHEL 6.4 安装DNS服务(bind-9.8 )
  10. 高通笔记本装linux,在华硕畅370(TP370QL)骁龙笔记本上安装Ubuntu 18.04 ARM64的方法...