强化学习读书笔记(一)
强化学习读书笔记
机器学习分类
- 监督学习
- 非监督学习
- 强化学习
强化学习的复杂性
- 非独立同分布数据 观察结果不会告诉如何选择动作才能改善结果
- 探索与利用两难问题 利用已有知识还是探索新环境
- 奖励的严重延迟 某个关键动作的因果判断
强化学习的形式
奖励
从环境中周期性的获得的一个标量。通常设置为每固定时间戳一次或每与环境交互一次,也有一生一次奖励,除最后一次外,所有奖励都是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)=maxa∈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∈AmaxR(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•拉潘 著 林然 王薇 译
《深度强化学习基础、研究与应用》 — 董豪 丁子涵 等著
强化学习读书笔记(一)相关推荐
- 强化学习读书笔记 - 06~07 - 时序差分学习(Temporal-Difference Learning)
强化学习读书笔记 - 06~07 - 时序差分学习(Temporal-Difference Learning) 学习笔记: Reinforcement Learning: An Introductio ...
- 深度学习读书笔记之RBM(限制波尔兹曼机)
深度学习读书笔记之RBM 声明: 1)看到其他博客如@zouxy09都有个声明,老衲也抄袭一下这个东西 2)该博文是整理自网上很大牛和机器学习专家所无私奉献的资料的.具体引用的资料请看参考文献.具体的 ...
- 深度学习读书笔记之AE(自动编码)
深度学习读书笔记之AE 声明: 1)该博文是整理自网上很大牛和机器学习专家所无私奉献的资料的.具体引用的资料请看参考文献.具体的版本声明也参考原文献. 2)本文仅供学术交流,非商用.所以每一部分具体的 ...
- 李宏毅强化学习完整笔记!开源项目《LeeDeepRL-Notes》发布
↑↑↑关注后"星标"Datawhale 每日干货 & 每月组队学习,不错过 Datawhale开源 核心贡献者:王琦.杨毅远.江季 提起李宏毅老师,熟悉强化学习的读者朋友一 ...
- 分层强化学习:基于选项(option)的强化学习/论文笔记 The Option-Critic Architecture 2017 AAAI
The Option-Critic Architecture 2017 AAAI 1 option option 可以看作是一种对动作的抽象. 一般来说,option可以表示为一个三元组,其中: 是这 ...
- 强化学习 补充笔记(TD算法、Q学习算法、SARSA算法、多步TD目标、经验回放、高估问题、对决网络、噪声网络)
学习目标: 深入了解马尔科夫决策过程(MDP),包含TD算法.Q学习算法.SARSA算法.多步TD目标.经验回放.高估问题.对决网络.噪声网络.基础部分见:强化学习 马尔科夫决策过程(价值迭代.策略迭 ...
- 《DD-PPO: LEARNING NEAR-PERFECT POINTGOAL NAVIGATORS FROM 2.5 BILLION FRAMES》-----强化学习论文笔记
abstract 去中心化分布式PPO(DD-PPO) 是一种在资源密集型模拟环境中进行分布式强化学习的方法,在Hatitat-Sim上表现出近线性的扩展--通过串行在128个GPU上实现了107倍加 ...
- 强化学习论文笔记:Soft Actor Critic算法
Soft Actor Critic是伯克利大学团队在2018年的ICML(International Conference on Machine Learning)上发表的off-policy mod ...
- 【强化学习笔记】2020 李宏毅 强化学习课程笔记(PPO、Q-Learning、Actor + Critic、Sparse Reward、IRL)
前言 如果你对这篇文章感兴趣,可以点击「[访客必读 - 指引页]一文囊括主页内所有高质量博客」,查看完整博客分类与对应链接. 文章目录 前言 Introduction Two Learning Mod ...
- 强化学习课程笔记(二)——马尔科夫决策过程和动态规划寻找最优策略
参考材料 1.强化学习入门课程(英文)https://www.bilibili.com/video/av37295048 2.课程对应知乎讲解https://zhuanlan.zhihu.com/re ...
最新文章
- 带修莫队 ---- 离散化 + 暴力 + 带修莫队 F. Machine Learning
- 学习的本质在于触发了你的思考
- kafka0.11.0.2安装 笔记
- Fanout交换器-编写生产者
- 苹果电脑查看python版本_Mac 如何修改系统默认 Python 版本?
- [导入]构建WCF面向服务的应用程序系列课程(10):安全基础.zip(24.27 MB)
- 计算机故障语言 英语怎么说,故障英语怎么说
- 为什么要用交叉熵作为代价函数
- 非线性规划(二): Matlab 求解约束极值问题
- 渗透测试 | IP信息收集
- Debian下Apache2安装与设置 一 ZT
- Flask_从入门到放弃?不!!!从入门到入土!!
- 15位身份证号和18位身份证号截取生日
- JAVA oa 系统模块设计方案
- ppt打印一页6张铺满不留白_你真的会做ppt?这些习惯和操作你有吗?
- kalibr标定realsense鱼眼相机
- Android studio 关于页面跳转问题
- 【券后价12.20元】【包邮】超能天然皂粉1028g1袋装家用肥皂粉正品家庭实惠装洗衣粉香味持久...
- IO流使用available()的大坑
- [BZOJ 1095] [ZJOI2007]Hide 捉迷藏——线段树+括号序列(强..)
热门文章
- 八、RISC-V SoC外设——GPIO接口 代码讲解
- [LiteratureReview]Improving 3D Object Detection for Pedestrians with Virtual Multi-View Synthesis...
- Windows11常用快捷键总结(包含触控板使用技巧)
- C++基础面试问题总结
- OK3399设置GPIO默认低电平
- android高仿ios11系统,仿ios11状态栏安卓版-2020最新安卓仿iOS11状态栏apk3.0免费版下载_飞翔下载...
- CentOS7中怎样设置静态IP
- 工业相机镜头的参数与选型
- 通过nginx实现线上页面访问本地接口
- 编码,隐匿在计算机软硬件背后的语言读书笔记(9)