一、前言

强化学习,深度强化学习,在最近几年十分火爆,特别是其在机器人与大模型上的应用被发掘出来后。其实强化学习在多年前已经被提出(初学时很感兴趣的IRL,都是几十年前的理论了)。抛开一定的概率论数学门槛,相较于想在控制理论和计算机理论上有所突破,RL入门学习成本更低 ,因为其基础算法已经定型、代码上手门槛低、应用场景多、成果可视化快等等。

强化学习被认为是监督学习和无监督学习之外的新的学习方法,我认为RL可以看做是一种较高效的搜索算法。把状态空间看成点集,动作空间看成边,RL可看做一种受奖励指导的搜索算法,寻找加权图的最优路径(但和传统搜索算法不同,RL过程可以没有明确的终点,而且状态空间太大)。把RL看做搜索算法,可以解释RL训练过程出现的某些现象(或存在的问题)。

首先,RL极度依赖奖励函数的设计。奖励函数给予我们间接指导优化方向的方法,能让我们不用再通过采集大量优质数据集来训练模型,而是能让我们凭直觉设计了优化目标。所以合理的、简单的奖励函数设计,往往能让模型具有很好的效果和很强的泛化性能。前几年比如alphago zero、自动驾驶、机械臂均有做self-play的研究,都显现出比监督学习(模仿学习)更强的效果,因为合理的奖励函数比数据集更本质,能让模型探索出比人类演示(相当于人类演示不能表达出其本质意义)更好的方法。但同时奖励函数也成为了难题,在某些场景(比如机器人),因为状态空间大、奖励稀疏等原因,对于初学者来说,需要靠经验对非常多的奖励函数参数进行调整,而且少量调整都会对结果产生极大的影响。而相对来说,某些任务,比如alphago zero、GRPO中,奖励设计简单(alphago zero的奖励是本局的胜负,GPRO是对输出回答的评分,而且把这种最终结果值返回到了每一步动作中,这样就不会有稀疏问题),RL的应用就非常成功。

第二,可以看出RL的训练曲线相较于监督学习,更加平缓。可以理解为监督学习更像是直接告诉模型最佳的路径,而RL经历了更多的探索。但是当奖励函数比较稀疏或者设计不合理时,RL的训练容易陷在局部最优。或者说因为我们对最优路径的理解不足(难以表达成奖励形式),对最优方向的奖励不够,导致在某个状态下,RL不倾向于选择我们真正想要的动作(选择这个动作的概率小),而是只能经过非常多的随机选择探索之后,才能(或者几乎不能)越过这个瓶颈。而初学者在此时并不能确定是继续训练,寄希望于能翻越壁垒,还是停下训练来调整奖励。当然对于reward shaping和稀疏奖励这块已经有相当多的研究和训练技巧。

第三,RL的训练需要极大的训练量。就像前文所说,如果奖励函数设计不好,那在某个状态搜索下一个动作时,找到最优的动作几乎是纯随机的。如果这个动作出现的概率不高,那就需要很大的训练量才能找到这条路径。另外,更复杂的环境,导致更大的状态空间和动作空间,会让最优路径更难找到。状态数据量太大导致MARL(当然这里面又存在agent互相影响问题)不好训练、视觉信息很难加入自动驾驶的self-play里。比如moba类游戏相较于围棋来说,有大得多的状态空间和更加稀疏的奖励,想要RL训练模型玩复杂游戏非常困难。这也是为什么大多机器人和机械臂的训练,都是采集人类数据进行模仿学习,而不是纯RL。而GRPO的RL训练是建立在已经预训练出一个对人类语法理解透彻的模型上的,也就是说,RL在这里的作用更像是在一个确定好的方向附近找出更适合人类的表达方式,相对来说搜索空间不大。所以总的来说,想要使用RL在某方面做出大突破,需要课题组有足够的RL底蕴(比如奖励设计和调参优化经验、样本过滤、处理观测状态减小内存消耗)以及资金(算力)。

以上内容都是瞎说,下面进入正题。

二、强化学习概念

2.1 两种任务

  • 预测型任务:根据数据预测输出(有监督学习),或生成数据实例(无监督学习)。

  • 决策型任务:在动态环境中采取行动,转变到新状态,获得即时奖励,最大化累积奖励。强化学习正是解决此类问题的方法。

2.2 强化学习的核心要素

强化学习系统包含三个核心要素:

  • 感知:感知环境状态;

  • 行动:采取动作影响状态;

  • 目标:最大化累积奖励。

在每一步 t:

  • 智能体获得观察 Ot​ 和奖励 Rt​,执行行动 At​;

  • 环境接收行动 At​,给出下一观察 Ot+1​ 和奖励 Rt+1​。

2.3 历史与状态

  • 历史:观察、行动和奖励的序列,Ht=O1,R1,A1,…,Ot,Rt;

  • 状态:用于确定接下来发生什么的信息,是历史的函数 St=f(Ht)。

  • 策略:从状态到行动的映射,分为确定性策略 a=π(s) 和随机策略 π(a∣s)=P(At=a∣St=s)。

  • 奖励:定义目标的标量函数 R(s,a)。

  • 价值函数:对未来累积奖励的预测,衡量“长期的好”。

  • 环境模型:预测下一状态 Pss′a和奖励 Rsa。

2.4 有监督/无监督学习 vs 强化学习

有监督/无监督学习的核心区别在于:前者的数据是固定的,而强化学习的数据来自智能体与动态环境的交互——不同的智能体会产生不同的交互数据。

三、多臂老虎机(Multi-Armed Bandit, MAB)

3.1 问题定义

多臂老虎机可以看作无状态(state-less)的强化学习。问题设定如下:

  • 动作集合 A={a1,a2,…,aK}(K根拉杆);

  • 每根拉杆对应一个奖励概率分布 R(r∣ai)=P(r∣ai);

  • 目标:最大化 T 步的累积奖励 ∑rt。

3.2 期望奖励的增量估计

Q_{n+1}(a^i) := Q_n(a^i) + \frac{1}{n}(r_n - Q_n)

这种增量更新方式的空间复杂度为 O(1),避免了每次累加所有历史数据。

3.3 Regret

设最优动作的期望奖励为 Q∗=maxQ(ai),单步regret为 R(ai)=Q∗−Q(ai)。总regret为:

\sigma_R = \mathbb{E}_{a \sim \pi}\left[\sum_{t=1}^T R(a_t^i)\right]

Lai & Robbins下界(理论最优):

\lim_{T \to \infty} \sigma_R \geq \log T \sum_{a \mid \Delta_a > 0} \frac{\Delta_a}{D_{KL}(\mathcal{R}(r \mid a) \parallel \mathcal{R}^*(r \mid a))}

即理论最优总懊悔为 O(log⁡T)——这也是衡量探索策略的理论基准。

四、马尔可夫决策过程(Markov Decision Process, MDP)

4.1 马尔可夫性质与马尔可夫链

  • 随机过程:随时间演变的随机现象(如天气变化、交通演变);

  • 马尔可夫性质:未来只依赖于当前状态,与历史无关,即 P[St+1∣St]=P[St+1∣S1,…,St];

  • 马尔可夫链(马尔可夫过程) :具有马尔可夫性质的随机过程,由状态集 S 和转移概率矩阵 PP完全描述。给定一个马尔可夫过程,可以从某个状态出发采样得到状态序列。

4.2 马尔可夫奖励过程(Markov Reward Process, MRP)

在马尔可夫链中加入奖励函数折扣因子

  • 奖励函数 r(s):转移到该状态时获得的奖励期望;

  • 折扣因子 γ∈[0,1]:接近1更关注长期奖励,接近0更关注短期奖励;

  • 回报 Gt:从 tt 时刻开始的累积折扣奖励:Gt=rt+1+γrt+2+γ2rt+3+…。

4.3 马尔可夫决策过程(MDP)五元组

(S,A,Psa,γ,R)

其中:

  • S:有限状态集合;

  • A:有限动作集合;

  • Psa​:状态转移概率,给定状态 s 和动作 a 后下一状态的概率分布;

  • γ:折扣因子;

  • R:奖励函数 R:S×A↦R。

MDP的动态:S0→a0,R(s0,a0)S1→a1,R(s1,a1)S2→a2,R(s2,a2)S3⋯ 总回报为 ∑γ^tR(st,at)。

4.4 价值函数

状态价值函数 Vπ(s)

V^{\pi}(s) = \mathbb{E}_{\pi}\left[ R(s_0) + \gamma R(s_1) + \gamma^2 R(s_2) + \dots \mid s_0 = s \right]

即从状态 s 出发,遵循策略 π 所能获得的期望累积奖励。

动作价值函数 Qπ(s,a)

Q^{\pi}(s, a) = \mathbb{E}_{\pi}\left[ R_{t+1} + \gamma R_{t+2} + \gamma^2 R_{t+3} + \dots \mid S_t = s, A_t = a \right]

即从状态 s 采取动作 a 后,遵循策略 π 的期望累积奖励。

4.5 贝尔曼方程

贝尔曼期望方程(对给定策略 π)

V^{\pi}(s) = R(s) + \gamma \sum_{s' \in S} P_{s\pi(s)}(s') V^{\pi}(s')

即当前状态的价值等于即时奖励加上折扣后的下一状态价值期望。类似地,对动作价值函数也有相应贝尔曼方程。

贝尔曼最优方程

V^{*}(s) = R(s) + \max_{a \in A} \gamma \sum_{s' \in S} P_{sa}(s') V^{*}(s')

\pi^{*}(s) = \arg \max_{a \in A} \sum_{s' \in S} P_{sa}(s') V^{*}(s')

最优策略 π∗保证 V∗(s)=Vπ∗(s)≥Vπ(s) 对所有策略 π 成立。

4.6 占用度量(Occupancy Measure)

\rho^{\pi}(s,a) = \mathbb{E}_{a\sim\pi(s), s'\sim p(s,a)}\left[ \sum_{t=0}^{T} \gamma^{t} p(s_t = s, a_t = a) \right]

占用度量衡量策略 π 在MDP中访问状态-动作对的加权频率。其关键性质是:

  • 给定同一MDP,不同策略采样出的 (s,a) 对分布不同;

  • 累积奖励可重写为V(\pi) = \sum_{s,a} \rho^{\pi}(s,a) R(s,a) = \mathbb{E}_{\pi}[R(s,a)]

  • 两个策略的占用度量相同当且仅当两个策略完全相同——这为策略比较与优化提供了理论支撑。

五、动态规划与最优策略求解

5.1 策略迭代(Policy Iteration)

策略迭代由两个步骤交替循环组成:

步骤1:策略评估 — 利用贝尔曼期望方程迭代计算当前策略 π 的状态价值函数:

V_{k+1}(s) = R(s) + \gamma \sum_{s' \in S} P_{s\pi(s)}(s') V_k(s')

循环直至 Vk​ 收敛(相邻两轮差异小于阈值)。

步骤2:策略提升 — 基于收敛的价值函数更新策略,在每个状态选择最大化动作价值的动作:

\pi'(s) = \arg \max_{a \in A} \sum_{s' \in S} P_{sa}(s') V^{\pi}(s')

不断重复上述步骤,策略会逐步提升,最终收敛到最优策略。

5.2 价值迭代(Value Iteration)

价值迭代将策略评估和策略提升合并为一步,直接使用贝尔曼最优方程更新价值函数:

V_{k+1}(s) = R(s) + \max_{a \in A} \gamma \sum_{s' \in S} P_{sa}(s') V_k(s')

  • 同步迭代:维护两份价值函数拷贝,全部更新后再同步;

  • 异步迭代:只维护一份,边遍历边更新(更高效)。

价值迭代中没有显式维护策略,而是通过最优贝尔曼方程隐式地朝着最优策略方向更新。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐