写在前面:
本文主要内容是在DKVMN的基础上通过加入习题的概念标签来增强模型的预测性能,并提出具体的相关权重计算算法。使DKVMN支持了人工标注的 KC 信息.即 M k M^k Mk中的 KC 由人工定义,而不是机器生成.
1 摘要
个性化教育系统根据学生加速学习的能力向他们推荐学习内容。本文提出了一种用于在线自主学习的个性化运动推荐系统。我们首先提高知识追踪模型的性能。现有的深度知识追踪模型,例如动态键值记忆网络(DKVMN),忽略了练习的概念标签,这些标签通常在辅导系统中可用。我们修改DKVMN,根据课程的概念列表设计其记忆结构,并在学生知识追踪过程中明确考虑练习-概念映射关系。我们在中国最大的教育集团之一好未来的五年级学生数学练习数据集上对该模型进行了评估,发现我们的模型比现有模型具有更高的性能。我们还增强了 DKVMN 模型以支持更多的输入特征并获得更高的性能。其次,我们使用该模型构建学生模拟器,并使用它来训练具有深度强化学习的练习推荐策略。实验结果表明,在最大化学生的知识水平方面,我们的策略比现有的启发式策略取得了更好的性能。据我们所知,这是深度强化学习首次应用于个性化数学练习推荐。
2 引言
我们提出了一种用于在线自主学习服务的个性化锻炼推荐系统。该系统由两部分组成:
-
学生知识追踪模型,追踪学生的知识状态并预测她是否能正确完成练习。
-
个性化的练习推荐政策,向学生推荐适当的练习,以加速她的学习过程。
我们对 DKVMN 模型进行了如下改进:
1)我们根据课程的概念列表设计其记忆结构,并在学生知识追踪过程中明确考虑练习-概念映射关系。
2)我们对其进行了增强,以支持更多的输入功能,包括练习难度、阶段和学生练习时间。
本文的主要贡献有两个方面:
- 我们提出了一种新的练习级深度知识追踪模型,其结构基于课程的概念列表,并在学生的知识追踪过程中利用练习-概念映射关系。与现有模型相比,该模型支持更多的输入特征并获得更高的性能。
- 我们提出了一种练习推荐算法,该算法使用具有神经网络函数逼近的无模型强化学习来学习练习推荐策略。该政策直接基于对学生锻炼历史的原始观察结果。实验结果表明,在最大化学生的知识水平方面,我们的策略比现有的启发式策略取得了更好的性能。
3 模型
3.1 概念感知内存结构
我们修改 DKVMN 以根据课程的概念列表设计其内存结构。图 1 绘制了基于 DKVMN 模型 的模型结构。如图所示, M t k M_t^k Mtk 是概念嵌入矩阵,其大小为 M × N,其中 N 是内存位置的数量,M 是每个位置的向量大小。我们设置 N 等于课程知识概念的数量。由于我们有 1 个一级知识概念、7 个二级知识概念和 15 个三级知识概念,我们有 N = 23。然后,在每个位置,保存相应知识概念的学生状态。模型的内存架构被明确设计用于表示知识概念。为了比较,N 是 DKVMN 中的模型参数,表示潜在知识概念的数量,例如 N = 5。由于我们的模型受到 DKVMN 的启发,我们将其命名为 Concept-Aware DKVMN,即 DKVMN-CA。
![](https://raw.githubusercontent.com/zqlaicl/pic/main/img/202209070908173.png)
3.2 知识概念权重
由于学生的知识概念状态保存在相应的记忆位置,当有新的练习到达时,只检索和更新练习的相关概念的记忆位置。我们现在介绍这种程序的细节。在本节中,我们计算练习的知识概念权重(KCW)。权重将用于计算用户当前知识概念状态的加权和,以预测她在练习中的表现。在获得学生对练习题的回答结果后,它还将用于更新学生的知识状态。
![](https://raw.githubusercontent.com/zqlaicl/pic/main/img/202209070912022.png)
我们首先获得习题的嵌入。如图 1 所示,当一个练习 qt 在时间 t 到达时,它首先通过一个练习嵌入矩阵 A 转化为一个嵌入向量 mt。然后我们通过算法 1 计算 KCW。如算法 1 所示,在第 2 行,我们初始化权重列表R。由于每个练习有三个知识概念,R的长度为3。然后,对于每个知识概念k(第2行),我们计算练习嵌入的点积(即qt ) 和概念嵌入(第 3 行)。然后我们通过获得 R 的 softmax 来计算 KCW(第 6 行)。然后,我们初始化一个全零向量 W ,其长度是知识概念的数量 N(第 7 行)。对于练习的每个知识概念 k(第 8 行),设置其权重值为W。
3.3 读入过程
和DKVMN的读入和写入过程基本类似。不同之处在于添加了习题难度和阶段特征在读入过程中,
使用获得的 KCW 计算用户当前知识概念状态的加权和,以预测学生在练习中的表现。用 w 表示 KCW,我们有 r t = ∑ i = 1 N s i M t v r_t=\sum_{i=1}^{N}s_iM_t^v rt=∑i=1NsiMtv,即与练习 qt 相关的概念的知识状态。
进一步将 rt 与练习难度和阶段特征的嵌入(即 dt 和 gt)连接起来。然后将结果通过一个带有激活函数 Tanh 的全连接层得到一个摘要向量 ft,其中包含学生与 qt 相关的知识状态和练习特征的所有信息,即:
f
t
=
T
a
n
h
(
W
0
T
[
r
t
,
d
t
,
g
t
,
m
t
]
)
f_t=Tanh(W_0^T[r_t,d_t,g_t,m_t])
ft=Tanh(W0T[rt,dt,gt,mt])
最后,ft 通过一个全连接层来输出学生做正确练习的概率 qt。用 p 表示概率,我们有
p
=
S
i
g
m
o
i
d
(
W
1
T
f
t
)
p=Sigmoid(W_1^Tf_t)
p=Sigmoid(W1Tft)
3.4 更新过程
然后我们在观察她的答案结果后使用 KCW 来更新学生的知识状态。更新过程更新了值矩阵 M t v M_t^v Mtv,它代表了学生当前对知识概念 k 的状态。我们的模型与 DKVMN 模型的不同之处在于我们在更新过程中考虑了学生的锻炼持续时间。DKVMN 忽略了这个学生行为特征。在我们的模型中,学生完成一项练习后,她的答案结果(即正确或错误)在和练习持续时间被用于更新 M t v M_t^v Mtv。因为运动时长是一个连续变量,所以首先根据其分布进行离散化,然后用其嵌入t来表示。然后我们将 t 与答案向量 (qt, at) 的联合嵌入 st 连接,以更新 M t v M_t^v Mtv,如图 1 所示。
其他更新过程与 DKVMN 相同。它包括擦除进程和添加进程。然后新的内存矩阵
M
t
+
1
v
M_{t+1}^v
Mt+1v由下式计算
M
t
+
1
v
(
i
)
=
M
t
v
(
i
)
[
1
−
w
(
i
)
e
]
[
1
+
w
(
i
)
a
]
M_{t+1}^v(i)=M_t^v(i)[1-w(i)e][1+w(i)a]
Mt+1v(i)=Mtv(i)[1−w(i)e][1+w(i)a]
4 基于强化学习的习题推荐
基于DKVMN-CA学生知识追踪模型,我们构建了一个为强化学习提供环境的学生模拟器,并采用深度强化学习的方法训练了一个个性化的习题推荐代理者。
我们将推荐过程建模为部分可观察马尔可夫决策过程(POMDP),其中模型状态是学生的潜在知识状态,行为是练习的推荐。在时间 t,强化学习代理无法观察到学生的潜在知识状态 st。相反,它可以观察学生的练习和答案结果(即正确或错误)ot,其以潜在知识状态 p ( p t ∣ s t ) p(p_t|s_t) p(pt∣st)为条件。因此,在时间 t,代理者需要根据学生在 t 之前的锻炼历史推荐一个锻炼,用 ht 表示。我们有 ht = (o1, a1, o2, a2, . . . , o t − 1 o_{t-1} ot−1, a t − 1 ) a_{t-1}) at−1)。在学生完成推荐的练习后,她的潜在知识状态将通过转移函数 p ( s t + 1 ∣ s t a t ) p(s_{t+1}|s_t a_t) p(st+1∣stat)变为 s t + 1 s_{t+1} st+1。
我们将行为的奖励
r
t
r_t
rt定义为
r
t
=
1
K
∑
i
=
1
K
P
t
+
1
(
q
i
)
(1)
r_t=\frac{1}{K}\sum_{i=1}^{K}P_{t+1}(q_i)\tag{1}
rt=K1i=1∑KPt+1(qi)(1)
其中 K 是练习的数量,
P
t
+
1
(
q
)
P_{t+1}(q)
Pt+1(q) 表示学生在状态
s
t
+
1
s_{t+1}
st+1完成推荐练习后正确完成练习 q 的概率。通过学生模拟器进行预测
优化的目的是最大化策略 π 的奖励 R:
R
=
E
τ
[
∑
t
=
1
∞
γ
t
−
1
r
(
s
t
,
a
t
)
]
R=\mathbb{E}_\tau[\sum_{t=1}^{\infty}\gamma^{t-1}r(s_t,a_t)]
R=Eτ[t=1∑∞γt−1r(st,at)]
其中轨迹 τ = (s1, o1, a1, s2, o2, a2, …) 是从策略 π 诱导的轨迹分布中得出的: p(s1) p(o1|s1)π(a1|h1)p( s2|s1, a1)p(o2|s2)π(a2|h2)… 因此,对于动作价值函数
Q
π
Q^\pi
Qπ,推荐锻炼序列在 t 时的奖励为:
Q
π
(
h
t
,
a
t
)
=
E
s
t
∣
h
t
[
r
t
(
s
t
,
a
t
)
]
+
E
τ
>
t
∣
h
t
,
a
t
[
∑
i
=
1
∞
γ
i
r
(
s
t
+
i
,
a
t
+
i
)
]
Q^\pi(h_t,a_t)=\mathbb{E}_{s_t|h_t}[r_t(s_t,a_t)]+\mathbb{E}_{\tau>t|h_t,a_t}[\sum_{i=1}^{\infty}\gamma^ir(s_{t+i},a_{t+i})]
Qπ(ht,at)=Est∣ht[rt(st,at)]+Eτ>t∣ht,at[i=1∑∞γir(st+i,at+i)]
其中
τ
>
t
=
(
s
t
+
1
,
o
t
+
1
,
a
t
+
1
…
)
\tau >t=(s_{t+1},o_{t+1},a_{t+1}\dots)
τ>t=(st+1,ot+1,at+1…) 是未来的轨迹。然后算法推荐具有最大奖励的练习 q0,即
q
ˊ
=
m
a
x
a
Q
π
(
h
t
,
a
)
\acute{q}=max_aQ^\pi(h_t,a)
qˊ=maxaQπ(ht,a)。我们使用信任区域策略优化 (TRPO) 算法 [11] 近似求解 POMDP,并使用 rllab [4] 的现成实现。
5 实验
数据集:IPS 五年级数学课程的匿名学生使用做题记录,生成的数据集包括 7,124 名学生的 44,128 条锻炼记录。
我们在 IPS 数据集上评估了我们的模型。为了评估它,我们进行了 50 次实验。在每个实验中,我们将用户随机分成两组:培训用户和测试用户。他们的百分比是 70% 和 30%。然后,我们与训练用户一起训练模型,并在测试用户上评估模型。与 [9] 类似,我们使用曲线下面积 (AUC) 作为性能指标。我们报告了所有 50 个实验的测试用户 AUC 的最大值、平均值和标准差。
![](https://raw.githubusercontent.com/zqlaicl/pic/main/img/202209071034465.png)
5.1 DKVMN-CA 知识追踪模型
我们首先报告了基于课程知识概念设计模型架构的效率。我们在没有其他输入特征帮助的情况下比较了 DKVMN 和 DKVMN-CA 的性能,包括运动难度、阶段和持续时间。结果示于表中。
然后,我们评估添加其他特征的效率,包括运动难度、阶段和持续时间。结果如表1所示
注:具体数值就不写了,都在表里。其预测表现有一定的提高
5.2 习题推荐
5.2.1 学生知识成长过程评估
我们使用 Expectimax 算法作为基线算法。在 Expectimax 算法中,系统首先计算学生的预测知识,假设一个练习被推荐给用户练习。然后它选择具有最高预测知识的练习来推荐。
为了比较这两种算法,我们首先在数据集中随机挑选 15 名学生。对于每个学生,我们进行两次实验,一种算法进行一次实验。在每个实验中,我们首先使用学生的历史练习序列来初始化学生模拟器。然后,我们通过推荐算法不断向学生模拟器推荐50个练习。在此过程中,我们将每一步推荐的 15 名学生的预测知识的平均值记录为 Eq.(1)。结果如图 2 所示。如图 2 所示,经过 50 次练习后,RL 策略服务的学生的平均预测知识高于 Expectimax 策略服务的学生。而且,在大约 10 次练习之后,Expectimax 策略服务的学生的平均预测知识停止增加,这意味着该策略再也找不到可以帮助学生提高成绩的练习。相比之下,在考虑长期行动奖励的 RL 策略服务下,学生的平均预测知识不断增加,这意味着 RL 策略仍然可以找到可以帮助学生提高表现的练习。
![](https://raw.githubusercontent.com/zqlaicl/pic/main/img/202209071040494.png)
5.2.2 推荐过程评估
我们设计了另一个实验来观察 RL 策略的推荐行为。我们随机挑选一个练习了五次练习的学生,并使用她的练习序列来初始化学生模拟器。然后,我们使用 RL 推荐策略为她提供了另外五个练习。图 3 显示了结果。图 3 的 x 标签显示了 10 个练习的 ID、概念和结果。比如第一条记录(88,5,0)表示习题ID为88,与概念5有关,学生的答案是错误的。由于 10 个练习与 6 个概念相关,我们将学生对每个概念的预测知识绘制在图 3 中。例如,由于学生在与第 5 个概念相关的第一个练习 88 中失败,学生的知识状态在第5个概念比较低。学生历史练习未涵盖的知识概念的状态以黑色表示。我们现在观察推荐的练习。
![](https://raw.githubusercontent.com/zqlaicl/pic/main/img/202209071043868.png)
6 结论
在本文中,我们改进了 DKVMN,通过基于课程概念列表设计其神经网络结构,并在学生知识追踪过程中明确考虑练习-概念映射关系。我们还增强了 DKVMN 模型以考虑更多输入特征。实验结果表明,我们的模型比现有的深度知识跟踪模型具有更高的性能。我们还提出了一种练习推荐算法,该算法使用具有神经网络函数近似的无模型强化学习来学习直接对学生锻炼历史的原始观察进行操作的锻炼推荐策略。我们的实验结果表明,在最大化学生的知识水平方面,我们的策略比现有的启发式策略取得了更好的性能。据我们所知,这是深度强化学习首次应用于个性化数学练习推荐。