1. curriculum learning
通用的课程学习框架为Difficulty Measurer (困难程度评估)+ Training Scheduler(训练计划) 两部分
1.1 预定义CL
- 在预定义的CL中,需要开发者手动评估样本学习的困难程度,然后根据困难程度将样本排序后进行训练
1.1.1 预定义Training Scheduler
- 离散类型
- 离散的情况下模型会在收敛于某个数据子集或在数据子集上训练固定数量的epoch后调整训练数据子集
- 连续类型
- 连续的情况下,模型会在每个epoch后调整训练数据子集
1.2 自动化CL
- 自主学习:SPL通常采用模型每个样本训练的loss作为衡量该样本学习困难程度的标准。
- Transfer Teacher:引入额外的数据集,训练一个Teacher模型。迁移已经训练好的模型来评估的样本的困难程度,可以避免未充分训练的模型评估时的风险
- RL Teacher:包含了学生模型和基于强化学习的老师模型,在每一个epoch的训练策略中,RL teacher会根据学生反馈动态选择训练数据。数据选择作为RL的action,学生反馈作为state和reward。
2.背景
- 现有的PRL研究通常以有监督的方式学习路径表示
- 首先,它们需要大量标记的训练数据。
- 其次,学习到的路径表示是特定于任务的,例如,对于带有标签的任务来说效果很好,但对其他任务的泛化能力较差。
3.方法
-
课程负抽样方法
- 为输入路径生成少量负路径。
- 该策略没有随机选择其他输入路径作为负路径
- 首先生成与输入路径有很大不同的路径,因此很容易与输入路径区分开来。
- 然后,逐渐生成与输入路径越来越相似的路径,因此更难与输入路径区分开来。
- 为输入路径生成少量负路径。
-
路径表示学习方法——互信息最大化
- 全局视图——路径-路径区分器
- 捕获输入路径与其负路径之间的表征差异
- 局部视图——路径-节点区分器
- 捕获输入路径与仅出现在其负路径中的节点之间的表征差异
- 全局视图——路径-路径区分器
4.模型
-
路径编码器PE
- 输入:路径
P
i
P_i
Pi的初始视图
I
V
(
P
i
)
IV(P_i)
IV(Pi)
- 即每个节点的表征向量
- 输出: P i P_i Pi的表征向量 p i p_i pi
- 输入:路径
P
i
P_i
Pi的初始视图
I
V
(
P
i
)
IV(P_i)
IV(Pi)
-
课程负采样
- 策略:
- 完全不同的随机路径
- 首尾相同
- 中间节点逐渐重合
- 策略:
-
路径-路径分辨器——判断是否来自同一路径
-
输入:一对路径表征 ( p i , p ‾ j ) (p_i,\overline p_j) (pi,pj)
-
正对: ( p i , I V ( P i ) ) (p_i,IV(P_i)) (pi,IV(Pi))
-
负对: ( p i , p ‾ j ) (p_i,\overline p_j) (pi,pj)
-
目标函数
-
- $P_i$是路径集$\mathbb{P}$中的一条路径
- $\mathbb{NP}_i$是$P_i$的负路径集
- $\mathbb{E}$是期望
-
路径-节点分辨器
-
输入:一对(输入路径表征,节点特征向量),如 ( p i , { V 2 , V 3 , V 5 , V 6 } ) (p_i,\{V_2,V_3,V_5,V_6\}) (pi,{V2,V3,V5,V6})
-
正对:仅出现在 p i p_i pi的节点向量, ( p i , V 2 ) (p_i,V_2) (pi,V2)
-
负对:仅出现在负路径的节点向量, ( p i , V 6 ) (p_i,V_6) (pi,V6)
-
目标函数
-
- $\mathbb X$是只出现在输入路径而不出现在负路径中的点的点集,$\mathbb Y$相反
- 最终目标函数
5.下游任务
- TTE:旅行时间估计
- Path Ranking:给定OD,给出一系列相关路径的分数