强化学习笔记(二)贝尔曼公式

前言

近两年AIGC模型均在SFT之后,进行强化学习的微调,并逐渐成为主流范式,因此,记录一下学习强化学习的笔记,以供回顾。本笔记参考https://www.bilibili.com/video/BV1sd4y167NS
强化学习笔记(一)基本概念中,我们定义了几个基本概念,本文沿着这些概念出发,给出了贝尔曼公式(Bellman equation)。

state value

考虑如下的单步过程:

\[ S_{t} \xrightarrow{A_{t}} R_{t+1}, S_{t+1} \]

其中,\(t, t+1\)为离散时刻, \(S_{t}\)\(t\)时刻的state,\(A_{t}\)\(S_{t}\)时的action,\(R_{t+1}\)\(t+1\)时刻的reward,\(S_{t+1}\)\(t+1\)时刻的state。\(S_{t}, A_{t}, R_{t}\)均为随机变量。

\(S_{t} \rightarrow A_{t}\)由policy \(\pi(A_{t}=a|S_{t}=s)\)决定;
\(S_{t}, A_{t} \rightarrow R_{t+1}\)由reward probability \(p(R_{t+1}=r|S_{t}=s, A_{t}=a)\)决定;
\(S_{t}, A_{t} \rightarrow S_{t+1}\)由state transition probability \(p(S_{t+1}=s'|S_{t}=s, A_{t}=a)\)决定。

将上述单步过程扩展到多步过程:

\[ S_{t} \xrightarrow{A_{t}} R_{t+1}, S_{t+1} \xrightarrow{A_{t+1}} R_{t+2}, S_{t+2} \rightarrow \dots \]

其discounted return为

\[G_{t} = R_{t+1} + \gamma R_{t+2} + \gamma^{2}R_{t+3} + \dots \]

discount rate \(\gamma \in (0, 1)\)\(G_{t}\)为随机变量。

\(G_{t}\)的期望称为为state value function,简称为state value:

\[v_{\pi}(s)=\mathbb{E}[G_{t}|S_{t}=s] \]

  1. state value为s的函数。
  2. state value基于policy \(\pi\),对于不同的policy,state value可能不同。
  3. 更大的state value对应着更好的策略。
  4. state value代表智能体从某一个state s出发,获得的平均return。

Bellman equation

考虑到如下random trajectory

\[ S_{t} \xrightarrow{A_{t}} R_{t+1}, S_{t+1} \xrightarrow{A_{t+1}} R_{t+2}, S_{t+2} \rightarrow \dots \]

其discounted return为

\[\begin{align} G_{t} &= R_{t+1} + \gamma R_{t+2} + \gamma^{2} R_{t+3} + \dots \notag\\ &= R_{t+1} + \gamma G_{t+1} \notag \end{align} \]

其中,\(R_{t+1}\)表示状态由\(S_{t}\)转移到\(S_{t+1}\)后立刻获得的reward,\(G_{t+1}\)表示\(S_{t}\)转移到\(S_{t+1}\)后未来将会获得的return。对应的state value为

\[\begin{align} v_{\pi}(s) &= \mathbb{E}[G_{t}|S_{t}=s] \notag \\ &= \mathbb{E}[R_{t+1}|S_{t}=s] + \gamma\mathbb{E}[G_{t+1}|S_{t}=s] \notag \\ \end{align} \tag{eq.1} \label{eq.1} \]

其中

\[\begin{align} \mathbb{E}[R_{t+1}|S_{t}=s] &= \sum_{a}\pi(a|s) \mathbb{E}[R_{t+1}|S_{t}=s, A_{t} =a] \notag\\ &= \sum_{a}\pi(a|s)\sum_{r}rp(r|s, a) \notag \end{align} \tag{eq.2} \label{eq.2} \]

\[\begin{align} \mathbb{E}[G_{t+1}|S_{t}=s] &= \sum_{s'}\mathbb{E}[G_{t+1}|S_{t+1}=s', S_{t}=s]p(s'|s) \notag \\ &= \sum_{s'}v_{\pi}(s')\sum_{a}p(s'|s, a)\pi(a|s) \notag \\ \end{align} \tag{eq.3} \label{eq.3} \]

将\ref{eq.2}和\ref{eq.3}带入\ref{eq.1}可得

\[\begin{align} v_{\pi}(s) &= \mathbb{E}[G_{t}|S_{t}=s] \notag \\ &= \mathbb{E}[R_{t+1}|S_{t}=s] + \gamma \mathbb{E}[G_{t+1}|S_{t}=s] \notag \\ &= \sum_{a}\pi(a|s)\sum_{r}rp(r|s, a) + \gamma \sum_{s'}v_{\pi}(s')\sum_{a}p(s'|s, a)\pi(a|s) \notag \\ &= \sum_{a}\pi(a|s) [\sum_{r}rp(r|s, a)+\gamma \sum_{s'}p(s'|s, a)v_{\pi}(s')] \notag \\ \end{align} \tag{eq.4} \label{eq.4} \]

上式即为Bellman equation。

Matrix-vector form of Bellman equation

为了更好地求解Bellman equation,我们将其转化为矩阵形式,定义
\(r_{\pi}(s) = \sum_{a}\pi(a|s)\sum_{r}rp(r|s, a)\)\(p_{\pi}(s'|s)=\sum_{a}p(s'|s, a)\pi(a|s)\)。假设存在\(n\)个state,对于任意state \(s_{i}\),其Bellman equation为

\[\begin{align} v_{\pi}(s_{i})=r_{\pi}(s_{i})+\gamma\sum_{s_{j}}p_{\pi}(s_{j}|s_{i})v_{\pi}(s_{j}) \notag\\ \end{align} \tag{eq.5} \label{eq.5} \]

定义:

\[v_{\pi} = [v_{\pi}(s_{1}), v_{\pi}(s_{2}), \dots, v_{\pi}(s_{n})]^{T} \in \mathbb{R}^{n} \]

\[r_{\pi} = [r_{\pi}(s_{1}), r_{\pi}(s_{2}), \dots, r_{\pi}(s_{n})]^{T} \in \mathbb{R}^{n} \]

\[[P_{\pi}]_{i, j} = p_{\pi}(s_{j}|s_{i}) \in \mathbb{R}^{n \times n} \]

\ref{eq.5}可以改写为如下的矩阵向量形式

\[\begin{align} v_{\pi} = r_{\pi} + \gamma P_{\pi} v_{\pi} \notag \\ \end{align} \tag{eq.6} \label{eq.6} \]

求解Bellman equation

  1. 解析法
    \(r_{\pi}, \gamma, P_{\pi}\)已知时,\ref{eq.6}存在解析解

\[v_{\pi} = (I - \gamma P_{\pi})^{-1}r_{\pi} \]

  1. 迭代法
    在实际应用中,state space通常比较大,进而矩阵\(P_{\pi}\)的维度比较大,往往不容易求逆。
    可以通过迭代法进行求解。首先,初始化\(v_{0}\),并且通过\(v_{k+1} = r_{\pi} + \gamma P_{\pi}v_{k}\)不断进行迭代,当\(k \rightarrow \infty\)时,\(v_{k} \rightarrow v_{\pi}\)

证明过程如下
\(\delta_{k}=v_{k} - v_{\pi} = \gamma P_{\pi}(v_{k-1} - v_{\pi}) = \gamma P_{\pi} \delta_{k-1}=\dots=\gamma^{k} P_{\pi}^{k}\delta_{0}\),当\(k \rightarrow \infty\)\(r^{k} \rightarrow 0\)\(P_{\pi}^{k}\)的元素小于1,因此,序列\(\{v_{k}\}\)收敛,且收敛至\(v_{\pi}\)

action value

action value指的是智能体从state s出发,并且执行action a后获得的平均return。

\[\begin{align} q_{\pi}(s, a) &= \mathbb{E}[G_{t}|S_{t}=s, A_{t}=a] \notag \\ &= E[R_{t}|S_{t}=s, A_{t}=a] + \gamma \mathbb{E}[G_{t+1} | S_{t}=s, A_{t}=a] \notag \\ &= \sum_{r}rp(r|s, a) + \gamma \sum_{s'}p(s'|s, a)v_{\pi}(s') \notag \\ \end{align} \tag{eq.7} \label{eq.7} \]

action value也可以通过以下公式推导出state value:

\[\begin{align} v_{\pi}(s) = \mathbb{E}[G_{t}|S_{t}=s] = \sum_{a} \mathbb{E}[G_{t}|S_{t}=s, A_{t}=a]\pi(a|s)=\sum_{a}q_{\pi}(s, a)\pi(a|s) \notag \\ \end{align} \tag{eq.8} \label{eq.8} \]

posted @ 2025-07-18 18:13  久逺61  阅读(28)  评论(0)    收藏  举报