强化学习Chapter2——优化目标(2)

发布时间 2023-07-13 16:11:02作者: tsyhahaha

强化学习Chapter2——优化目标(2)

上文推导出强化学习的一般性目标,即不做确定性假设下的优化目标,得到了下面两个式子:

\[P(\tau|\pi)=\rho_0(s_0)\prod^{T-1}_{t=0} P(s_{t+1}|s_t,a_t)\pi(a_t|s_t)\\ J(\pi)=\int_\tau P(\tau|\pi)R(\tau)=E_{\tau\sim\pi}[R(\tau)] \]

我们的目标就是学习最优策略:

\[\pi^*=\arg \max_\pi J(\pi) \]

价值函数

上文仅对 \(P(\tau|\pi)\) 做出了详细的推导,但是没有涉及 \(R(\tau)\) 的计算,为了衡量回报,本节将介绍几个相关的价值函数。所谓价值函数,其实只是将价值看成状态 \(s\) 或者动作 \(a\) 等变量的函数罢了,这都是为了便于衡量回报。

1、State-Value Function \(V^{\pi}(s)\)

\[V^{\pi}(s)=E_{\tau\sim\pi}[R(\tau)|s_0=s] \]

显然,这个函数是一个关于状态 \(s\) 的价值函数,可以将其于我们的目标比较,不难看出,只是将初始状态 \(s_0\) 当作一个变量而已。即 \(V^{\pi}(s)\) 的含义是,按照一个固定的策略从 s 状态出发的 trajectories 的回报的期望,将其定义为状态 s 的价值

2、Action-Value Function \(Q^{\pi}(s,a)\)

\[Q^{\pi}(s,a)=E_{\tau\sim\pi}[R(\tau)|s_0=s,a_0=a] \]

参考状态价值函数,动作价值函数就好理解得多。不过是多添加了一个变量,即初始状态与初始动作,由此可以衡量该动作的价值。容易想到的是,动作价值函数只比状态价值函数多一个变量 \(a_0\),且是同一变量 \(R(\tau)\) 的期望,因此可以对 V 取期望就能得到 Q。

\[V^\pi(s)=E_{a\sim\pi}[Q^\pi(s,a)] \]

由于等号左边只是 s 的函数,因此需要通过策略来表示等号右边的 a,根据期望的定义可以得出:

\[V^\pi(s)=\sum_{a}\pi(a|s)Q^\pi(s,a) \]

事实上,也可以用 \(V\) 来表示 \(Q\),这是通过分析单步状态迁移得到的。从某个状态 v,选择动作 a,首先会立即得到一个 Reword(用 \(r(s,a)\) 表示),然后会迁移到下一个状态 \(s'\)。所以 \(Q(s,a)\) 应当等于即时奖励 + 下一状态的 state-value。

\[Q^\pi(s,a)=r(s,a)+\gamma\sum_{s'}P(s'|s,a)V^\pi(s') \]

这里涉及上一节的假设,即给定 \(s\)\(a\) 迁移到下一状态 \(s'\),这是一个概率事件(为了普适性)。除此之外,这里采用的 Return 定义是带遗忘因子的回报。

状态价值函数 V 与动作价值函数 Q 之间的等式关系,是推导贝尔曼方程的关键所在。

3、Optimal State-Value Function \(V^*(s)\) and Optimal Action-Value Function \(Q^*(s,a)\)

\[V^*=\max_{\pi} E_{\tau\sim\pi}[R(\tau)|s_0=s]\\ Q^*(s,a) = \max_{\pi} E_{\tau\sim\pi}[R(\tau)|s_0=s, a_0=a] \]

这两个式子只是将上面一般形式加上对策略 \(\pi\) 的限制而已。此处的策略,应当是最优策略。但要知道的是,当状态价值或动作价值取最优时,对应的最优策略不唯一,这也是式子中不直接写 \(\pi^*\) 的原因。若考虑这二者之间的关系,则可以得出下面的式子:

\[V^*(s)=\max_a Q^*(s,a) \]

这个式子告诉我们,如果对特定的开始状态 s,若要使其价值最大,则只需选择使 \(Q\) 最大的动作 a 即可(当然可能存在多个),这为我们构建策略提供了方便:

\[a^*(s)=\arg \max_aQ^*(s,a) \]