subspaceofpolicies

Paper Reading——Learning A Subspace of Policies for Online Adaptation in Reinforcement Learning

Few shot Adaptation

小样本学习基于有少量有监督数据和大量无监督数据的场景

问题背景

学习环境和测试环境存在区别,本文讨论一种算法能够在多种环境上进行泛化。

  1. 提到参数空间下策略的一个子集
    1. 参数空间应该指的是环境的参数,应该是将环境作为一种变量送给RL算法学习到environment adaptation policy
  2. 一种方式将环境特征/信息作为meta data送给学习器训练,但是对于只有一种环境的情况容易产生过拟合

image-20221202203149499

  1. 红色/蓝色分别代表在training/testing环境下好的策略
  2. 仅仅学习一个策略,可能导致繁华效果较差(红点或蓝点)
  3. 学习一个策略凸集,被anchor point约束(⭐顶点)

Problem Setting(Online Adaptation)

在$\mathcal M$上训练,在$\overline{\mathcal M}$上泛化,两个环境状态-动作空间相同,但是状态转换和奖励函数不同,训练时不知道测试环境的metadata

k-shot adaptation setting

将test phase分成两个阶段

  1. 模型在新环境上微调
  2. 模型在新环境上交互

Learning Subspaces of Policies

Motivations

环境特征中包含冗余和相关的特征,这样可以舍弃一些特征作为动作选择的输入,传统的rl方法可能会过度依赖noise feature$\to$选择不同的feature subset都可以学到策略

不仅基于冗余环境学习最优策略$\pi_\theta$,也在此基础上学习次优策略$\pi_{\theta^*}$。两种策略之所以不同是因为选择了不同的feature subset。在真实环境上测试选择较好的策略

Subspace of Policy

$\Theta$代表参数集合,选择一个子集$\overline \Theta \subset \Theta$和基于特定参数集合的策略集合$\overline \Pi = \{ \pi_\theta| \theta\in \overline \Theta\}$,假定$\overline\Theta$是$\Theta$的一个多面体,定义N个anchor参数$\overline \theta _1,\overline \theta_2,\cdots,\overline \theta_N$,任何参数中的点可以表示为anchor参数的仿射组合

  1. N代表参数空间的自由度
  2. 任何在$\overline \Theta$中的策略都是锚节点的仿射组合,可以认为两个不同的策略share parameters,这样做的好处是可以经验服用

Learning Algorithm

Loss function over the parameter subspace记作

多边形,因此可以选择各个顶点代替期望

代表在每个顶点处随机采样

希望最大化这个loss

Subspace collapse

避免所有策略被映射到参数空间上的同一点(鼓励策略的多样性),定义clusterloss

定义总的loss,在奖励尽量大的情况下差异尽量大

image-20221202235848547

Line of Policies(LoP)

考虑两个策略的线性组合,给定锚点$\overline \theta_1,\overline \theta_2$,定义它们的线性组合为

z随机采样自$[0,1]$,这样损失函数为

image-20221203000054908

本质上还是鼓励策略的多样性

算法(两个策略)

image-20221203180046921

$\overline\theta_1,\overline \theta_2$对应test environment上的两个策略网络

  1. 选择n个策略加权组合$(z_i,1-z_i)$
  2. 计算每个策略加权$\theta_{z_i} = z_i \overline \theta_1+(1-z_i)\overline \theta_2$
  3. 基于策略收集若干轨迹,更新策略(policy loss和策略差异)
  4. 更新critic(TD loss)

实验

在一个环境上训练在50个环境上泛化,在简单的控制任务上选择不同的物理参数作为环境的泛化

baseline

  1. 在训练环境上训练单个策略,在测试环境上评估(Single)
  2. 在训练环境上训练多个策略,根据DIAYN和task reward设置策略参数(DIAYN+r)

PPO-LoP

PPO为了减少分布偏移的影响,基于旧策略$\pi_{old}$生成的数据集评估新策略$\pi_\theta$上的性能

目标是

同时约束新旧策略差异

将其引入最大化目标中

实际应用中有两种策略

  1. 根据两次策略不同更新$\beta$,差异不大增大$\beta$,否则减少$\beta$
  2. 做截断,对于importance系数差异过大的部分舍去
本站访客数人次