【模仿学习笔记】行为克隆 Behavior Cloning
发布于 |更新于 |机器学习 模仿学习 经验 基础知识
字数: 1436|阅读约 5 分钟|阅读量: 637|评论数: —
一、行为克隆概念
行为克隆属于模仿学习中的方法,不是强化学习。
强化学习:从环境给出的奖励中进行监督;
模仿学习:从人类动作经验中监督
区分两者主要在于,模仿学习没有奖励回报,知识模仿专家动作。
二、行为克隆过程
- 观测当前状态 st
- 策略网络做出预测 pt
- 专家的动作是 at∗,向量化从而得到 yt
- 计算损失 CrossEntropy(yt,pt)
- 使用梯度下降来更新策略网络
三、行为克隆的优势与不足
如果当前的状态出现在训练数据中,则可以根据行为克隆训练得到的策略网络,执行类似于人类专家的动作。
但是如果当前状态没有出现在训练数据中,那么策略网络输出的动作可能不会很好,而且错误会累加。这种情况尤其出现在状态极为复杂的情况下。
一、模仿学习简介
模仿学习是让智能体从专家示例中学习,从而像人类专家一样能够智能决策。
- 不同于传统的监督学习算法,监督学习需要考虑大量的约束条件,根据约束设计特定的监督方法来引导智能体;
- 而模仿学习旨在让人类为之恩能够提提供大量的示例行为,利用这些专家示例来教会智能体进行决策。
目前模仿学习主要分为两类:
- 行为克隆:尝试最小化智能体策略和专家策略的动作差异,把模仿学习作为回归或分类任务学习;
- 对抗式模仿学习:通过逆强化学习来构建对抗的奖励函数,最大化这个奖励函数来模仿专家行为。
二、数学基础(马尔可夫决策过程)
考察一个有限状态的马尔可夫链,状态空间S={1,2,3,⋯,∣S∣},由于马尔可夫性,状态转移与历史状态无关,因此对于有限状态的马尔可夫链,状态转移矩阵 P 如下:
P=p1,1p2,1⋯p∣S∣,1p1,2p2,2⋯p∣S∣,2⋯⋯⋯⋯p1,∣S∣p2,∣S∣⋯p∣S∣,∣S∣
其中每一个元素 pi,j 表示由状态 i 转移到 j 的概率,满足:
i=1∑∣S∣Pi,j=1,j=1∑∣S∣Pi,j=1
为了完整表示状态转移过程,需要指定初始状态分布 ρ ,便于递归计算某个状态 i 在 t 时刻出现的概率(上一时刻为 j 状态的概率 × j 状态到 i 状态的状态转移概率):
P(st=i)=j∈S∑P(st−1=j)pj,i
对于一个马尔可夫决策过程,状态转移不仅受到上移时刻状态的影响,还取决于当前动作,因此不仅要考虑状态,还要额外考虑动作和奖励,即一个马尔可夫决策过程可以表示为 M=(S,A,ρ,P,r) ,数学上表示为 P(st+1∣st,at)。
为了表示动作产生的过程,引入了策略 π(a∣s) ,代表在状态 s 处选择动作 a 的概率,因为我们最多有 ∣S∣ 个状态和 ∣A∣ 个动作,π 也可以用一个 ∣S∣×∣A∣ 的矩阵来表示。
据马尔可夫决策过程的交互规则以及累计回报计算,实际需要考虑回报折扣,定义一个折扣因子 γ∈(0,1),则马尔可夫决策过程变成了由6元组表示 M=(S,A,ρ,P,r,γ),在 M 下的累计回报为:
V(π)=E[t=0∑∞γtr(st,at)]
这里的 V(π) 代表了策略 π 所能获得的累计奖励的期望,每一步奖励都会被乘以系数 γt,以此来保证无限求和时正确的。
当策略 π 确定时,我们可以对任意的起始状态 s 来定义其状态价值函数
Vπ(s)=E[t=0∑∞γtr(st,at)s0=s,at∼π(⋅∣st),st+1∼P(st+1∣st,at)].
同样可以定义状态-动作价值函数
Qπ(s,a)=E[t=0∑∞γtr(st,at)s0=s,a0=a,at∼π(⋅∣st),st+1∼P(st+1∣st,at)].
三、模仿学习算法
3.1 行为克隆算法
行为克隆的想法就是从数据中估计专家策略 πE,具体到一个状态 s ,π(⋅∣s) 就是动作空间 A 上的概率分布。一个经典的估计方法就是最大似然估计。
θmax(s,a)∈D∑log(π^θ(a∣s))
可以证明该最大似然模型对应的问题是一个凸优化问题。
- 如果动作空间是离散的,可以使用 A 维的向量定义 softmax 函数,这时要解决的问题就变成了常见的分类问题中的交叉熵优化问题。
- 如果哦当作空间是连续的,可以使用高斯分布表示一个策略,π^θ(⋅∣s)=N(μθ(s),σθ2(s)),因此问题被转换为基于均方差的回归问题。
行为克隆算法可以直接从专家数据中估计出策略 π ,但也会带来问题,即训练数据集
参考链接:
- 许天, 李子牛, 俞扬. 模仿学习简洁教程. 2021
评论