文章目录

  • PART 0
    • 1 Introduction
      • 1.1 Reinforcement Learning
      • 1.2 Examples
      • 1.3 Elements of Reinforcement Learning
      • 1.4 Limitations and Scope
      • 1.5 An Extended Example: Tic-Tac-Toe
      • 1.6 Summary
      • 1.7 Early History of Reinforcement Learning
  • Part I: Tabular Solution Methods
    • Chapter 2 Multi-armed Bandits
      • 2.1 A k-armed Bandit Problem
      • 2.2 Action-value Methods
        • Exercises
    • Chapter 3 Finite Markov Decision Processes
      • 3.1 The Agent–Environment Interface
      • 3.2 Goals and Rewards
      • 3.3 Returns and Episodes
        • Exercises
      • 3.4 Unified Notation for Episodic and Continuing Tasks
      • 3.5 Policies and Value Functions
      • 3.6 Optimal Policies and Optimal Value Functions
      • 3.7 Optimality and Approximation
      • 3.8 Summary
  • Exercise Answers

PART 0

1 Introduction

RL,总体思想就是learning from interaction

1.1 Reinforcement Learning

还是有点没理解,什么是rl?定义的3个内容怎么理解?
rl和监督学习/非监督学习都不一样,监督学习是有label,无监督学习是想从数据中找到隐藏的结构,rl是专注于最大化激励
只在rl中出现的challenge:delimma between exploration and exploitation,既需要放弃已知的reward,而去explore more about env,又需要exploit已知的reward获得激励
一个比较新奇的点,rl让machine更有“常识”

1.2 Examples

rl是个典型的马尔可夫过程

1.3 Elements of Reinforcement Learning

policy、reward signal、value function、model
reward侧重短期的,value function侧重长期,action是基于value的,但是知道value比知道reward要难

1.4 Limitations and Scope

rl和evolutionary methods不同,rl learn while interacting with the env, while evolutionary methods don’t。rl非常依赖stat,也就是依赖useful info from history to take action

1.5 An Extended Example: Tic-Tac-Toe

主要介绍rl和evolutional method的区别、rl的概念,没太看懂

1.6 Summary

1.7 Early History of Reinforcement Learning

Part I: Tabular Solution Methods

这部分是stat & action spaces都能写成array或者table,能找到最优解

Chapter 2 Multi-armed Bandits

rl和其他学习方式的不同点在于:training data不是用来“指导”下一步该干什么,而是用来“引导”下一步干什么。引导是这样:告诉你做的这一步有多好/有多差,而不是告诉你这是最好/最差的做法。指导是这样:在你没干之前就告诉你正确的做法是什么。

2.1 A k-armed Bandit Problem

k-armed bandit problem含义:你面临多个选择题,每个选择题有k个选项,每选择一次后都有概率获得reward,你的目的就是最大化n次选择后的reward总额
假设你不知道每次选择获得的reward大小,但你对reward大小有个基本猜测,如果每次你都选择猜测值最高的选择,那么可以看作是一种贪心策略,这种行为是1.1中提到的exploit,反之,如果不选择猜测reward最高的选项,就是explore,因为这种选择可以帮助你更好的猜测选择reward
平衡exploration和exploitation是rl的一个难点,考虑的因素通常包括:对reward的估测值、不确定性、剩余选择次数等等,比较复杂,本书不详细考虑这个。

2.2 Action-value Methods

action-value methods含义:评估action value,并且利用value行动的方法
定义:在t时间采取a行动的value为Qt(a)Q_t(a)Qt​(a),具体定义如下:
Qt(a)=在t之前采取a行动的reward之和在t之前采取a行动的次数之和Q_t(a) = \frac{在t之前采取a行动的reward之和}{在t之前采取a行动的次数之和} Qt​(a)=在t之前采取a行动的次数之和在t之前采取a行动的reward之和​
Qt(a)Q_t(a)Qt​(a)的定义不是唯一的,还有其他的定义,不再赘述
如何用Qt(a)Q_t(a)Qt​(a)帮助选择action呢?
最简单的方法:贪婪策略,选择最高Qt(a)Q_t(a)Qt​(a)的action
贪婪策略的缺点在于:全部精力用来exploit,没有explore,所以提出一个改进的ϵ−greedy\epsilon-greedyϵ−greedy策略,即每回有ϵ\epsilonϵ的概率不走贪婪策略,而是随机从现有的action中抽出1个走,这样可以稍微平衡一下explore和exploit

Exercises

2.1:如果当前只有2个action可选,ϵ=0.5\epsilon=0.5ϵ=0.5,则选中greedy action的概率是多少?
答案

Chapter 3 Finite Markov Decision Processes

和bandit problem不同的是,bandit problem的value是q∗(a)q_*(a)q∗​(a),即value仅和action有关。在MDP中,value是q∗(s,a)q_*(s,a)q∗​(s,a),即value同时和action、stat有关。

3.1 The Agent–Environment Interface

MDP的过程其实就是:
S0,A0,R0,S1,A1,R1,…S_0, A_0, R_0, S_1, A_1, R_1, \dots S0​,A0​,R0​,S1​,A1​,R1​,…
即agent处于S0S_0S0​,采取了action A0A_0A0​,获得了reward R0R_0R0​,然后环境变为S1S_1S1​,再继续下去……有限MDP就是这个过程是有限的,MDP就是当前状态仅与前一个状态有关,定义存在下面这样的转移概率ppp:
p(s′,r∣s,a)=Pr{St=s′,Rt=r∣St−1=s,At−1=a}=∑r∈Rp(s′,r∣s,a)p(s^{'}, r | s, a) = P_r\{S_t = s^{'}, R_t = r | S_{t-1} = s, A_{t-1} = a\} = \sum_{r \in R} p(s^{'}, r | s, a) p(s′,r∣s,a)=Pr​{St​=s′,Rt​=r∣St−1​=s,At−1​=a}=r∈R∑​p(s′,r∣s,a)

3.2 Goals and Rewards

设置的reward决定了agent会做什么事,设置的reward应该是你希望agent 做到 的事情,而不是agent 怎样 做到这件事。比如如果希望agent下棋赢,那么应该设置赢了reward + 1,而不能设置走哪一步reward + 1

3.3 Returns and Episodes

关注总回报,也即return G:
Gt=Rt+1+γRt+2+γ2Rt+3+⋯=∑k=0∞γkRt+k+1G_t = R_{t+1} + \gamma R_{t+2} + \gamma ^ 2 R_{t+3} + \dots = \sum_{k=0}^\infty \gamma^kR_{t+k+1} Gt​=Rt+1​+γRt+2​+γ2Rt+3​+⋯=k=0∑∞​γkRt+k+1​
比之前增加了γ\gammaγ变量,γ\gammaγ是discount,γ∈[0,1]\gamma \in [0, 1]γ∈[0,1],γ\gammaγ决定了未来能获得的value现在就被获得后值得的价值。也就是说:如果这个reward在k个时间点后获得,那么如果现在立刻获取它,现在它的价值只有γk−1∗value\gamma^{k-1} * valueγk−1∗value
为啥提前获取value会导致value下降啊?

提前获取value导致value下降的原因(在课程视频里讲到)为:
1. 数学上方便
2. avoid 在小圈圈里不停赚value
3. 模拟未来不确定性
4. 如果reward是经济上的,往往先获得比后获得好(吃利息!)
5. 动物/人类的行为都更偏好眼前value,if all sequence terminates, 有时可以用undiscounted Markov,即γ=1 .

如果γ=0\gamma=0γ=0, 代表我们完全不关心未来,只看当下的value,策略就变为最大化Rt+1R_{t+1}Rt+1​。反之,如果γ=1\gamma=1γ=1, 则表示most farsighted strategy
各个time step之间的return相互影响,原因是:
Gt=∑k=0∞γkRt+k+1=Rt+1+γRt+2+γ2Rt+3+…=Rt+1+γ(Rt+2+γRt+3+γ2Rt+4+…)=Rt+1+γGt+1\begin{aligned} G_t &= \sum_{k=0}^\infty \gamma^kR_{t+k+1} \\ &= R_{t+1} + \gamma R_{t+2} + \gamma ^ 2 R_{t+3} + \dots \\ &= R_{t+1} + \gamma (R_{t+2} + \gamma R_{t+3} + \gamma^2R_{t+4} + \dots) \\ &= R_{t+1} + \gamma G_{t+1} \end{aligned}Gt​​=k=0∑∞​γkRt+k+1​=Rt+1​+γRt+2​+γ2Rt+3​+…=Rt+1​+γ(Rt+2​+γRt+3​+γ2Rt+4​+…)=Rt+1​+γGt+1​​
注意

  1. 为了数学上方便,定义GT=0G_T = 0GT​=0
  2. 虽然GtG_tGt​是无穷项之和,但当γ<1\gamma < 1γ<1,且reward是非0的常数时,GtG_tGt​是有限的。即如果reward是常数C,则Gt=C∗11−γG_t = C * \frac {1}{1 - \gamma}Gt​=C∗1−γ1​,证明可见execrise3.10

Exercises

3.8 Suppose γ=0.5,R1=−1,R2=2,R3=6,R4=3,R5=2,T=5\gamma = 0.5, R_1 = -1, R_2 = 2, R_3 = 6, R_4 = 3, R_5 = 2, T = 5γ=0.5,R1​=−1,R2​=2,R3​=6,R4​=3,R5​=2,T=5,求G0,G1,…,G5G_0, G_1, \dots, G_5G0​,G1​,…,G5​
答案
3.9 假设γ=0.9,R1=2\gamma = 0.9, R_1 = 2γ=0.9,R1​=2, R1R_1R1​后是infinite sequence of rewards, 每个reward都是7, 求G1,G0G_1, G_0G1​,G0​
答案
3.10 证明:当reward为常数+1时,无限序列的Gt=11−γG_t = \frac {1}{1 - \gamma }Gt​=1−γ1​
答案

3.4 Unified Notation for Episodic and Continuing Tasks

前一章提到了有finite reward sequence和infinite reward sequence,这里把两者统一起来。可以把finite reward sequence停止的部分,看作是一个absorbing stat,即该节点无限循环reward = 0,此时,可以把GtG_tGt​写为:
Gt=∑k=t+1Tγk−t−1RkG_t = \sum_{k = t + 1}^{T} \gamma^{k - t - 1}R_k Gt​=k=t+1∑T​γk−t−1Rk​
这里T可以取∞\infty∞(代表此时是infinite),γ\gammaγ可以取1(代表此时是undiscount),但是两者不能同时取

3.5 Policies and Value Functions

定义:
记在stat S 下采取policy π\piπ的value function为vπ(s)v_\pi (s)vπ​(s), 对stat-value function vπ(s)v_\pi(s)vπ​(s)有:
vπ(s)=Eπ(Gt∣St=s)=Eπ(∑k=0∞γkRt+k+1∣St=s),foralls∈Sv_\pi(s) = E_\pi(G_t | S_t = s) = E_\pi ( \sum_{k = 0}^\infty \gamma ^k R_{t + k + 1} | S_t = s), for \; all \; s \in S vπ​(s)=Eπ​(Gt​∣St​=s)=Eπ​(k=0∑∞​γkRt+k+1​∣St​=s),foralls∈S
类似地有action-value function qπ(s,a)q_\pi(s,a)qπ​(s,a):
qπ(s,a)=Eπ(Gt∣St=s,At=a)=Eπ(∑k=0∞γkRt+k+1∣St=s,At=a)q_\pi(s, a) = E_\pi(G_t | S_t = s, A_t = a) = E_\pi ( \sum_{k = 0}^\infty \gamma ^k R_{t + k + 1} | S_t = s, A_t = a) qπ​(s,a)=Eπ​(Gt​∣St​=s,At​=a)=Eπ​(k=0∑∞​γkRt+k+1​∣St​=s,At​=a)
由bellman equation,可以将vπ(s)v_\pi(s)vπ​(s)及qπ(s,a)q_\pi(s,a)qπ​(s,a)写为和自身t+1相关的形式,即:
vπ(s)=Eπ(Rt+1+γvπ(St+1)∣St=s)qπ(s,a)=Eπ(Rt+1+γqπ(St+1,At+1)∣St=s,At=a)\begin{aligned} v_\pi(s) &= E_\pi(R_{t+1} + \gamma v_\pi(S_{t+1}) | S_t = s) \\ q_\pi(s, a) &= E_\pi(R_{t+1} + \gamma q_\pi(S_{t+1}, A_{t+1}) | S_t = s, A_t = a) \\ \end{aligned}vπ​(s)qπ​(s,a)​=Eπ​(Rt+1​+γvπ​(St+1​)∣St​=s)=Eπ​(Rt+1​+γqπ​(St+1​,At+1​)∣St​=s,At​=a)​
对stat-value function vπ(s)v_\pi(s)vπ​(s),写为matrix form有:vπ=Rπ+γPπvπv_\pi = R^\pi + \gamma P^\pi v_\pivπ​=Rπ+γPπvπ​,进一步有vπ=(I−γPπ)−1Rπv_\pi = (I - \gamma P^\pi)^{-1}R^\pivπ​=(I−γPπ)−1Rπ

3.6 Optimal Policies and Optimal Value Functions

解决rl问题其实就是找到能够获得最大value的policy,定义policy之间的比较规则如下:
π≥π′ifvπ(s)≥vπ′(s),∀s\pi \geq \pi^{'} \; if \;v_\pi(s) \geq v_{\pi^{'}}(s), \;\forall s π≥π′ifvπ​(s)≥vπ′​(s),∀s
即policy1 better than policy2,当且仅当任意stat下该policy的stat-value funciton都大
定理:

1. 在任意MDP中,至少存在一个optimal policy
2. 存在optimal stat-value function(可能存在多个optimal policy,all optimal policy share same optimal stat-value function)
3. 存在optimal action-value function(可能存在多个optimal policy,all optimal policy share same optimal action-value function)

3.7 Optimality and Approximation

由于算力、内存的限制,求出最优解是不现实的。RL选择在频繁出现的stat中作出较好选择,不管那些不怎么经常出现的stat,这一点也是RL和其他解决MDP的方法的区别之一

3.8 Summary

没什么好说的了

Exercise Answers

2.1
P=0.5∗0.5+0.5∗1=0.75P=0.5 * 0.5 + 0.5 * 1 = 0.75P=0.5∗0.5+0.5∗1=0.75
分2种情况,当explore时(0.5走explore之路),选中greedy action的概率是0.5,当exploit(0.5走exploit之路)时,选中greedy action的概率是100%,两个相加就能算出来了
3.8
由定义有:G5=0G_5 = 0G5​=0,对其他GGG,有:
G4=R5+γG5=2+0.5∗0=2G3=R4+γG4=3+0.5∗2=4G2=R3+γG3=6+0.5∗4=8G1=R2+γG2=2+0.5∗8=6G0=R1+γG1=−1+0.5∗6=2\begin{aligned} G_4 &= R_5 + \gamma G_5 = 2 + 0.5 * 0 = 2 \\ G_3 &= R_4 + \gamma G_4 = 3 + 0.5 * 2 = 4 \\ G_2 &= R_3 + \gamma G_3 = 6 + 0.5 * 4 = 8 \\ G_1 &= R_2 + \gamma G_2 = 2 + 0.5 * 8 = 6 \\ G_0 &= R_1 + \gamma G_1 = -1 + 0.5 * 6 = 2 \end{aligned}G4​G3​G2​G1​G0​​=R5​+γG5​=2+0.5∗0=2=R4​+γG4​=3+0.5∗2=4=R3​+γG3​=6+0.5∗4=8=R2​+γG2​=2+0.5∗8=6=R1​+γG1​=−1+0.5∗6=2​
利用GtG_tGt​的公式即可
3.9
序列从t = 2开始infinite,故G2=7∗11−γ=7∗10.1=70G_2 = 7 * \frac {1}{1 - \gamma} = 7 * \frac {1}{0.1} = 70G2​=7∗1−γ1​=7∗0.11​=70,再向前计算G1,G0G_1, G_0G1​,G0​:
G1=R2+γ∗G2=7+0.9∗70=70G0=R1+γ∗G1=2+0.9∗70=65\begin{aligned} G_1 &= R_2 + \gamma * G_2 = 7 + 0.9 * 70 = 70 \\ G_0 &= R_1 + \gamma * G_1 = 2 + 0.9 * 70 = 65 \end{aligned}G1​G0​​=R2​+γ∗G2​=7+0.9∗70=70=R1​+γ∗G1​=2+0.9∗70=65​
3.10
证明:
Gt=∑k=0∞γkRt+1+k=∑k=0∞γk=∑k=0∞γk(1−γ)1−γ=∑k=0∞γk−γk+11−γ=lim⁡k→∞1−γk1−γ=11−γ\begin{aligned} G_t &= \sum_{k = 0}^\infty \gamma ^k R_{t+1+k} = \sum_{k = 0}^\infty \gamma ^k \\ &= \sum_{k = 0}^\infty \frac {\gamma ^k ( 1 - \gamma)}{1 - \gamma} \\ &= \sum_{k = 0}^\infty \frac {\gamma ^k - \gamma ^{k+1}}{1 - \gamma} \\ &= \lim_{k\to\infty} \frac {1 - \gamma ^k}{1 - \gamma} = \frac {1}{1 - \gamma} \end{aligned}Gt​​=k=0∑∞​γkRt+1+k​=k=0∑∞​γk=k=0∑∞​1−γγk(1−γ)​=k=0∑∞​1−γγk−γk+1​=k→∞lim​1−γ1−γk​=1−γ1​​
注意,若reward是常数C,则类似地:Gt=C∗∑k∞γk=⋯=C∗11−γG_t = C * \sum _k^\infty \gamma ^k = \dots = C * \frac {1}{1 - \gamma}Gt​=C∗∑k∞​γk=⋯=C∗1−γ1​

Introduction to Reinforcement Learning notes相关推荐

  1. 【论文笔记】A Reinforcement Learning Method for Multi-AGV Scheduling in Manufacturing

    目录 Abstract Keywords 1 INTRODUCTION 2 REINFORCEMENT LEARNING 3 PROBLEM FORMULATION A. Problem Statem ...

  2. 强化学习 (Reinforcement Learning) 基础及论文资料汇总

    持续更新中... 书籍 1. <Reinforcement Learning: An Introduction>Richard S. Sutton and Andrew G.Barto , ...

  3. [增强学习][Reinforcement Learning]学习笔记与回顾-1

    引言 增强学习这几篇博客在于学习增强学习中所获得知识的理解与回顾,如果想要深入学习增强学习,请参考后文所列出的资料和书籍.本文只用于复习与理解. Introduction to Reinforceme ...

  4. Reward Machines for Cooperative Multi-Agent Reinforcement Learning论文阅读

    Abstract 本文提出了一种使用Reward Machine作为reward function编码任务的方法.其实就是把传统人为定义的reward function替代了.使用reward Mac ...

  5. Hybrid Reward Architecture for Reinforcement Learning

    用于强化学习的混合奖励架构 31st Conference on Neural Information Processing Systems (NIPS 2017), Long Beach, CA, ...

  6. 增强学习Reinforcement Learning经典算法梳理1:policy and value iteration

    前言 就目前来看,深度增强学习(Deep Reinforcement Learning)中的很多方法都是基于以前的增强学习算法,将其中的value function价值函数或者Policy funct ...

  7. 增强学习Reinforcement Learning经典算法梳理2:蒙特卡洛方法

    1 前言 在上一篇文章中,我们介绍了基于Bellman方程而得到的Policy Iteration和Value Iteration两种基本的算法,但是这两种算法实际上很难直接应用,原因在于依然是偏于理 ...

  8. 《Reinforcement Learning: An Introduction》 读书笔记 - 目录

    这一系列笔记是基于Richard S. Sutton的<Reinforcement Learning: An Introduction>第二版 因为这本书在出版之前,作者就在官网上发布了几 ...

  9. 李宏毅Reinforcement Learning强化学习入门笔记

    文章目录 Concepts in Reinforcement Learning Difficulties in RL A3C Method Brief Introduction Policy-base ...

  10. REINFORCEMENT LEARNING USING QUANTUM BOLTZMANN MACHINES利用量子波兹曼机进行强化学习

    REINFORCEMENT LEARNING USING QUANTUM BOLTZMANN MACHINES 利用量子波兹曼机进行强化学习 Abstract. We investigate whet ...

最新文章

  1. java 位掩码_Java位掩码控制权限与()或(|)非(~)、的介绍
  2. Oracle版本对应得使用的jar包
  3. 生成有控制台的WIN32程序
  4. Cocos2d-x编程中CCRemoveSelf与CCCallFunc系列函数不能一起使用
  5. Java读取word文件,字体,颜色
  6. 为什么Netty这么火?与Mina相比有什么优势?
  7. 针对《关于郝培强的《为什么我们招聘的时候绝不要传智播客的学生?》》的看法
  8. Lync server 2013 部署开发常用工具下载
  9. 程序员宝宝们6661儿童节快乐
  10. 解决用easyboot制作4G以上光盘时,WINPE启动失败的问题
  11. Android App 启动优化全记录
  12. bluehost中国和bluehost美国的区别?应该选择哪个?
  13. Gradle sync failed: Sync failed: reason unknown
  14. nonnegative matrix factorization (NMF)的R实现
  15. JS判断一个数是否为质数(素数)
  16. 第四章 数学知识 质数相关
  17. 快手新人直播需要注意什么,掌握以下几点技巧即可丨国仁网络
  18. 西南计算机维修技术0240,0240 2016《计算机维修技术》西南大学网上作业题及答案...
  19. 深层学习:心智如何超越经验1.1 混乱的时钟
  20. 【Metaverse系列一】元宇宙的奥秘

热门文章

  1. 让用户输入一个数,判断7的倍数
  2. shell script简介
  3. Python地学分析 — GDAL通过矢量裁剪遥感图像
  4. 2022年第一季度保险服务数字化跟踪分析
  5. 如何使用Java以编程方式在 Excel 中创建图表
  6. 独立于计算机系统的是 用户模式,2019年12月网络教育统考《计算机应用基础》复习题(十三)...
  7. MycoLightTM 比率细菌膜电位试剂盒程序
  8. referenced libraries
  9. Codility每周一课:P8.2 Dominator
  10. Mat 无法解析dump文件:Dominator tree not available. Open the Dominator Tree or delete indices and parse aga