强化学习读书笔记

机器学习分类

  • 监督学习
  • 非监督学习
  • 强化学习

强化学习的复杂性

  • 非独立同分布数据 观察结果不会告诉如何选择动作才能改善结果
  • 探索与利用两难问题 利用已有知识还是探索新环境
  • 奖励的严重延迟 某个关键动作的因果判断

强化学习的形式

奖励

从环境中周期性的获得的一个标量。通常设置为每固定时间戳一次每与环境交互一次,也有一生一次奖励,除最后一次外,所有奖励都是0。
奖励是RL最核心的,智能体获得的奖励应该正向或反向地强化它的行为。
奖励是局部的,它反映了智能体最近的行为有多成功,而不是从开始到现在累计的行为。

智能体

智能体是通过执行确定的动作、进行观察、获得最终的奖励来和环境交互的人或物。

环境

环境是智能体外部的一切。智能体和环境的交互仅限于奖励(从环境中获得)、动作(由智能体执行并馈入环境)以及观察(智能体从环境中获得的除奖励之外的一些信息)。

动作

动作是智能体在环境中可以做的事情。分为离散动作连续动作

观察

对环境的观察是智能体的第二个信息渠道(第一个为奖励)。观察是环境为智能体提供的信息,能说明智能体周围的情况。

强化学习的理论基础

马尔可夫决策过程

  • 马尔可夫过程(MP) 是一个具备马尔可夫性质的离散随机过程。
    马尔可夫过程基于马尔科夫链的假设,下一状态St+1S_{t+1}St+1​只取决于当前状态StS_tSt​。
  • 马尔可夫奖励过程(MRP) 把马尔可夫过程从<S,P><S,P><S,P>拓展到<S,P,R,γ><S,P,R,\gamma><S,P,R,γ>,其中R和γ\gammaγ分别表示奖励函数奖励折扣因子
  • 马尔可夫决策过程(MDP) 加入了有限的动作集合A\mathcal{A}A,变成<S,A,P,R,γ><S,\mathcal{A},P,R,\gamma><S,A,P,R,γ>。

强化学习方法

动态规划

  • 策略迭代(Policy Iteration) 的目的在于直接操控策略。
    过程总结为:给定任意一个策略π\piπ,对于每一次迭代ttt中的每一个状态sss,我们首先评估vπt(s)v_{\pi t}(s)vπt​(s),然后找到一个更好的策略πt+1\pi_{t+1}πt+1​。我们把前一个阶段称为策略评估,把后一个阶段称为策略提升。此外,用术语泛化策略迭代来指代一般的策略评估和策略提升交互过程。

  • 价值迭代 的理论基础是最优性原则
    当且仅当π\piπ取得了可以到达的任何后续状态上的最优价值时,π\piπ时一个状态上的最优策略。因此如果我们知道子问题v∗(s′)v_*(s')v∗​(s′)的解,就可以通过一步完全回溯找到任意一个初始状态sss的解:
    v∗(s)=max⁡a∈AR(s,a)+γ∑s′∈SP(s′∣s,a)v∗(s′)v_*(s) = \max_{a\in \mathcal{A}}R(s,a)+\gamma \sum_{s'\in \mathcal{S}}{P(s'|s,a)v_*(s')} v∗​(s)=a∈Amax​R(s,a)+γs′∈S∑​P(s′∣s,a)v∗​(s′)
    价值迭代的过程是将上面的更新过程从最终状态开始,一个一个状态接连向前进行。

蒙特卡洛

蒙特卡洛是一类随机算法的特性的概括,其算法的核心思想是多次实验,用所有实验样本的平均值代表理论值,例如值函数。当实验次数趋于无穷时,就会收敛到理论值。

时间差分

时间差分结合了动态规划和蒙特卡洛方法的思想,结合了自举法(Bootstrapping)和无需了解全部环境信息的优点。正如其名,利用差异值进行学习,即目标值和估计值在不同时间步上的差异。

总结

其他可参考博客动态规划和蒙特卡洛,时间差分

三者都是现代强化学习中的核心算法,都可以被运用与策略评估和策略提升。它们都涉及泛化策略迭代(GPI),主要区别在于策略评估的过程,动态规划和时间差分都使用了自举法(Bootstrapping),而蒙特卡洛没有。动态规划需要整个环境模型的所有信息,但蒙特卡洛和时间差分不需要。
其学习目标也不同:
vπ(s)=Eπ[Gt∣St=s]=Eπ[Rt+1+γGt+1∣St=s]=Eπ[Rt+1+γvπ(St+1)∣St=s]\begin{aligned} v_\pi(s) & = \mathbb{E}_\pi[G_t|S_t=s] \\ &= \mathbb{E}_\pi[R_{t+1}+\gamma G_{t+1}|S_t=s]\\ &= \mathbb{E}_\pi[R_{t+1}+\gamma v_\pi(S_t+1)|S_t=s] \end{aligned} vπ​(s)​=Eπ​[Gt​∣St​=s]=Eπ​[Rt+1​+γGt+1​∣St​=s]=Eπ​[Rt+1​+γvπ​(St​+1)∣St​=s]​
其中公式依次是是蒙特卡洛、时间差分和动态规划。

强化学习算法分类


之后将从多个角度对强化学习算法进行分类,其中包括

  • 基于模型(Model-Based)和无模型(Model-Free)的学习方法
  • 基于价值(Value-Based)和基于策略(Policy-Based)的学习方法
  • 蒙特卡洛(Monte Carlo)和时间差分(Temporal-Difference)学习方法
  • 在线策略(On-Policy)和离线策略(Off-Policy)学习方法

《深度强化学习实践》— [俄]马克西姆i•拉潘 著 林然 王薇 译
《深度强化学习基础、研究与应用》 — 董豪 丁子涵 等著

强化学习读书笔记(一)相关推荐

  1. 强化学习读书笔记 - 06~07 - 时序差分学习(Temporal-Difference Learning)

    强化学习读书笔记 - 06~07 - 时序差分学习(Temporal-Difference Learning) 学习笔记: Reinforcement Learning: An Introductio ...

  2. 深度学习读书笔记之RBM(限制波尔兹曼机)

    深度学习读书笔记之RBM 声明: 1)看到其他博客如@zouxy09都有个声明,老衲也抄袭一下这个东西 2)该博文是整理自网上很大牛和机器学习专家所无私奉献的资料的.具体引用的资料请看参考文献.具体的 ...

  3. 深度学习读书笔记之AE(自动编码)

    深度学习读书笔记之AE 声明: 1)该博文是整理自网上很大牛和机器学习专家所无私奉献的资料的.具体引用的资料请看参考文献.具体的版本声明也参考原文献. 2)本文仅供学术交流,非商用.所以每一部分具体的 ...

  4. 李宏毅强化学习完整笔记!开源项目《LeeDeepRL-Notes》发布

    ↑↑↑关注后"星标"Datawhale 每日干货 & 每月组队学习,不错过 Datawhale开源 核心贡献者:王琦.杨毅远.江季 提起李宏毅老师,熟悉强化学习的读者朋友一 ...

  5. 分层强化学习:基于选项(option)的强化学习/论文笔记 The Option-Critic Architecture 2017 AAAI

    The Option-Critic Architecture 2017 AAAI 1 option option 可以看作是一种对动作的抽象. 一般来说,option可以表示为一个三元组,其中: 是这 ...

  6. 强化学习 补充笔记(TD算法、Q学习算法、SARSA算法、多步TD目标、经验回放、高估问题、对决网络、噪声网络)

    学习目标: 深入了解马尔科夫决策过程(MDP),包含TD算法.Q学习算法.SARSA算法.多步TD目标.经验回放.高估问题.对决网络.噪声网络.基础部分见:强化学习 马尔科夫决策过程(价值迭代.策略迭 ...

  7. 《DD-PPO: LEARNING NEAR-PERFECT POINTGOAL NAVIGATORS FROM 2.5 BILLION FRAMES》-----强化学习论文笔记

    abstract 去中心化分布式PPO(DD-PPO) 是一种在资源密集型模拟环境中进行分布式强化学习的方法,在Hatitat-Sim上表现出近线性的扩展--通过串行在128个GPU上实现了107倍加 ...

  8. 强化学习论文笔记:Soft Actor Critic算法

    Soft Actor Critic是伯克利大学团队在2018年的ICML(International Conference on Machine Learning)上发表的off-policy mod ...

  9. 【强化学习笔记】2020 李宏毅 强化学习课程笔记(PPO、Q-Learning、Actor + Critic、Sparse Reward、IRL)

    前言 如果你对这篇文章感兴趣,可以点击「[访客必读 - 指引页]一文囊括主页内所有高质量博客」,查看完整博客分类与对应链接. 文章目录 前言 Introduction Two Learning Mod ...

  10. 强化学习课程笔记(二)——马尔科夫决策过程和动态规划寻找最优策略

    参考材料 1.强化学习入门课程(英文)https://www.bilibili.com/video/av37295048 2.课程对应知乎讲解https://zhuanlan.zhihu.com/re ...

最新文章

  1. 带修莫队 ---- 离散化 + 暴力 + 带修莫队 F. Machine Learning
  2. 学习的本质在于触发了你的思考
  3. kafka0.11.0.2安装 笔记
  4. Fanout交换器-编写生产者
  5. 苹果电脑查看python版本_Mac 如何修改系统默认 Python 版本?
  6. [导入]构建WCF面向服务的应用程序系列课程(10):安全基础.zip(24.27 MB)
  7. 计算机故障语言 英语怎么说,故障英语怎么说
  8. 为什么要用交叉熵作为代价函数
  9. 非线性规划(二): Matlab 求解约束极值问题
  10. 渗透测试 | IP信息收集
  11. Debian下Apache2安装与设置 一 ZT
  12. Flask_从入门到放弃?不!!!从入门到入土!!
  13. 15位身份证号和18位身份证号截取生日
  14. JAVA oa 系统模块设计方案
  15. ppt打印一页6张铺满不留白_你真的会做ppt?这些习惯和操作你有吗?
  16. kalibr标定realsense鱼眼相机
  17. Android studio 关于页面跳转问题
  18. 【券后价12.20元】【包邮】超能天然皂粉1028g1袋装家用肥皂粉正品家庭实惠装洗衣粉香味持久...
  19. IO流使用available()的大坑
  20. [BZOJ 1095] [ZJOI2007]Hide 捉迷藏——线段树+括号序列(强..)

热门文章

  1. 八、RISC-V SoC外设——GPIO接口 代码讲解
  2. [LiteratureReview]Improving 3D Object Detection for Pedestrians with Virtual Multi-View Synthesis...
  3. Windows11常用快捷键总结(包含触控板使用技巧)
  4. C++基础面试问题总结
  5. OK3399设置GPIO默认低电平
  6. android高仿ios11系统,仿ios11状态栏安卓版-2020最新安卓仿iOS11状态栏apk3.0免费版下载_飞翔下载...
  7. CentOS7中怎样设置静态IP
  8. 工业相机镜头的参数与选型
  9. 通过nginx实现线上页面访问本地接口
  10. 编码,隐匿在计算机软硬件背后的语言读书笔记(9)