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

强化学习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\) 的价值函数。即 \(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)\) 的期望,因此可以对 \(Q\) 取期望就能得到 \(V\)

\[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^*(s)=\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) \]

从另一个角度理解,将 \(Q\)\(V\) 的关系带入 \(V^*(s)\) 中,可得

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

容易看出,与上面带 \(\pi(a|s)\)\(V(s)\) 相比,这里的最优策略 \(\pi^*\) 其实每次都是直接选取了效益最大的动作 \(a^*\),这倒有些贪心的意味,即

\[\pi^*(a|s)=\begin{cases}1, &if\ a=a^*\\0,&else \end{cases} \]

但实际上我们并不能实现真正的“贪心”,这是由于价值函数本身并不是单步性质的,其“reception field”是一个以 \(s\) 为初始状态的 Trajectory。

posted @ 2023-07-13 16:03  tsyhahaha  阅读(278)  评论(0)    收藏  举报