一、行为克隆概念

行为克隆属于模仿学习中的方法,不是强化学习。

强化学习:从环境给出的奖励中进行监督;
模仿学习:从人类动作经验中监督
区分两者主要在于,模仿学习没有奖励回报,知识模仿专家动作。

二、行为克隆过程

  1. 观测当前状态 $s_t$
  2. 策略网络做出预测 $p_t$
  3. 专家的动作是 $a_t^*$,向量化从而得到 $y_t$
  4. 计算损失 CrossEntropy($y_t,p_t$)
  5. 使用梯度下降来更新策略网络

三、行为克隆的优势与不足

如果当前的状态出现在训练数据中,则可以根据行为克隆训练得到的策略网络,执行类似于人类专家的动作。

但是如果当前状态没有出现在训练数据中,那么策略网络输出的动作可能不会很好,而且错误会累加。这种情况尤其出现在状态极为复杂的情况下。

一、模仿学习简介

模仿学习是让智能体从专家示例中学习,从而像人类专家一样能够智能决策。

  • 不同于传统的监督学习算法,监督学习需要考虑大量的约束条件,根据约束设计特定的监督方法来引导智能体;
  • 而模仿学习旨在让人类为之恩能够提提供大量的示例行为,利用这些专家示例来教会智能体进行决策。

目前模仿学习主要分为两类:

  • 行为克隆:尝试最小化智能体策略和专家策略的动作差异,把模仿学习作为回归或分类任务学习;
  • 对抗式模仿学习:通过逆强化学习来构建对抗的奖励函数,最大化这个奖励函数来模仿专家行为。

二、数学基础(马尔可夫决策过程)

考察一个有限状态的马尔可夫链,状态空间$S=\{1,2,3,\cdots,|S|\}$,由于马尔可夫性,状态转移与历史状态无关,因此对于有限状态的马尔可夫链,状态转移矩阵 $P$ 如下:

其中每一个元素 $p_{i,j}$ 表示由状态 $i$ 转移到 $j$ 的概率,满足:

为了完整表示状态转移过程,需要指定初始状态分布 $\rho$ ,便于递归计算某个状态 $i$ 在 $t$ 时刻出现的概率(上一时刻为 $j$ 状态的概率 $\times$ $j$ 状态到 $i$ 状态的状态转移概率):

对于一个马尔可夫决策过程,状态转移不仅受到上移时刻状态的影响,还取决于当前动作,因此不仅要考虑状态,还要额外考虑动作和奖励,即一个马尔可夫决策过程可以表示为 $M=(S,A,\rho,P,r)$ ,数学上表示为 $P(s_{t+1}|s_t, a_t)$。

为了表示动作产生的过程,引入了策略 $\pi(a|s)$ ,代表在状态 $s$ 处选择动作 $a$ 的概率,因为我们最多有 $|S|$ 个状态和 $|A|$ 个动作,$\pi$ 也可以用一个 $|S| \times |A|$ 的矩阵来表示。

据马尔可夫决策过程的交互规则以及累计回报计算,实际需要考虑回报折扣,定义一个折扣因子 $\gamma \in(0,1)$,则马尔可夫决策过程变成了由6元组表示 $M=(S, A, \rho, P, r, \gamma)$,在 $M$ 下的累计回报为:

这里的 $V(\pi)$ 代表了策略 $\pi$ 所能获得的累计奖励的期望,每一步奖励都会被乘以系数 $\gamma^t$,以此来保证无限求和时正确的。

当策略 $\pi$ 确定时,我们可以对任意的起始状态 $s$ 来定义其状态价值函数

同样可以定义状态-动作价值函数

三、模仿学习算法

3.1 行为克隆算法

行为克隆的想法就是从数据中估计专家测类 $\pi^E$,具体到一个状态 $s$ ,$\pi(\cdot|s)$ 就是动作空间 $A$ 上的概率分布。一个经典的估计方法就是最大似然估计。

可以证明该最大似然模型对应的问题是一个凸优化问题。

  • 如果动作空间是离散的,可以使用 $A$ 维的向量定义 softmax 函数,这时要解决的问题就变成了常见的分类问题中的交叉熵优化问题。
  • 如果哦当作空间是连续的,可以使用高斯分布表示一个策略,$\hat \pi_\theta(\cdot|s)=N(\mu_\theta(s),\sigma^2_\theta(s))$,因此问题被转换为基于均方差的回归问题。

行为克隆算法可以直接从专家数据中估计出策略 $\pi$ ,但也会带来问题,即训练数据集

参考链接:

  1. 许天, 李子牛, 俞扬. 模仿学习简洁教程. 2021