Reinforcement Learning - Basics
1. 基本概念
这是一个强化学习的最基本示例:

-
Task
机器人在一个 Grid of Cells 里,找到从起点走到终点的最优路径
-
Rules
可以自由移动(不能斜着走),但是不应该进入 Forbidden Cells,会因此受罚
机器人无法感知,Grid of Cells 对它而言是个黑箱
1.1 State
Status of the agent with respect to the environment

本案例中机器人的 Location 就是 State,9 个 Cells 就是 9 个 State:
State Space = The set of all States
1.2 Action

每一个 State 都有可以执行的 Action,本案例中有 5 种:上 (
不同的 State 可用的 Action 不一样,比如理论上位于最上方的 State
但实际上可能仍然会保留
,并为了严谨性增加 “撞墙回弹的功能”
Action Space of State = The set of all Actions of a State
1.3 State-Transition
它描述的是这么一个过程:When taking an Action, the agent may move from one State to another
-
Deterministic
在哪一个 State 做了哪一个 Action 会转到哪一个 State 是100%确定的,你在
左转 ( ) 一定会进入用 State-Transition Probability 的方式表示为
也可以用 Tabular Representation

-
Stochastic
很多情况下 State-Transition 是 Stochastic 的,即在同一 State 采取同一 Action 可能跳转到不同的新 State,比如:
上面的 Table 里
的 Action Space 包含了 ,但是采取后的效果相当于静止-
墙若有弹性,那么在
采取 后撞墙,Agent 的状态有两种可能性:弹回到
原地静止弹回到
假设 2. 中所述两种情况的概率是 50-50,那么用 Conditional Probability 可表示为
不过 Stochastic 的 State-Transition 就没法写成 Table 了
-
General Form
1.4 Policy
这和 State-Transition 是两个东西!各自的 Conditional Probability 定义不一样!!!

Policy
有点像是一种 “场”,在当前类型的案例里一般用箭头表示;无论 Agent 在哪里 / 哪个 State,Policy 都能告诉它下一步要往哪里走
所以无论 Agent 从哪里开始任务,policy 最终都应该能把它带到目的地,就像上图一样
-
Deterministic
如上图,一个 State 能采取的 Action 是确定的,只有一个

以
为例,与它相关的 Policy 用 Conditional Probability 可表示为 -
Stochastic
一个 State 有概率采取不同的 Action

以
为例,与它相关的 Policy 用 Conditional Probability 可表示为也可以写成 Table,与 State-Transition 完全不一样,Policy 无论 Deterministic / Stochastic 都可以用 Tabular Representation

1.5 Reward
在采取某个 Action 后得到的数值
Positive Reward = Encouragement to take such Action
Negative Reward = Punishment to take such Action
好吧,其实你也可以用 Positive Number 表示 punishment,但那样 Reward 就该改名叫 Cost 了
Reward 的 Absolute Values 不重要,重要的是 Relative Values
Changing
-
Deterministic
一个 Action 始终只会对应一个 Reward 数值

可以写成如上 Table 并作如下设定
Agent 撞墙 Agent 进入禁区 Agent 抵达终点 For all other cases
以
的 (State, Action) 组合为例子,Reward 用 Conditional Probability 表示为 -
Stochastic
现实中一个 Action 对应的 Reward 数值并不会完全固定
比如努力学习 (这是 Action),考试分数一定会提高(这是 Reward),但提高多少(这是 Reward 的数值)会取决于其它因素
这种没法写成 Table
-
[ Reward Hacking ]
如果奖励机制设计得很烂,训练出来的 Agent 可能会通过执行 Penalized Action 来最大化 Reward 收益
比如在本案例中,Agent 可能会故意跨入 Forbidden Cell 抄近道抵达目的地
1.6 Episode & Trajectory
-
Trajectory
Trajectory 是一条 State-Action-Reward Chain,如下两个例子

对应的两条 Trajectory 为
-
Episode
有 Terminal State 的 Finite Trajectory 是一个 Episode
上面的两个 Trajectory 就是两个 Episode
Task with Terminal State
Episodic TaskTask with no Terminal State
Continuing Task
Infinite Trajectory 见 1.7 Return - Discounted Return
1.7 Return
The sum of all Rewards along the Trajectory,用于评估一个 Policy 的好坏程度
以 1.6 的两个示例为基础,两个 Policy 的 Return 为
Policy 1 的 Return 更大,显然它更好
1.7.1 Discounted Return
有时 Policy 在 Agent 抵达目的地后仍然会继续运行,类似于 “动态静止”

如上图,此时这条 Trajectory 从定义上而言,是 Infinite 的
那么 Trajectory 的 Return 就 diverge 了
不止这条,其实从任何起点出发的 Trajectory 的 Return 最后都会因为抵达终点而发散,若 Return 的大小都是无穷,便无法比较 Policy 之优劣,这个衡量标准就失去了意义
所以需要引入一个 Discount Rate
无论 Intuitively 还是 Mathematically,引入这个值一定能让 Return 收敛
Emphasis on Near Future Emphasis on Far Future
上面的描述是从 “计算尚未开始” 的角度解释
若从 “计算已经结束” 的角度解释:
Near Future = 古早历史记录
Far Future = 近期历史记录
1.7.2 Bootstrapping
Consider the following example

Assume the Return obtained from State
Bootstrapping = Returns rely on each other
类似于 “一直脚踩在另一只脚上,那就能走到无限高处”,概念荒唐但公式本身并不荒唐且可解
够明显了,非齐次线性方程组,四个未知量四个公式,4 个 Return 求出来很容易
2. Markov Decision Process
2.1 Definition
Markov Decision Process (MDP) 是一个 Tuple
where
-
State-Transition Probability Matrix
正如其名,只是把所有的概率全写在一起
and it holds that
for any -
Reward Function
可以写成 Probability Distribution
也可以写成 Expectation
and it holds that
for any此处之所以用
是因为倾向于理解为离开状态 才能获得 Reward如果阁下有不同的想法,比如 “进入 State 时获得 Reward”,事先定义一下,效果是一样的
2.2 其他特征
-
Policy
Probability of chooing Action in State此处写成一个 Matrix Form
And it holds that
for any -
Markov Property
鬼话:The Memoryless property of a stochastic process
人话:新决策的概率无关于决策的历史记录,MDP无记忆
从数学表达式可以看出,你可以提供很多的过去决策供参考,但是全部木大
下一个 State / Reward 只会参考现在 的 State & Action!
2.3 Markov Process
Markov Decision Process becomes Markov Process once the Policy is given
比如 1. 中的 Grid of Cells,左图里描述了采取的 Policy,右侧更加抽象的图就是对应的 Markov Process

3. Bellman Expectation Equation
一般的称谓是 Bellman Equation
3.1 State Value 状态价值
“告诉我们从哪个 State 出发最合适”
State Value
关于 State Value
-
有 Expectation 在数学上合理此处的
均为 Random Variable不如说是因为
是 Random Variable,所以作为结果的 也是 Random Variable -
有 Expectation 在直觉上合理以某个 State 为起点寻路,能抵达终点的 Trajectory 可能会有很多条,那么也可能会有多个 Discounted Return
如果 State-Transition 是完全 Deterministic 的,那么此时以某一个 State 为起点的 Trajectory 必定只有一条,因此有
-
State Value 依赖 Policy
Policy 变了 Trajectory 也会变,这很合理
所以 State Value 的表达方式改成
会更合适
[ Example ]
在 State-Transition 上,左图的 Policy

各自以
最终结果
3.2 Elementwise Form
Bellman Expectation Equation 用于计算 State Value
Consider the following Random Trajectory
其 Discounted Return 为
那么 State Value 公式可作如下处理
分开计算
-
"Immediate Reward" Term
-
"Future Reward"Term
第二步的 Expectation 部分通过 Markov Property 化简
两部分合并可得
where
-
State Values to be computedwith Bootstrapping in 1.7.2
given Policy-
Environment Models当前语境下,这些 Model 是 known 的
若 Model unknown,那就是 Model-Free RL 的内容了
确认 Policy 和 Environment Models (以及
略微偷懒一点的写法(公式项的包含关系还是上面的那个更详细)
3.3 Matrix-Vector Form
3.3.1 Derivation
Elementwise Form 的 BEE 与 State 数量挂钩,即有多少个 State 就会有多少个这样的公式,把它们联立会非常 nice
先对 Elementwise Form 进行修改,退回到 3.2 的 “两部分合并”,第三行
where
Expectation of Immediate Reward 从 State 转到 State 的概率
更换一下 Notation,使
然后写出所有 State 对应的上式,联立后得到 Matrix-Vector Form
where
3.3.2 Example
Assume
如果 Policy 和 Reward 如下

那么 Matrix-Vector Form 变成
3.3.3 How to Solve
-
Closed-Form Solution
好消息是它很简洁很方便,坏消息是涉及 Matrix Inversion,所以大概是用不上了
-
Iterative Solution
坏消息是证明起来很烦,好消息是好理解也很好用
你可以设定
,然后 Guess 一个 代入上式,得到不断接替代入就能获得一长串结果
,最终会发现[ Tips ]
这里用的下标 Notation 是
不是 ,它和 State 没有关系-
这是一种类似于级数逼近的方法,不用真的算到
只需设置一个收敛阈值
,然后迭代到 即可
3.4 Action Value 动作价值
“告诉我们采取 State 中的哪个 Action 最合适”
3.4.1 Definition
Action Value
Action Value 也称 Q-Value
3.4.2 与 State Value 的关系
-
"Action
State"Action Value 与 3.1 中定义的 State Value 只差了一个 “选择某个 Action” 的过程
以下是 State Value 的定义与公式,以供对比:
State Value
is the Expected Return the Agent can get starting at State所以 Action Value 与 State Value 的关系式为
-
"State
Action"与 3.2 的 Elementwise BEE 联立可发现
也就是
与 存在联系 -
Summary
4. Bellman Optimality Equation
Policy
4.1 Definition
Bellman Optimality Equation (BOE):
假设我们不知道 Policy
相比 BEE 前面多了一个最大化的语句
以下是两种 BOE 公式
-
Elementwise Form
where
Known Unknown, to be Computed Unknown, to be Computed
-
Matrix-Vector Form
此处的
会 Elementwise 施加在矩阵 的每一项上
4.2 解法前置理论
4.2.1 Elementwise Form 解
以有 Action Value 的版本为基础
问题可以简化为
Find optimal coefficients
为了让
在不失普适性的前提下,若假定
把最大的 Weight 给最大的 Term,就能最大化它们之和
所以回到 BOE 上,可以得出结论
4.2.2 Matrix-Vector Form 解
以该形式为基础,要求
类似于是在解如下类型的问题
Find
首先可以确定
说实话我写这一部分的时候都在怀疑是否真的需要写下来,但是为了防止脑子 GaGa 了,还是留个记录吧(恼
4.2.3 Contraction Mapping Theorem
-
Fixed Point
is a fixed point of if -
Contraction Mapping
is a contraction mapping ifwhere
一个直观的解释是

-
Contraction Mapping Theorem
-
Definition
For any contraction mapping
,there exists a unique fixed point such that -
Algorithm
Define a sequence
where ,从任意起点 Initial Guess 开始不断代入上式,得到 ,然后...Convergence Rate is Exponentially Fast given any Initial Guess,非常好用
[ Example ]
Given Contraction Mapping
where则迭代公式为
若从
开始,则得到的数列 为最后得到
满足 Fixed Point 的结果(虽然实际上可以一眼出答案...) -
4.3 Solution
BOE 的 Matrix-Vector Form 是关于
那么 BOE 就可以写成下面这个贼简洁的公式
[ 重要结论 ]:BOE 的
具体证明就不说了,但是有个很 Intuitive 的证据,即
-
Existence
一定存在一个 Unique Fixed Point
满足 -
Algorithm
与 4.2.3 中的相同,could be solved iteratively by
Convergence Rate is determined by
4.4 Policy Optimality & 总结
-
State Value
Assume
is the Unique Solution to BOEAssume
is the State Value that satisfies BEE for all PoliciesThen
-
Policy
For any
, the Deterministic Greedy Policyis an Optimal Policy solving the BOE
所以其实可以这么表述
-
Action Value