RL和课程学习的建模
形式定义
课程学习的形式定义是一个有向无环图,
一条从
课程学习的几种形式
单任务课程 (Single-task Curriculum):所有经验样本都来自同一个目标任务,本质是对经验回放的排序 。
任务级课程 (Task-level Curriculum):图中的每个节点关联一个完整的任务(一个MDP)。
序列课程 (Sequence Curriculum):最简单的形式,课程是一个线性的任务序列 。
课程学习的方法论
任务生成 (Task Generation):创造出可供选择的中间任务 。
序列化 (Sequencing):决定这些任务或经验的先后顺序,即生成课程图的边 。
知识迁移 (Transfer Learning):在任务切换时,将知识从上一个任务传递到下一个任务 。
课程学习的分类维度
3.4 分类维度 (Dimensions of Categorization)
- 中间任务生成 (Intermediate task generation):target / automatic / domain experts / naive users (来自目标任务 / 自动生成 / 领域专家 / 普通用户)
解释: 这个维度关注的是构成课程的各个(中间)任务是从哪里来的。
target: 最简单的情况,课程只使用目标任务本身的经验样本,不创造新任务。
domain experts / naive users: 中间任务由人来手动设计。这里又分为两种:一种是“领域专家”,他们了解智能体和其学习算法的内部知识;另一种是“普通用户”,他们不具备这些专业知识。
automatic: 任务是通过一套规则或一个生成过程自动创建的,可能是离线的,也可能是随着学习过程动态生成的。
- 课程表示 (Curriculum representation):single / sequence / graph(单一任务 / 序列 / 图)
解释: 这个维度描述了课程的结构形式。
single: 课程只在单一任务的样本上进行排序。
sequence: 当使用多个任务时,最常见的形式是线性的“序列”,即任务被排成一个链条,一个接一个地学习。
graph: 更通用的形式是“有向无环图”,这允许一个任务的学习可以从多个前置任务中迁移知识,结构更复杂。
- 迁移方法 (Transfer method):policies / value function / task model / partial policies / shaping reward / other / no transfer(策略 / 价值函数 / 任务模型 / 部分策略 / 奖励塑造 / 其他 / 无迁移)
解释: 当课程包含多个任务时,智能体需要“知识迁移”方法来把上一个任务学到的知识用到下一个任务中。这个维度说明了具体迁移的是什么类型的知识。
- 例如,可以是整个策略网络(policies)、价值函数(value
function),或者是部分策略(partial
policies)(如选项或技能),也可以是通过奖励塑造(shaping
reward)来引导学习。
- 如果课程只是对单一任务的样本排序,则不需要知识迁移(no transfer)。
- 例如,可以是整个策略网络(policies)、价值函数(value
function),或者是部分策略(partial
policies)(如选项或技能),也可以是通过奖励塑造(shaping
reward)来引导学习。
- 课程序列器 (Curriculum sequencer):
automatic / domain experts / naive users (自动 / 领域专家 / 普通用户)
解释: 这是决定任务学习顺序的关键部分。
automatic: 顺序是由一个算法自动决定的。
domain experts / naive users: 顺序是由人来手动安排的。
- 课程适应性 (Curriculum adaptivity):static / adaptive (静态 / 自适应)
解释: 这个维度描述了课程是在训练前就定好了,还是在训练过程中可以动态调整。
static: 静态课程在学习开始前就完全生成好了,中途不改变。
adaptive: 自适应课程会根据智能体在学习过程中的实时表现(比如“学习进度”)来动态调整后续任务的难度或选择,让课程更贴合智能体的当前水平。
- 评估指标 (Evaluation metric):time to threshold / asymptotic /
jumpstart / total reward (达到阈值时间 / 渐近性能 / 初始性能 /
总奖励)
解释: 这个维度关注的是如何衡量一个课程的好坏。
time to threshold: 达到某个预设性能水平所需的时间。
asymptotic: 训练稳定后,最终能达到的最高性能。
jumpstart: 使用课程后,在目标任务上的初始性能提升。
total reward: 在固定训练时间内,累积的总奖励。
此外,论文还提到一个重要区别:在计算这些指标时,是否把生成课程和在中间任务上训练的成本算进去。如果算了,就叫强迁移(strong transfer),通常会在指标上加粗表示。
- 应用领域 (Application area):toy / sim robotics / real robotics / video games / other (玩具领域 / 模拟机器人 / 真实机器人 / 视频游戏 / 其他)
解释: 这个维度说明了该方法被应用和测试的场景类型,这可以帮助读者了解方法的扩展性和适用范围。
toy: 指的是一些简单的环境,如网格世界、车杆平衡等。
sim robotics: 在模拟器中(如MuJoCo)测试机器人平台。
real robotics: 在真实的物理机器人上进行测试。
video games: 游戏环境,如星际争霸(Starcraft)或Atari游戏。
other: 用于不属于以上几类的自定义领域。
读到这里,发现和当前的任务关系不是很大,因此没有继续往下了。
由于开始赶代码,接下来阅读笔记的更新可能会有延迟…
以后有时间再补吧,留个档
需要补的内容包括
- MORL特别是envelop Q
- Curriculum learning
- Dynamic reward modeling
- etc…
等这波投稿结束之后,博主会尝试提升一下数学水平…感觉还是不太够用。尤其是高阶的统计推断和信息论的补充…前言一些比较fancy的工作还是需要一些数学直觉的。比如说熵和softmax的关系啊之类的~
这个工作完成之后,很快K2的论文应该就出来了,R2应该也快发布了。又可以跟进一波了
如果您喜欢我的文章,可以考虑打赏以支持我继续创作.