强化学习 Reinforcement Learning

发布时间 2023-04-12 02:06:59作者: 二球悬铃木

强化学习 Reinforcement Learning

强化学习是一种机器学习思想,其关心一个智能体如何采取行动以达到最大化激励回报。

基本的强化学习模型以马尔可夫决策过程建模。

马尔可夫决策过程 Markov Decision Process

系统要素

  • A 行动空间;
  • S状态空间;
  • \(P^a_{s's}=\mathbb{P}(S_{t+1}=s'|S_t=s, A_t=a)\) 状态转移函数(给定t时刻的状态和动作,t+1时刻的状态分布),在t时刻给定状态为s,动作为a,t+1时刻状态转移为s'的概率;
  • \(R_a(s',s)\) 即刻奖励函数,给定动作a,状态由s转移到s'所获得的即刻奖励(immediate reward)。

有时还包括衰减系数 \(\gamma\) ,值域[0,1],t时刻的价值函数被定义为对未来奖励的指数衰减加权和:

\[G_t=\sum_{k=0}^{\infty} \gamma^{k}r_{t+k}=r_t + \gamma r_{t+1} +\gamma^2 r_{t+2} +\cdots \]

,其中 \(r_t\) 是t时刻的即刻奖励。

关键概念

代理/智能体 Agent / intelligent agent

在环境中行动的虚拟代理,执行行为动作根据模型中的“策略”而定。

策略 Policy

策略,是根据环境的当前状态表明不同动作的概率。

\[\pi: A\times S \mapsto [0,1] \\ \pi(a,s)=\mathbb{P}(A_t=a|S_t=s) \]

奖励函数 Reward

状态价值函数 state value function

在一个给定策略 \(\pi\) 下,(在某个时刻)状态s的价值函数被定义为以s作为初始状态,以策略 \(\pi\) 推演出的收益G的期望。

\[V_\pi(s)=\mathbb{E}_{\tau\sim \mathbb{P}_\pi}\left[G|s_0=s; \pi\right]=\mathbb{E}_{\tau\sim \mathbb{P}_\pi}\left[\sum_{t=0}^{\infty}\gamma^t r_t(s,a) \bigg| s_0=s ; \pi\right] \]

,其中收益G是从此刻起未来所有即刻奖励的指数衰减加权和(discounted reward)(G之所以是随机变量是因策略 \(\pi\) 是随机过程,导致依赖于此的收益R也是随机变量):

\[G=\sum_{k=0}^{\infty} \gamma^k r_k \\ \begin{aligned} G_t &=\sum_{k=0}^{\infty}\gamma^k r_{t+k}=\sum_{k=0}^{\infty} \gamma^{k}r_{t+k}=r_t + \gamma r_{t+1} +\gamma^2 r_{t+2} +\cdots \\ &= r_{t+1}+\gamma G_{t+1} \end{aligned} \]

,其中 \(r_k\) 是相对R所处时刻(t)的未来第k个偏移时刻(即t+k时刻)的即刻奖励。

行动-状态 价值函数 state-action pair value function

\[Q_\pi (s, a)=\mathbb{E}_{\tau\sim \pi}\left[G| s_0=s, a_0=a; \pi \right] \]

优势函数 Advantage Function

行动价值与状态价值之差:

\[A_\pi(s,a) =Q_\pi (s,a) - V_\pi(s) \]

记号 \(A\) 在某些情况下存在歧义,可能值优势函数,也可能指行动(Action)。

Average Reward

累积奖励函数(策略优化目标函数)上的基本思想是:累积奖励是未来所有时刻奖励的平均和。

平均奖励函数:

\[G(\pi):=\lim_{N\to \infty}\mathbb{E}_{\tau\sim \mathbb{P}_\pi}\left[ \frac{1}{N} \sum_{t=0}^{N-1} r(s_t,a_t)\right]=\mathbb{E}_{s\sim d_\pi \atop a\sim\pi}[r(s,a)] \\ \\ V_\pi(s):=\mathbb{E}_{\tau\sim\mathbb{P}_\pi}\left[\sum_{t=0}^{\infty}(r(s_t,a_t)-\rho(\pi)) \bigg| s_0=s\right] \\ \\ Q_\pi(s,a):=\mathbb{E}_{\tau\sim\mathbb{P}_\pi}\left[\sum_{t=0}^{\infty}(r(s_t,a_t)-\rho(\pi)) \bigg| s_0=s, a_0=a\right] \\ \\ A_\pi(s,a) := Q_\pi(s,a)-V_\pi(s) \]

其中 \(d_\pi(s):=\lim_{N\to \infty} \frac{1}{N}\sum_{t=0}^{N-1}\mathbb{P}(s_t=s|\pi)=\lim_{t\to \infty}\mathbb{P}(s_t=s|\pi)\) 是策略 \(\pi\) 下状态的平稳分布。 \(\tau=(s_0, a_0, s_1, a_1,\dots)\) 是轨迹(关于行动-状态对的时序), \(\tau \sim \mathbb{P}_\pi\) 表示从策略 \(\pi\) 采样出的轨迹, \(s_0\sim \mathbb{P}, a_0\sim \pi(\cdot|s_0), a_t\sim \pi(\cdot|s_t), s_{t+1}\sim\mathbb{P}(\cdot|a_t, s_t)\)

Discounted Reward

累积奖励函数(策略优化目标函数)上的基本思想是:越远的未来时刻的预估奖励对当前策略优化影响越小(对预估累积奖励贡献越小)。

\(\gamma\in(0,1)\) , 衰减加权奖励函数:

\[G_\gamma(\pi):= \mathbb{E}_{\tau\sim \mathbb{P}_\pi}\left[\sum_{t=0}^\infty r(s_t,a_t)\right]=\frac{1}{1-\gamma}\mathbb{E}_{s\sim d_{\pi, \gamma}\atop a\sim \pi}\left[r(s,a)\right] \\ \begin{aligned} V_{\pi,\gamma}(s) & :=\mathbb{E}_{\tau\sim\mathbb{P}_\pi}\left[\sum_{t=0}^\infty \gamma^t r(s_t,a_t)\bigg| s_0=s \right] \\ &= \mathbb{E}_{a\sim\pi(\cdot|s)}\left[Q_{\pi,\gamma}(s,a)\right]=\sum_{a\in \mathcal{A}}\pi(a|s)Q_{\pi,\gamma}(s,a) \end{aligned} \\ Q_{\pi,\gamma} (s,a):=\mathbb{E}_{\tau\sim\mathbb{P}_\pi}\left[\sum_{t=0}^\infty \gamma^t r(s_t,a_t)\bigg| s_0=s, a_0=a \right] \\ A_{\pi, \gamma}=Q_{\pi, \gamma}(s,a)-V_{\pi, \gamma}(s) \]

Discounted Reward 与 Average Reward的关系:
\(\gamma\to 1\) 时, \(\rho_{\pi,\gamma}\to \rho(\pi)\) ,即Average Reward可以认为是Discounted Reward思想在 \(\gamma=1\) 时的特殊情况。

Disounted Reward的另一种特殊情况 \(\gamma=0\) ,相当于不利用未来奖励信息,仅用当前的。

References:

策略类型 on-policy / off-policy

策略梯度 Policy Gradient

策略梯度是解决强化学习中梯度计算困难的一种方法。

\[\begin{aligned} \nabla_\theta J(\theta) &:= \nabla_\theta \sum_{s\in S}d_\pi(s) \sum_{a\in A}Q_\pi(s,a) \pi_\theta (a|s) \\ &=\nabla_\theta \mathbb{E}_{s\sim d_\pi \atop a\sim \pi} \left[ Q_\pi(s,a) \right] = \nabla_\theta \mathbb{E}_{s\sim d_\pi} \left[V_\pi(s)\right] \\ &\propto \sum_{s\in S}d_\pi(s) \sum_{a\in A}Q_\pi(s,a) \nabla_\theta \pi_\theta (a|s) \\ &= \sum_{s\in S}d_\pi(s) \sum_{a\in A}Q_\pi(s,a)\pi_\theta(a|s) \nabla_\theta \ln \pi_\theta (a|s) \\ &= \mathbb{E}_{s\sim d_\pi \atop a\sim \pi}[\nabla_\theta \ln \pi_\theta(a|s)] \\ &= \mathbb{E_{\tau\sim\mathbb{P}_\pi}} [G_t\nabla_\theta \ln \pi_\theta(a_t|s_t)] = \mathbb{E_{\tau\sim\mathbb{P}_\pi}} \left[G_t \frac{\nabla_\theta \pi_\theta(a_t|s_t)}{\pi_\theta(a_t|s_t)}\right] \end{aligned} \]

上述“正比于( \(\propto\) )”的证明详见书籍 Sutton&Barto 2020, Reinforcement Learning: An Introduction

梯度更新策略(由于要最大化而非最小化目标函数,故应采用梯度上升而非下降):

\[\theta_{t+1} \leftarrow \theta_t + \alpha G_t \frac{\nabla_\theta \pi_\theta(a_t|s_t)}{\pi_\theta(a_t|s_t)} \]

,其中 \(\alpha\) 为学习率。

时常会使用一个变体,其在 \(G_t\) 上减去一个基线值,以减少梯度估计的方差。

Q-Learning

函数Q并非已知计算式,而是用学习的方式来拟合。

Deep Q-learning Network, DQN

用深度神经网络学习Q函数。

GAE, Generalized Avantage Estimator

被用于策略梯度。

\[\hat A^{GAE(\gamma, \lambda)} := \sum_{k=0}^\infty (\gamma\lambda)^k \delta_{t+k}^V = \sum_{k=0}^\infty (\gamma\lambda)^k (r_{t+k} + V(s_{t+k+1})- V(s_{t+k})) \]

具有性质:
*


References:

  • Sutton & Barto 2020, Reinforcement Learning: An Introduction.