强化学习关键概念

April 21, 2019 · View on GitHub

强化学习通常用来突破一些AI问题,比如下围棋的AlphaGoDota人机大战。

强化学习的两个主要角色就是agent和environment. environment是和agent存在的场所并和agent交互。每一次交互,agent都会收到一个environment的观察值, 然后决定怎么做。当agent做出响应后,环境跟着改变, 同时也可能改变它自己。

agent同时也会从evironment收到一个奖励值, 这个奖励值表明当前的environment有多好或者有多坏。agent的目标就是最大化累计的奖励。强化学习就是agent学习获取最大化回报的学习方法。

谈到强化学习,必须介绍几个相关概念:

  • 状态和观测值
  • 动作空间
  • 策略
  • trajectories
  • different formulations of return,
  • 强化学习问题
  • 价值函数

状态和观测值

状态是环境信息的完整描述。没有状态不包含的环境信息。

观测值是部分环境信息,部分信息可能不包含在观测值中。

动作空间

不同的enironment可以有不同的动作,所有可以施加到environment的动作构成动作空间。

有些动作空间是连续的,有些动作空间是离散的。

策略

策略是agent采取动作的规则,可以是确定,表示为:

at=μ(st)a_t=\mu(s_t)

如果是随机的,一般表示为:

at=π(.st)a_t=\pi(.|s_t)

强化学习中我们一般处理参数化的策略。策略的输出是一些包含参数的可计算函数, 我们通过优化算法来调整这些参数,从而改变agent的行为。这时我们通常表示为下边公式:

at=μθ(st)a_t=\mu_\theta(s_t)

at=πθ(.st)a_t=\pi_|\theta(.|s_t)

确定策略

obs = tf.placeholder(shape=(None, obs_dim), dtype=tf.float32)
net = mlp(obs, hidden_dims=(64,64), activation=tf.tanh)
actions = tf.layers.dense(net, units=act_dim, activation=None)

随机策略

随机策略通常分为两大类:类别策略和斜角高斯策略。

类别策略通常用在离散动作空间,斜角高斯策略通常用在连续动作空间。

无论哪种策略,下边两种计算都是十分重要:

  • 从策略中采样动作
  • 计算动作之间的相似度, logπθ(as)log\pi_\theta(a|s)

trajectories

一系列状态和动作集合:

τ=(s0,a0,s1,a1,.....)\tau =(s_0,a_0,s_1,a_1,.....)

奖励和回报

奖励和回报对于强化学习十分重要,它由当前环境的状态,刚才采取的动作和环境的下一个状态来决定。

rt=R(st,at,st+1)r_t=R(s_t,a_t,s_{t+1})

强化学习问题

选择一个策略来最大化期望回报。

一个T步的策略轨迹可以表示为:

P(τπ)=ρ0(s0)t=0T1P(st+1st,at)π(atst))P(\tau|\pi)=\rho_0(s_0)\prod_{t=0}^{T-1} P(s_{t+1}|s_t,a_t)\pi(a_t|s_t))

回报表示为:

J(π)=τP(τπ)R(τ)=ETπ[R(τ)]J(\pi)=\int_{\tau}^{} P(\tau|\pi)R(\tau)=E_{T\sim \pi}[R(\tau)]

强化学习问题可以表示为:

π=argmaxπJ(π)\pi^*=arg max_\pi J(\pi)

π\pi^*是优化策略。

价值函数

通常有4中价值函数:

  1. on-policy价值函数,从状态s开始,一直使用策略π\pi. Vπ(s)=Eτπ[R(τ)s0=s]V^\pi(s)=E_{\tau\sim\pi}[R(\tau)|s_0=s]
  2. on-policy 动作价值函数, 从状态s开始,采用一个动作a,然后之后开始按照策略执行动作。 Qπ(s,a)=Eτπ[R(τ)s0=s,a0=a]Q^\pi(s,a)=E_{\tau\sim\pi}[R(\tau)|s_0=s,a_0=a]
  3. 优化价值函数,从s开始一直使用优化的策略。 V(s)=maxπEτπ[R(τ)s0=s]V^*(s)=max_\pi E_{\tau\sim\pi}[R(\tau)|s_0=s]
  4. 优化动作价值函数,从s开始,采取动作a,之后一直采取最优化策略动作。 Q(s,a)=maxπEτπ[R(τ)s0=s,a0=a]Q^*(s,a)=max_\pi E_{\tau\sim\pi}[R(\tau)|s_0=s,a_0=a]

$$$$$$$$

$$$$

$$$$

强化学习因其注重agent在与环境的直接交互中进行学习而有别于其他学习方


增强学习的三大类

  • 基于策略的增强学习 Policy Gradients
  • 基于最优值的增强学习 Q learning Sarsa Deep Q network
  • 基于模型的增强学习: model based RL

A2C / A3C(Asynchronous Advantage Actor-Critic): Mnih et al, 2016
PPO(Proximal Policy Optimization): Schulman et al, 2017
TRPO(Trust Region Policy Optimization): Schulman et al, 2015
DDPG(Deep Deterministic Policy Gradient): Lillicrap et al, 2015
TD3(Twin Delayed DDPG): Fujimoto et al, 2018
SAC(Soft Actor-Critic): Haarnoja et al, 2018
DQN(Deep Q-Networks): Mnih et al, 2013
C51(Categorical 51-Atom DQN): Bellemare et al, 2017
QR-DQN(Quantile Regression DQN): Dabney et al, 2017
HER(Hindsight Experience Replay): Andrychowicz et al, 2017
World Models: Ha and Schmidhuber, 2018
I2A(Imagination-Augmented Agents): Weber et al, 2017
MBMF(Model-Based RL with Model-Free Fine-Tuning): Nagabandi et al, 2017
MBVE(Model-Based Value Expansion): Feinberg et al, 2018
AlphaZero: Silver et al, 2017