[RL Notes] 学习参数化策略
Contents
1. 直接学习策略
前面介绍的学习策略的方法都需要先学习动作价值函数,基于广义策略迭代来改善策略。学习策略的另一种方法是通过函数逼近来表示和学习参数化的策略,此时价值函数可以用于学习策略的参数,但其对于动作选择就不是必需的了。
在参数化策略中,使用 $\boldsymbol{\mathrm{\theta}} \in \mathbb{R}^{d’}$ 表示策略的参数向量,把在 $t$ 时刻、状态 $t$ 和参数 $\boldsymbol{\mathrm{\theta}}$ 下选择动作 $a$ 的概率记做
\begin{equation}
\pi(a|s, \boldsymbol{\mathrm{\theta}}) = \Pr\{A_t = a|S_t = s, \boldsymbol{\mathrm{\theta}}_t = \boldsymbol{\mathrm{\theta}}\} \tag{1}
\end{equation}
为了能够生成有效的策略,参数化策略函数是一个概率分布,即需要满足
\begin{equation}
\pi(a|s, \boldsymbol{\mathrm{\theta}}) \geq 0 \quad 对所有 \; a \in \mathcal{A} \;和\; s \in \mathcal{S} \\
\sum_{a \in \mathcal{A}} \pi(a|s, \boldsymbol{\mathrm{\theta}}) = 1 \quad 对所有 \; s \in \mathcal{S}
\end{equation}
由于上述限制,我们需要使用一些特定的函数来构造策略。一种简单有效的方式是使用柔性最大化(softmax)函数构造参数化策略
\begin{equation}
\pi(a|s, \boldsymbol{\mathrm{\theta}}) \doteq \frac{e^{h(s, a, \boldsymbol{\mathrm{\theta}})}}{\sum\limits_{b \in \mathcal{A} } e^{h(s, b, \boldsymbol{\mathrm{\theta}})}} \tag{2}
\end{equation}
上式表示的策略称为动作偏好值的柔性最大化,其中 $h(s, a, \boldsymbol{\mathrm{\theta}})$ 是动作偏好,对于状态 $s$ 和动作 $a$,$h(s, a, \boldsymbol{\mathrm{\theta}})$ 越大表示在状态 $s$ 选择动作 $a$ 的可能性越高。
2. 策略参数化的优势
参数化的策略的一个优势是智能体可以自动地让策略随时间的流逝而变得越来越贪心。
在学习的初始阶段,对价值的估计还不准确,因此我们希望智能体能够更多地进行试探。随着价值估计越来越准确,智能体应该变得越来越贪心。$\varepsilon$-贪心策略始终以一个小概率 $\varepsilon$ 随机地选择动作,这可以保证持续的试探,但也限制了策略的性能上限。一种改进方法是,在智能体进行了充分地探索之后,切换到贪心策略,但这需要人工参与。
对于参数化的策略,在学习初始阶段,策略比较随机,可以进行更多的试探。随着学习的进行,策略会自然地向着贪心策略收敛。例如对于式 $(2)$ 的策略,在学习过程中,较优动作的偏好会越来越大,选择的该动作的概率也随之增长。
参数化的策略的另一个优势是可以以任意的概率来选择动作。
对于表格型的方法,总有一个确定性的最优策略,而在一些问题中,由于信息不足等原因,最好的近似策略可能是一个随机策略。例如在非完全信息的纸牌游戏中,最优策略可能是以特定的概率选择两种不同的玩法。