RL-Note(1)-RL基础
Published:
强化学习(reinforcement learning,RL)讨论的问题是智能体(agent)怎么在复杂、不确定的环境(environment)中最大化它能获得的奖励。如图 1.1 所示,强化学习由两部分组成:智能体和环境。在强化学习过程中,智能体与环境一直在交互。智能体在环境中获取某个状态后,它会利用该状态输出一个动作 (action),这个动作也称为决策(decision)。然后这个动作会在环境中被执行,环境会根据智能体采取的动作,输出下一个状态以及当前这个动作带来的奖励。智能体的目的就是尽可能多地从环境中获取奖励
强化学习 vs 监督学习
RL 旨在让智能体(Agent)从某个状态(State)映射到某个行为(Action),以最大化某个奖励信号(Reward Signal)。这种学习方式与监督学习(Supervised Learning)有显著区别。 监督学习假设:
- 输入数据是独立的:监督学习假设样本之间没有关联性,否则难以有效学习。
- 提供正确标签:每个样本都有明确的正确答案,学习器依赖这些标签来优化预测。
然而,RL
- 输入的并不是独立的样本数据,而是有关联的序列数据,当前的动作会影响未来的状态和奖励
- 并不是通过严格的标签来优化,而是通过自己探索和尝试不同的action来得到最大化的奖励信号,优化得到一个policy
- 奖励信号是延迟的,强化学习智能体会从环境里面获得延迟的奖励,即环境可能会在很久以后告诉我们之前我们采取的动作到底是不是有效的
序列决策
序列决策(Sequential Decision Making)是强化学习的核心思想之一。智能体通过与环境的连续交互,基于状态、动作及奖励的反馈,逐步优化决策策略,以最大化累计奖励。
这是强化学习(Reinforcement Learning, RL)中最核心概念的数学形式化表达。我将按照你提供的结构,使用标准的数学符号将其转化为公式。
通常设定时间步为 $t$,当前时刻为 $t$。
核心要素
- 状态 (State) $s$: 属于状态空间 $\mathcal{S}$。智能体从环境中感知到的状态信息,用于决策。 \(s_t \in \mathcal{S}\)
- 动作 (Action) $a$: 属于动作空间 $\mathcal{A}$。智能体基于当前状态选择的输出,直接影响后续状态转移(State Transition)。 \(a_t \in \mathcal{A}\)
- 奖励 (Reward) $r$: 依赖于当前状态和动作,通常记作奖励函数 $R$: \(r_t = R(s_t, a_t)\)
策略(policy)$\pi$ :将状态映射到动作的规则,定义了智能体在每个状态下的动作。
轨迹 (Trajectory) $\tau$: 也被称为 Episode 或 Rollout,是一个状态、动作、奖励的序列。 智能体与环境交互所经历的状态、动作和奖励序列: \(\tau = (s_0, a_0, r_0, s_1, a_1, r_1, \dots, s_T, a_T, r_T)\) 其中 $T$ 是终止时刻。 回合(Episode)/ 尝试(Trail):从初始状态到终止状态(terminal state)的一次完整交互。 预演(Rollout):模拟智能体在策略 下与环境交互,生成轨迹以评估策略效果。
轨迹的概率 (Probability of a Trajectory) 如果环境的状态转移概率为 $P(s_{t+1}|s_t, a_t)$,初始状态分布为 $\rho(s_0)$,则一条轨迹发生的概率为: \(P(\tau|\pi) = \rho(s_0) \prod_{t=0}^{T-1} \pi(a_t|s_t) P(s_{t+1}|s_t, a_t)\)
- 回报 (Return) $G$ 从当前状态到终止状态的累计奖励。 \(G_t = \sum_{k=0}^{T-t} r_{t+k} = r_t + r_{t+1} + \dots + r_T\)
- 折扣回报(Discounted Return):考虑折扣因子 的回报,越遥远的奖励越少,避免回报发散。 引入折扣因子 $\gamma \in [0, 1]$,通常用于无限视界(Infinite Horizon)。 \(G_t = \sum_{k=0}^{\infty} \gamma^k r_{t+k} = r_t + \gamma r_{t+1} + \gamma^2 r_{t+2} + \dots\)
强化学习智能体的组成
对于一个强化学习智能体,它可能有一个或多个如下的组成成分
策略(policy)。智能体会用策略来选取下一步的动作。
价值函数(value function)。我们用价值函数来对当前状态进行评估。价值函数用于评估智能体进 入某个状态后,可以对后面的奖励带来多大的影响。价值函数值越大,说明智能体进入这个状态越有利。
模型(model)。模型表示智能体对环境的状态进行理解,它决定了环境中世界的运行方式。 下面我们深入了解这 3 个组成部分的细节。
策略
策略是智能体的动作模型,它决定了智能体的动作。它其实是一个函数,用于把输入的状态变成动作。策略可分为两种:随机性策略和确定性策略。
随机性策略(stochastic policy)就是 $\pi$ 函数,即$\pi(a | s)=p\left(a_{t}=a | s_{t}=s\right)$。输入一个状态 $s$,输出一个概率。 这个概率是智能体所有动作的概率,然后对这个概率分布进行采样,可得到智能体将采取的动作。比如可能是有 0.7 的概率往左,0.3 的概率往右,那么通过采样就可以得到智能体将采取的动作。
确定性策略(deterministic policy)就是智能体直接采取最有可能的动作,即 $a^{*}=\underset{a}{\arg \max} \pi(a \mid s)$。
价值函数
价值函数的值是对未来奖励的预测,我们用它来评估状态的好坏。 \(V_{\pi}(s) \doteq \mathbb{E}_{\pi}\left[G_{t} \mid s_{t}=s\right]=\mathbb{E}_{\pi}\left[\sum_{k=0}^{\infty} \gamma^{k} r_{t+k+1} \mid s_{t}=s\right], \text{for all } s \in S\) 期望 $\mathbb{E}_{\pi}$ 的下标是 $\pi$ 函数,$\pi$ 函数的值可反映在我们使用策略 $\pi$ 的时候,到底可以得到多少奖励 我们还有一种价值函数:Q 函数。Q 函数里面包含两个变量:状态和动作。其定义为 \(Q_{\pi}(s, a) \doteq \mathbb{E}_{\pi}\left[G_{t} \mid s_{t}=s, a_{t}=a\right]=\mathbb{E}_{\pi}\left[\sum_{k=0}^{\infty} \gamma^{k} r_{t+k+1} \mid s_{t}=s, a_{t}=a\right]\)
所以我们未来可以获得奖励的期望取决于当前的状态和当前的动作。Q 函数是强化学习算法里面要学习的一个函数。因为当我们得到 Q 函数后,进入某个状态要采取的最优动作可以通过 Q 函数得到
模型
模型决定了下一步的状态。下一步的状态取决于当前的状态以及当前采取的动作。它由状态转移概率和奖励函数两个部分组成。状态转移概率即 \(p_{s s^{\prime}}^{a}=p\left(s_{t+1}=s^{\prime} \mid s_{t}=s, a_{t}=a\right)\)
奖励函数是指我们在当前状态采取了某个动作,可以得到多大的奖励,即 \(R(s,a)=\mathbb{E}\left[r_{t+1} \mid s_{t}=s, a_{t}=a\right]\)
当我们有了策略、价值函数和模型3个组成部分后,就形成了一个**马尔可夫决策过程(Markov decision process)