一、行为克隆概念

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

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

二、行为克隆过程

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

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

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

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