本文首发于:行者 AI
强化学习(Reinforcement Learning,RL),也叫加强学习,是指一类从(与环境)交互中一直学习的问题以及解决这类问题的办法。强化学习问题能够形容为一个智能体从与环境的交互中一直学习以实现特定指标(比方获得最大处分值)。和深度学习相似,强化学习中的关键问题也是贡献度调配问题[1],每一个动作并不能间接失去监督信息,须要通过整个模型的最终监督信息(处分)失去,并且有肯定的延时性。
本文首先通过简介强化学习基于策略函数的学习办法引出策略梯度,接着通过一般化的公式推论失去策略梯度的最优表达式,最初在排序不等式的视角下解读策略梯度的最优表达式。次要概括为以下两个局部:
- 策略梯度的最优表达式推导
- 排序不等式下的策略梯度
1. 策略梯度
智能体的策略(Policy)就是智能体如何依据环境状态 ? 来决定下一步的动作 ?,通常能够分为确定性策略(Deterministic Policy)和随机性策略(Stochastic Policy)两种:
- 确定性策略是从状态空间到动作空间的映射函数:
$$\pi: \mathcal{S} \rightarrow \mathcal{A}$$ - 随机性策略示意在给定环境状态时,智能体抉择某个动作的概率分布:
$$\pi(a \mid s) \triangleq p(a \mid s)$$
$$\sum_{a \in \mathcal{A}} \pi(a \mid s)=1$$
通常状况下,强化学习个别应用随机性策略。随机性策略能够有很多长处:一是在学习时能够通过引入肯定随机性更好地摸索环境;二是随机性策略的动作具备多样性,这一点在多个智能体博弈时也十分重要。采纳确定性策略的智能体总是对同样的环境做出雷同的动作,会导致它的策略很容易被对手预测。
一般来讲,基于值函数的学习办法实质是一种确定性策略;而学习一个策略 $\pi_{\theta}(a \mid s)$ 来最大化冀望回报的办法实质是一种随机性策略。这种办法也称为策略搜寻(Policy Search)。策略搜寻实质是一个优化问题,能够分为基于 梯度优化 和无梯度优化。策略搜寻和基于值函数的办法相比,策略搜寻能够不须要值函数,间接优化策略。参数化的策略可能解决间断状态和动作,能够间接学出随机性策略。
策略梯度(Policy Gradient)就是一种基于梯度优化的强化学习办法。假如 $\pi_{\theta}(a \mid s)$ 是一个对于 $\theta$ 的间断可微函数,咱们能够用梯度回升的办法来优化参数 $\theta$ 使得指标函数 $\mathcal{J}(\theta)$ 最大。
指标函数 $\mathcal{J}(\theta)$ 对于策略参数 $\theta$ 的导数为:
$$
\begin{aligned}
\frac{\partial \mathcal{J}(\theta)}{\partial \theta} &=\frac{\partial}{\partial \theta} \int p_{\theta}(\tau) G(\tau) \mathrm{d} \tau \\
&=\int\left(\frac{\partial}{\partial \theta} p_{\theta}(\tau)\right) G(\tau) \mathrm{d} \tau \\
&=\int p_{\theta}(\tau)\left(\frac{1}{p_{\theta}(\tau)} \frac{\partial}{\partial \theta} p_{\theta}(\tau)\right) G(\tau) \mathrm{d} \tau \\
&=\int p_{\theta}(\tau)\left(\frac{\partial}{\partial \theta} \log p_{\theta}(\tau)\right) G(\tau) \mathrm{d} \tau \\
&=\mathbb{E}_{\tau \sim p_{\theta}(\tau)}\left[\frac{\partial}{\partial \theta} \log p_{\theta}(\tau) G(\tau)\right]
\end{aligned}
$$
其中 $\frac{\partial}{\partial \theta} \log p_{\theta}(\tau)$ 为函数 $\log p_{\theta}(\tau)$ 对于 $\theta$ 的偏导数。从最终的式子中能够看出,参数 $\theta$ 优化的方向是使得总回报 $G(\tau)$ 越大的轨迹 $\tau$ 的概率 $p_{\theta}(\tau)$ 也越大。
其中,$\frac{\partial}{\partial \theta} \log p_{\theta}(\tau)$ 能够进一步合成为:
$$
\begin{aligned}
\frac{\partial}{\partial \theta} & \log p_{\theta}(\tau)=\frac{\partial}{\partial \theta} \log \left(p\left(s_{0}\right) \prod_{t=0}^{T-1} \pi_{\theta}\left(a_{t} \mid s_{t}\right) p\left(s_{t+1} \mid s_{t}, a_{t}\right)\right) \\
&=\frac{\partial}{\partial \theta}\left(\log p\left(s_{0}\right)+\sum_{t=0}^{T-1} \log \pi_{\theta}\left(a_{t} \mid s_{t}\right)+\sum_{t=0}^{T-1} \log p\left(s_{t+1} \mid s_{t}, a_{t}\right)\right) \\
&=\sum_{t=0}^{T-1} \frac{\partial}{\partial \theta} \log \pi_{\theta}\left(a_{t} \mid s_{t}\right)
\end{aligned}
$$
能够看出,$\frac{\partial}{\partial \theta} \log p_{\theta}(\tau)$ 和状态转移概率无关,只和策略函数相干。
因而,策略梯度 $\frac{\partial \partial(\theta)}{\partial \theta}$ 能够简写为:
$$
\frac{\partial \mathcal{J}(\theta)}{\partial \theta}=\mathbb{E}_{\tau \sim p_{\theta}(\tau)} [\nabla_{\theta} \log \pi_{\theta}\left(a_{t} \mid s_{t}\right)G(\tau)]
$$
其中,$\tau$ 为策略序列,简略了解为状态和动作的上下文序列;$\tau$ 满足参数 $\theta$ 下的状态转移概率;$G(\tau)$ 是在策略 $\tau$ 下的总回报。
2. 排序不等式下的策略梯度
排序不等式 是数学上的一种不等式。它能够推导出很多有名的不等式,例如:算术几何平均不等式(简称算几不等式)、柯西不等式、切比雪夫总和不等式。排序不等式(sequence inequality,又称排序原理)是高中数学比赛纲要、新课标普通高中课程标准试验教科书(人民教育出版社)数学(选修 4 - 5 第三讲第三节)要求的根本不等式。[2]
排序不等式 内容为:排序不等式表述如下,设有两组数 $a 1, a 2, \ldots \cdots \cdot a_{n}$ 和 $\mathrm{b}_{1}, \mathrm{b}_{2}, \ldots \ldots \mathrm{b}_{n}$,满足 $a_{1} \leq a_{2} \leq \ldots \ldots \leq a_{n}$,$b_{1} \leq b_{2} \leq \ldots \ldots \leq b_{n}$,$c_{1} \leq c_{2} \leq \ldots \ldots \leq c_{n}$ 是 $\mathrm{b}_{1}, \mathrm{b}_{2}, \ldots \ldots \mathrm{b}_{n}$ 的乱序排列,则有 $\left(a_{1} b_{n}+a_{2} b_{n-1}+\ldots \ldots+a_{n} b_{1} \leq a_{1} c_{1}+a_{2} c_{2}+\ldots \ldots+a_{n} c_{n} \leq a_{1} b_{1}+a_{2} b_{2}+\ldots \ldots+a_{n} b_{n}\right.$,
当且仅当 $a_{1}=a_{2}=\ldots \ldots=a_{n}$ 或 $b_{1}=b_{2}=\ldots \ldots=b_{n}$ 时等号成立。
个别为了便于记忆,常记为:反序积和 ≤ 乱序积和 ≤ 程序积和。(证实过程见参考[2])
因而,对于策略梯度 $\frac{\partial \partial(\theta)}{\partial \theta}$:
$$
\frac{\partial \mathcal{J}(\theta)}{\partial \theta}=\mathbb{E}_{\tau \sim p_{\theta}(\tau)} [\nabla_{\theta} \log \pi_{\theta}\left(a_{t} \mid s_{t}\right)G(\tau)] = \mathbb{E}_{\tau \sim p_{\theta}(\tau)}\left[\frac{\partial}{\partial \theta} \log p_{\theta}(\tau) G(\tau)\right]
$$
函数 $\log p_{\theta}(\tau)$ 对于 $\theta$ 的偏导数 $\frac{\partial}{\partial \theta} \log p_{\theta}(\tau)$ 是长度为 len($\tau$)(示意策略 $\tau$ 的长度)的序列,同时 $G(\tau)$ 也是同长度的序列。对于强化学习来讲,是要 最大化策略梯度 用以 最大化回报。
那么对于 $\frac{\partial}{\partial \theta} \log p_{\theta}(\tau)$ 和 $G(\tau)$ 这两个序列的加权积和,何时才是最大的呢?依据排序不等式可得:当 $\frac{\partial}{\partial \theta} \log p_{\theta}(\tau)$ 和 $G(\tau)$ 同序时,策略梯度最大。 同序意味着:如果以后时刻策略网络 $\pi_{\theta}\left(a_{t} \mid s_{t}\right)$ 的最大概率输入动作为 $a_{t}$,那么以后动作 $a_{t}$ 同时能取得最大回报 $G(\tau[t])$。这合乎咱们对于策略网络的冀望,即 咱们心愿策略网络输入的 action 每时刻都能使咱们设置的 reward 最大。
3. 参考
[1] 邱锡鹏《NNDL》
[2] 百度百科