世界は優しい
首页博客关于

Site

世界は優しい

世界很温柔,我们都在努力变得更好。

Navigation

  • 首页
  • 博客
  • 关于

Connect

  • GitHub
  • 作者

© 2026 ZZC. 本站内容以 CC BY-NC-SA 4.0 协议发布。

Built with Next.js · Tailwind CSS

Folders

课程介绍与评分Lec1: IntroductionLec2: Lexical AnalysisLec3: ParsingLec4: Abstract SyntaxLec5: Semantic AnalysisLec6: Activation RecordsLec7: Translate to Intermediate CodeLec8: Basic Blocks and TracesLec9: 指令选择Lec10: Liveness Analysis
Lec0: 课程介绍与成绩Lec1: IntroductionLec2: Operating-System StructuresLec3: ProcessesLec4: Threads(多线程编程)Lec5: CPU SchedulingLec6: 进程同步Lec7: DeadlocksLec8: Main MemoryLec9: Virtual MemoryLec10: File-System InterfaceLec11: File System ImplementationLec12: Mass-Storage System
Lec1: Basic Concepts in Reinforcement LearningLec2: Bellman EquationLec3: Bellman Optimality EquationLec4: Value Iteration & Policy IterationLec5: Monte Carlo Learning
首页
ManiGaussian 论文笔记ManiGaussian++ 论文笔记
AMP: 对抗动作先验替代复杂奖励函数DeepMimic: 从动作捕捉数据学习物理仿真角色技能DreamWaQ: 纯本体感知的四足鲁棒行走Imitating Animals: 从动物模仿到真实四足敏捷运动MoE-Loco: 多任务腿足运动的专家混合架构Multi-AMP: 多重对抗动作先验学习高级技能PIE: Proprioception with Imagination for ParkourRMA: Rapid Motor Adaptation for Legged Robots
论文阅读
Lec1: 五十音Lec2: 日语声调Lec3: 浊音和长音
Callout 语法速查
Hello World - 我的第一篇博客
Typora 语法兼容性测试
首页博客Coure-NotebookReinforcement_learningLec1: Basic Concepts in Reinforcement Learning

强化学习

Lec1: Basic Concepts in Reinforcement Learning

以方格世界为例,构建强化学习的基础数学框架:状态、动作、奖励、状态转移、策略、轨迹与回报,以及引入折扣率后的折扣回报,最终统一为马尔可夫决策过程(MDP)。

2026 年 01 月 15 日/10 min read/ZZCZZC
#强化学习#课程笔记#计算机科学

摘要:本讲义以方格世界(Grid-world)为例,系统构建了强化学习的基础数学框架。首先定义了智能体与环境交互的核心要素,包括描述环境状况的状态(State)空间、依赖于当前状态的动作(Action)空间,以及作为人机接口用于引导行为的标量奖励(Reward)。在此基础上,讲义阐述了概率性的状态转移(State transition)机制和智能体选择动作的策略(Policy),并引入轨迹(Trajectory)与回报(Return)来评估策略优劣。为了解决无限视界下的发散问题,进一步提出了引入折扣率 γ\gammaγ 的折扣回报(Discount return)概念。最终,这些要素被统一形式化为马尔可夫决策过程(MDP),其核心特征在于具备无记忆性(Memoryless)的马尔可夫性质,即未来的演变仅取决于当前的状态与动作。

Grid-world example

​ 假设我们有一个机器人在方格中行走,要从 start 到 target。如下图所示:

image-20260118145905860

​ 其中,方块有三种类型:Accessible/forbidden/target,同时还有一个边界 boundary。

​ 我们的目标是:

  1. 从 start 出发,找到一条 good 的路径去达到目标。
  2. 怎么样定义路径是不是 good 的

State

​ 我们对 State 做如下定义:

  • The state of the agent with respect to the enviroment
    • 重点在 enviroment上

image-20260118150402291

​ 在之前的 grid-world 的例子中,每个位置对应一个状态,s1,s2,...s9s_1,s_2,...s_9s1​,s2​,...s9​实际上都是 state

​ 对于众多的 states,我们可以采用集合的方式来进行表示,更加严谨学术的表达是 state space:

S={si}i=19S = \{s_i \}^9_{i=1}S={si​}i=19​

Action

​ 在每一种 state 情况下,智能体都可以进行一系列可能的操作,也就是 actions。

image-20260118154428443

​ 在之前的 grid-world 的例子中,我们可以有 5 种可能的状态:a1,a2,a3,a4,a5a_1,a_2,a_3,a_4,a_5a1​,a2​,a3​,a4​,a5​。

​ 和 state 一样,action 可以定义一个空间 action space:

A(si)={ai}i=15\mathcal{A}(s_i)=\{a_i\}^5_{i=1}A(si​)={ai​}i=15​
Note

需要注意的是,action space 和 state 是依赖的。也就是说以下论断是成立的:

Differnt states can have different set of actions.

State transition

image-20260118150402291

​ 这个概念和我们在《计算理论》中学习到的 DFA 有点像。都是一个状态要向另外一个状态进行转移,转移过程中需要“吃掉”一个 action。

  • Case 1:从 s1s_1s1​ 到 s2s_2s2​:
    • s1→a2s2s_1 \xrightarrow{a_2}s_2s1​a2​​s2​
  • Case 2:在 s1s_1s1​ 状态下向上走:
    • s1→a1s1s_1 \xrightarrow{a_1}s_1s1​a1​​s1​
    • 因为 s1s_1s1​ 向上走已经是边界了,因此我们定义 s1s_1s1​ 回到原来的位置。
    • 实际上,回到哪里都是有可能的,需要根据实际情况去定义

With Forbidden Area

​ 对于 Forbidden area,我们有两种处理方法:

  1. Forbidden area 是 accessible 的,但是会有 penalty(惩罚):
    • s5→a2s6s_5 \xrightarrow{a_2} s_6s5​a2​​s6​
  2. Forbidden area 是 inaccessible 的。例如,我们将 Forbidden area 处理为 boundary:
    • s5→a2s6s_5 \xrightarrow{a_2} s_6 s5​a2​​s6​

​ 第一种方案更为一般,也更具有挑战性。例如,我们有可能找出一条通过 Forbidden area 的路线,其是最优的。

​ 在之后的内容中,我们讨论的都会是第一种方案。

Tabular representation

​ 可以使用表格的方法表示 state transition,但是缺点也很明显:只能表示确定的 state。

image-20260118161510288

State transition probability

​ 更一般的表示方法是使用概率。

​ 例如,假设处于 s1s_1s1​,若是我们采取行动 a2a_2a2​,下一个 state 是 s2s_2s2​。这种行为用数学描述如下:

{p(s2∣s1,a2)=1p(si∣s1,a2)=0∀i≠2\begin{cases} p(s_2 \mid s_1,a_2)=1 \\ p(s_i \mid s_1,a_2)=0 \quad \forall i \ne 2 \end{cases}{p(s2​∣s1​,a2​)=1p(si​∣s1​,a2​)=0∀i=2​

​ 这种表示方式可以描述 storchastic(不确定的) 例子。

Policy

​ 在每种状态下采取某种行为称为策略(policy)。Policy 也可以使用数学概率来表示,比如下面的例子:

image-20260118162832639

​ 在这个策略中,对于 s1s_1s1​ 来说就是:

{π(a1∣s1)=0π(a2∣s1)=0.5π(a3∣s1)=0.5π(a4∣s1)=0π(a5∣s1)=0\begin{cases} \pi(a_1 \mid s_1) = 0 \\ \pi(a_2 \mid s_1) = 0.5 \\ \pi(a_3 \mid s_1) = 0.5 \\ \pi(a_4 \mid s_1) = 0 \\ \pi(a_5 \mid s_1) = 0 \\ \end{cases}⎩⎨⎧​π(a1​∣s1​)=0π(a2​∣s1​)=0.5π(a3​∣s1​)=0.5π(a4​∣s1​)=0π(a5​∣s1​)=0​

Tabular representation

​ Policy 也可以使用表格来描述:

image-20260118163526795

​ 与上面的不同,这里表格既可以表示确定的情况也可以表示非确定的情况。

Reward

​ Reward 是 RL 中最重要的一个概念。

​ Reward 是一个我们采取 action 之后获得的标量。

​ 一般来说,positive reward 代表 reward,negative reward 代表 punishment。

Note

可以存在数值为 0 的 Reward 吗?

可以,这意味着没有 punishment。

Note

可以让 positive reward 作为 punishment 吗?

可以,实际上,这是一种较好的数学技巧。

Example

image-20260118150402291

​ 以之前的 Grid-world example 为例子,定义奖励如下:

  • 若 agent 想要走出边界,则 rbound=−1r_{bound} =-1rbound​=−1
  • 若 agent 想要进入一个 forbidden cell,则 rforbidden=−1r_{forbidden} = -1rforbidden​=−1
  • 若 agent 进入了 target cell,则 rtarget=+1r_{target}=+1rtarget​=+1
  • 否则,r=0r=0r=0

​ 以上的设计是想要鼓励 agent 不要进入 forbidden area,不要碰到边界,要到达 target area。

Human-machine interface

​ 我们可以将 Reward 看成人类和 agent 交互的一个接口。通过 Reward,我们让 agent 做出我们想要它做的事情。

Tabular representation

image-20260118164959805

​ 和之前一样,我们也可以使用表格的方法来表示 reward。然而,这里的表格只能表示确定的情况。

Mathematical description

​ 采用更一般的表示方法:

{p(r=−1∣s1,a1)=1p(r≠−1∣s1,a1)=0\begin{cases} p(r=-1 \mid s_1,a_1)=1 \\ p(r \ne -1 \mid s_1,a_1)=0 \end{cases}{p(r=−1∣s1​,a1​)=1p(r=−1∣s1​,a1​)=0​

​ 以上结果可能是不确定的。

Trajectory & Return

image-20260118165607188

​ Trajectory 就是一个 state-action-reward chain。例如,对于以上例子,trajectory 如下:

s1→r=0a2s2→r=0a3s5→r=0a3s8→r=1a2s9s_1 \xrightarrow[r=0]{a_2}s_2\xrightarrow[r=0]{a_3}s_5\xrightarrow[r=0]{a_3}s_8\xrightarrow[r=1]{a_2}s_9s1​a2​r=0​s2​a3​r=0​s5​a3​r=0​s8​a2​r=1​s9​

​ 对于一个 Trajectory,我们称这条链上 Reward 的总和为 return。例如:

return=0+0+0+1=1return = 0+0+0+1=1return=0+0+0+1=1

​ 另外一个例子如下:

image-20260118170118924

  • 实际上,我们可以使用 Trajectory 和 Return 取评估一个 policy 是好是坏

Discount return

​ 然而,上面所说的情况可能会出现一些问题:最后有可能会在 target cell 无限累加:

image-20260118193227182

​ 也就是:

s1→r=0a2s2→r=0a3s5→r=0a3s8→r=1a2s9→r=1a5s9→r=1a5s9…⇓return=0+0+0+1+1+1+⋯=∞s_1 \xrightarrow[r=0]{a_2}s_2\xrightarrow[r=0]{a_3}s_5\xrightarrow[r=0]{a_3}s_8\xrightarrow[r=1]{a_2}s_9\xrightarrow[r=1]{a_5}s_9\xrightarrow[r=1]{a_5}s_9\dots \\ \Downarrow \\ return = 0+0+0+1+1+1+ \dots = \inftys1​a2​r=0​s2​a3​r=0​s5​a3​r=0​s8​a2​r=1​s9​a5​r=1​s9​a5​r=1​s9​…⇓return=0+0+0+1+1+1+⋯=∞

​ 很显然这并不是我们希望看到的结果,因为这是发散的。

​ 因此,我们采取了一种类似于“公比小于 1 的等比数列累加和小于一个常数”的想法,引出 Discount rate:

discount  return=0+γ0+γ20+γ31+γ41+…=γ3(1+γ+γ2+… )=γ3(11−γ)γ∈[0,1)\begin{align*} discount \; return &= 0+\gamma0+\gamma^20+\gamma^31+\gamma^41+\dots \\ &= \gamma^3(1+\gamma+\gamma^2+\dots)=\gamma^3(\frac{1}{1-\gamma}) \\ \gamma \in \left[0,1\right) \end{align*}discountreturnγ∈[0,1)​=0+γ0+γ20+γ31+γ41+…=γ3(1+γ+γ2+…)=γ3(1−γ1​)​

​ 我们称 γ\gammaγ 为 discount rate。

​ 对于 discount return,我们可以确定其一定是收敛的。

​ 关于 γ\gammaγ,我们还可以利用其控制 agent 对远近未来 Reward 的关注程度:

  • 若 γ\gammaγ 更偏向于 0,那么 return 受开始 reward 影响更大。(近视)
  • 若 γ\gammaγ 更偏向于 1,那么 return 受未来 reward 影响更大。(远视)

Episode

​ 对于 agent,若其最终可以停止在某些 terminal states,那我们就称 resulting trajectory 为 episode。

image-20260118200216331

​ 在上面的例子中,episode为:

s1→r=0a2s2→r=0a3s5→r=0a3s8→r=1a2s9s_1 \xrightarrow[r=0]{a_2}s_2\xrightarrow[r=0]{a_3}s_5\xrightarrow[r=0]{a_3}s_8\xrightarrow[r=1]{a_2}s_9s1​a2​r=0​s2​a3​r=0​s5​a3​r=0​s8​a2​r=1​s9​

​ 对一个有 episodes 的 tasks 来说,我们称之为 episodic task。

Continuing tasks

​ 有些任务可能并没有 terminal state 的,意味着 agent 和外界的交互可能永远都不会停止。这样的任务我们称为 continuing tasks。

​ 事实上,在一般情况下,我们都是将 episodic tasks 处理成 continuing tasks 的,这样更符合一般性。我们有两种方案:

  1. 将 target state 视作一种特殊的 absorbing state。一旦 agent 到达一个 aborbing state,其就永远不会结束,接下来连续的 reward r=0r=0r=0
  2. 将 target state 视作带 policy 的 normal state。agent 可以离开 target state 并且再一次得到 r=+1r=+1r=+1 当其重新进入 target state。

​ 我们选择方案二,因为这种方案让我们不需要去区分 target state 和别的 normal state。

Markov decision process(MDP)

Key elements of MDP

  • Sets:
    • State: SSS
    • Action: A(s)\mathcal{A}(s)A(s)
    • Reward: R(s,a)\mathcal{R}(s,a)R(s,a)
  • Probability distribution:
    • State transition probability: p(s′∣s,a)p(s' \mid s,a)p(s′∣s,a)
    • Reward probability: p(r∣s,a)p(r \mid s,a)p(r∣s,a)
    • Policy: π(a∣s)\pi(a \mid s)π(a∣s)

Markov Property

  • Memoryless:

    • {p(st+1∣at+1,st,…,a1,s0)=p(st+1∣at+1,st)p(rt+1∣at+1,st,…,a1,s0)=p(rt+1∣at+1,st)\begin{cases} p(s_{t+1} \mid a_{t+1},s_t,\dots,a_1,s_0)=p(s_{t+1} \mid a_{t+1},s_t) \\ p(r_{t+1} \mid a_{t+1},s_t,\dots,a_1,s_0)=p(r_{t+1} \mid a_{t+1},s_t) \end{cases}{p(st+1​∣at+1​,st​,…,a1​,s0​)=p(st+1​∣at+1​,st​)p(rt+1​∣at+1​,st​,…,a1​,s0​)=p(rt+1​∣at+1​,st​)​

Markov process

image-20260118204647382

​ 我们可以使用上面的图来表示 Markov process。

​ 当 policy is given,Markov process become Markov decision process。

ZZC

Written by

ZZC
每天研究怎么摸鱼的神人

Comments

评论功能即将上线

On this page

  • Grid-world example
  • State
  • Action
  • State transition
  • With Forbidden Area
  • Tabular representation
  • State transition probability
  • Policy
  • Tabular representation
  • Reward
  • Example
  • Human-machine interface
  • Tabular representation
  • Mathematical description
  • Trajectory & Return
  • Discount return
  • Episode
  • Continuing tasks
  • Markov decision process(MDP)
  • Key elements of MDP
  • Markov Property
  • Markov process