Abstract
\quad 构建 intelligent machines 的 关键点之一 在于通过 基本行为(elementary behaviors) 的组合来解决具有挑战性的迁移学习问题。到目前为止,已经有大量的学习特定任务的工作,但是关注 组合necessary, task-agnostic skills来找到新问题的solution 的工作较少。本文提出了一中新的 基于深度强化学习的 skill transfer and composition method ,该方法采用agent的 primitive policies 来解决 unseen tasks。我们在 difficult cases 测试了我们的方法,在这种情况下通过 standard reinforcement learning (RL) 或是 hierarchical RL 是不可行的,或是显示高度的样本复杂性。我们的方法,不仅能够将 skills 转移到新的问题,而且能够解决具有挑战性的环境,同时 task planning 和 motion control 数据利用率较高。
解决的问题:
- 元素级行为(elementary behaviors) 的组合来解决迁移学习问题;
- 提出一种 基于深度强化学习的 skill transfer and composition method,利用 primitive policies 来解决 unseen tasks。
1 INTRODUCTION
(机翻)
\quad
复合性是指将原始函数整合成新的复杂函数,这些新函数可以进一步组合成更复杂的函数来解决新问题(Kaelbling & Lozano- P erez, 2017)。 来自神经科学和行为生物学研究的证据表明,人类和动物具有将其基本技能转移到新领域,并将其分层次组成复杂行为的天生能力(Rizzolatti等人,2001)。 在机器人技术中,主要关注的是获取新的行为,而不是组合和重用已经获得的技能来解决新颖的、看不见的任务(Lake等,2017)。
\quad
在本文中,我们提出了一种新颖的策略集成组合方法1,该方法采用基本的、任务不可知的机器人策略,将它们转移到新的复杂问题,并通过标准或分层的rl (Schulman et al.,2015; 2017; Haarnoja等,2018b; Vezhnevets等人,2017; Florensa等人,2017; Nachum等人,2018)。 我们的模型有一个编码器-解码器架构。 该编码器是一个双向递归神经网络,它将给定的技能集嵌入到潜在状态中。解码器是一个前馈神经网络,以给定的任务信息和技能的潜在编码输出混合权重,用于技能集的组合。我们展示了我们的组合框架可以根据给定任务的需要同时组合给定的技能(和-操作)和顺序(或-操作)。我们评估我们的方法在具有挑战性的情况下,包括问题与稀疏奖励和基准与最先进的标准和层次RL方法。我们的结果表明,所提出的组合框架能够解决非常困难的rl问题,其中标准和分层的rl方法样本效率低下,或者失败或产生不满意的结果。
2 RELATED WORK
\quad
大部分做 task-specific policies,但是不composing necessary, task-agnostic skills。神经科学中,很多将基本的技能transfer到新的领域,然后将之组合,但是robotic中很少。
\quad
(1 ) Mcp(multiplicative composition policies,多重组合策略) : Learning composable hierarchical control with multiplicative compositional policies。
\quad
mcp 包括了了 :
- a set of 可训练的高斯原子策略,输入为状态,输出为动作分布
- a gating function, 输入为额外的目标信息和状态,输出为composition的混合权重 。
\quad 一开始使用rl一起训练,之后transfer的时候,固定原子策略,训练gate function。mcp没有latent encoding of primitive actions, performance不行
\quad
(2)最近的 层次强化(Hierarchical RL) 自动将复杂的任务分解为子任务,然后最优化给定的目标;
Data-efficient hierarchical reinforcement learning
\quad
(3)另外 option framework 使用 temporal abstraction , 包括 option critic, 学习很多option,高层次的policy。但是这种学到的option一般一个timestep就是一个option,或者整个episode是一个option
3 BACKGROUND
Compositionality: 将primitive functions 整合为复杂的函数
\quad
agents 有很多原子策略
∏
=
{
π
i
}
i
=
0
N
\prod=\{ \pi_i\}^N_{i=0}
∏={πi}i=0N 对应于 agent’s skills, controller, or motor-primitives。我们假定每一个 sub-policies
{
π
i
}
i
=
0
N
\{\pi_i\}^N_{i=0}
{πi}i=0N 能够解决由元组
{
S
^
,
A
,
P
^
,
R
^
i
}
\{\hat{\mathcal{S}}, \mathcal{A}, \hat{\mathcal{P}} , \hat{\mathcal{R}}^i \}
{S^,A,P^,R^i} 定义的 MDP。因此,
S
^
\hat{\mathcal{S}}
S^,
P
^
\hat{\mathcal{P}}
P^ 和
R
^
i
\hat{\mathcal{R}}^i
R^i 分别是 状态空间(state-space)、转移概率、primitive policy
π
i
\pi_i
πi 的 rewards。每一个元素级策略
π
i
:
S
^
×
A
→
[
0
,
1
]
,
∀
i
∈
[
0
,
1
,
.
.
.
,
N
]
\pi_i:\hat{\mathcal{S}} \times \mathcal{A} \to [0,1], \forall i \in [0,1,...,N]
πi:S^×A→[0,1],∀i∈[0,1,...,N] ,输入一个状态
s
^
∈
S
^
\hat{s} \in \hat{\mathcal{S}}
s^∈S^ ,输出 agent 的动作空间
A
\mathcal{A}
A 上的一个分布。
\quad
我们将我们的组合模型定义为 组合策略(composite policy)
π
θ
c
:
S
×
A
N
+
1
×
A
→
[
0
,
1
]
\pi_\theta^c : \mathcal{S} \times \mathcal{A}^{N+1} \times \mathcal{A} \to [0,1]
πθc:S×AN+1×A→[0,1] ,参数为
θ
\theta
θ ,根据环境的当前状态
s
∈
S
s \in \mathcal{S}
s∈S 输出动作空间上的一个分布
{
a
^
i
∈
A
}
i
=
0
N
∽
∏
\{\hat{a}_i \in \mathcal{A}\}^N_{i=0} \backsim \prod
{a^i∈A}i=0N∽∏。组合模型的状态空间是
S
=
[
S
^
,
G
]
\mathcal{S} = [\hat{\mathcal{S}},\mathcal{G}]
S=[S^,G] 。 空间
G
\mathcal{G}
G 可能包含任务信息,例如,目标位置。所以在我们的框架中,primitive policies
∏
\prod
∏ 和 composite policy
π
θ
c
\pi_\theta^c
πθc 的 state输入是不同的。
\quad
在本节的其余部分中,我们将展示我们的组合模型解决了一个MDP问题。为了避免混乱,我们假设原始策略集合和组合策略具有相同的状态空间
S
,
i
.
e
.
,
G
=
∅
\mathcal{S},i.e.,\mathcal{G} = \emptyset
S,i.e.,G=∅ 。组合模型从 由 sub-level policies 的actions 和 环境的state
s
∈
S
s \in \mathcal{S}
s∈S 参数化的分布中采样出一个action。因此,我们可以将给定的状态空间
S
\mathcal{S}
S 扩大为
S
c
:
A
N
+
1
×
S
\mathcal{S}^c:\mathcal{A}^{N+1} \times \mathcal{S}
Sc:AN+1×S,其中
A
N
+
1
:
{
A
i
}
i
=
0
N
\mathcal{A}^{N+1}:\{\mathcal{A}^i\}^N_{i=0}
AN+1:{Ai}i=0N 是 sub-level policies 的输出。所以,compositional MDP 定义为
{
S
c
,
A
,
P
c
,
R
}
\{\mathcal{S}^c, \mathcal{A}, \mathcal{P}^c, \mathcal{R}\}
{Sc,A,Pc,R} ,其中
S
c
=
A
N
×
S
\mathcal{S}^c=\mathcal{A}^N\times \mathcal{S}
Sc=AN×S 是 the new composite state-space,
A
\mathcal{A}
A 是 the action-space,
P
c
:
S
c
×
S
c
×
A
→
[
0
,
1
]
\mathcal{P}^c:\mathcal{S}^c \times \mathcal{S}^c \times \mathcal{A} \to [0,1]
Pc:Sc×Sc×A→[0,1] 是 转移概率函数,
R
\mathcal{R}
R 是给定任务的 reward function。
4 POLICY ENSEMBLE COMPOSITION
- Encoder network 接收 primitive policies ,将他们编码为 隐状态(latent spaces);
- Decoder network 接收 环境的 current state s t s_t st 和 Encoder network 的 latent embeddings,来参数化 attention network;
- Attention network 输出 primitive low-level policies 的概率分布,来表示各个policy的权重。
4.1 ENCODER NETWORK
\quad
由 bidirectional recurrent neural network (BRNN) 实现,包括 Long Short-Term
Memory units。
\quad
接收 各个 primitive policies 的输出
{
a
^
i
}
i
=
0
N
\{\hat{a}_i\}^N_{i=0}
{a^i}i=0N,将他们编码为 forward RNN 和 backward RNN 的隐状态,分别表示为
{
h
i
f
}
i
=
0
N
+
1
\{h^f_i\}^{N+1}_{i=0}
{hif}i=0N+1 和
{
h
i
b
}
i
=
0
N
+
1
\{h^b_i\}^{N+1}_{i=0}
{hib}i=0N+1,其中
h
i
f
,
h
i
b
∈
R
d
;
∀
i
∈
[
1
,
2
,
.
.
.
,
N
+
1
]
h^f_i, h^b_i \in \mathbb{R}^d;\forall i \in [1,2,...,N+1]
hif,hib∈Rd;∀i∈[1,2,...,N+1] 。 forward and backward RNN 的
N
+
1
N+1
N+1 个 state 对应于 他们 last hidden states ,表示为
h
f
h^f
hf 和
h
b
h^b
hb。
4.2 DECODER NETWORK
\quad
由 simple feed-forward neural network 实现,输入为 encoder network 的最后的隐状态
h
f
h^f
hf 和
h
b
h^b
hb、环境的当前状态
s
s
s,映射到一个 latent space
h
∈
R
d
h \in \mathbb{R}^d
h∈Rd。
\quad
decoder network 的输入定义为
s
:
[
s
^
,
g
]
s:[\hat{s},g]
s:[s^,g],其中
s
^
∈
S
^
\hat{s} \in \hat{\mathcal{S}}
s^∈S^是 输入到 low-level policy ensemble 的state,
g
∈
G
g \in \mathcal{G}
g∈G 可以是任意的与给定任务相关的information,例如,目标agent要达到的目标的位置。
输入: BRNN的两个隐状态
h
f
h^f
hf 、
h
b
h^b
hb;当前状态
s
s
s
处理: 将三个信息进行编码
输出: latent space
h
∈
R
d
h \in \mathbb{R}^d
h∈Rd
4.3 ATTENTION NETWORK
\quad
组合权重
{
w
i
∈
[
0
,
1
]
}
i
=
0
N
\{w_i \in [0,1]\}^N_{i=0}
{wi∈[0,1]}i=0N 由attention network决定:
\quad
其中,
W
f
,
W
b
,
W
d
∈
R
d
×
d
W_f,W_b,W_d \in \mathbb{R}^{d \times d}
Wf,Wb,Wd∈Rd×d,
W
∈
R
d
W \in \mathbb{R}^d
W∈Rd。
\quad
composite policy 的权重
{
w
i
∈
[
0
,
1
]
}
i
=
0
N
\{w_i \in [0,1]\}^N_{i=0}
{wi∈[0,1]}i=0N 用 gumbel-softmax 计算,
s
o
f
t
m
a
x
(
q
/
T
)
softmax(q/T)
softmax(q/T),其中T是temperature term。
4.4 COMPOSITE POLICY
\quad
给定 primitive policy ensemble
∏
=
{
π
i
}
i
=
0
N
\prod=\{ \pi_i\}^N_{i=0}
∏={πi}i=0N ,composite action 就是 所有 primitive policies outputs 的加权和,即:
\quad
我们假定 primitive policies 为 Gaussian distributions,所以每一个 primitive policy 的输出都是一个均值
μ
\mu
μ 和一个方差
δ
\delta
δ :
\quad
这样 composite policy 可以表示为:
\quad
其中
N
(
.
)
\mathcal{N}(.)
N(.) 表示 Gaussian distribution,
∑
i
w
i
=
1
\sum_iw_i=1
∑iwi=1。
\quad
有了混合权值,其他类型的原始策略,如DMPs (Schaal et al., 2005),也可以由其归一化输出的加权组合组合在一起。
4.5 COMPOSITE MODEL TRAINING OBJECTIVE
目标函数、更新方向:
使用RL和HRL的方式进行训练。
4.5.1 STANDARD REINFORCEMENT LEARNING
\quad
本文采用 off-policy soft-actor critic (SAC) method 的方法来训练 policy function:
\quad
其中
λ
\lambda
λ 是超参数。使用这个方法是因为 能够更好地探索(最大化熵)。
4.5.2 HIERARCHICAL REINFORCEMENT LEARNING
分层的解决手段大体分两种:
- 基于目标的(goal-reach) ,主要做法是选取一定的goal,使agent向着这些goal训练,可以预见这种方法的难点就是如何选取合适的goal;
- 多级控制(multi-level control) ,做法是抽象出不同级别的控制层,上层控制下层,这些抽象层在不同的文章中可能叫法不同,如常见的option、skill、macro action等,这种方式换一种说法也可以叫做时序抽象(temporal abstraction)
本文用的是第二种,具体的用 HIRO(HIerarchical Reinforcement learning with Off-policy correction) algorithm。
\quad 与标准HIRO类似,我们用两级策略结构。在每一个时间步 t t t, 高层 policy π θ ′ h i \pi^{hi}_{\theta '} πθ′hi 参数为 θ ′ \theta ' θ′,观察一个状态 s t s_t st 给出 state-space 中的一个 goal g t ∈ S g_t \in \mathcal{S} gt∈S ,低层 policy π θ c : l o w \pi^{c:low}_\theta πθc:low 的目标就是实现这个这个goal。 π θ c : l o w \pi^{c:low}_\theta πθc:low 输入为 状态 s t s_t st ,目标 g t g_t gt ,primitive actions { a ^ i } i = 0 N \{\hat{a}_i\}^N_{i=0} {a^i}i=0N ,通过 an agent 与环境交互,预测一个组合action a t a_t at 。
\quad
The high-level policy 训练目标是最大化 the expected task rewards;the composite low-level policy 训练目标是最大化 the expected intrinsic reward, intrinsic reward定义为当前状态与目标状态的距离的负数,例如:
\quad
为了符合 HIRO 的设置,我们对 高层policy 采用 off-policy方法,并且用 TD3 对高层、低层policy进行训练。
5 EXPERIMENTS AND RESULTS
7个任务:
Ant:basic policies —— 上、下、左、右 移动;
Pusher:primitive policies —— 将物体推到 左边、下面
HalfCheetah hurdle environment:low-level policies —— jumping and running forward