Why Deep Knowledge Tracing has less Depth than Anticipated

Why Deep Knowledge Tracing has less Depth than Anticipated

Abstract

知识追踪使智能辅导系统能够推断出学生已经掌握了哪些主题或技能,从而对课程进行相应的调整。深度知识追踪(DKT)使用循环神经网络(RNN)进行知识追踪,与贝叶斯知识追踪(BKT)和性能因子分析(PFA)等模型相比,已经取得了明显的改进。然而,DKT并不像其他模型那样可以解释,因为研究界并不完全了解由递归神经网络学习的决策过程。在本文中,我们批判性地研究了DKT模型,可视化并分析了DKT在高维空间中的行为。
我们修改和探索了DKT模型,发现深度知识追踪有一些关键的缺陷。1)DKT不是通过时间来追踪每个技能,而是更有可能学习一个’能力’模型;2)DKT的递归性质强化了它在追踪任务中使用的不相关信息;3)一个未经训练的递归网络可以达到与训练的DKT模型类似的结果,支持这样一个结论:递归关系没有被正确学习,相反,改进只是投射到高维、稀疏矢量空间的好处。基于这些观察,我们提出了使用深度模型进行知识追踪研究的改进和未来方向。

3 Experiment

为了研究 DKT 模型,我们根据循环神经网络中的激活进行了大量分析。我们还探索了不同的训练协议和激活的聚类,以帮助阐明 DKT 模型学到的东西。

3.1 Experiment setup

在我们的分析中,我们使用了 “ASSISTmentsData 2009-2010 (b)数据集”,该数据集是由Xiong等人在去除重复数据后创建的[15]。与Xiong等人一样,我们在本文中也使用LSTM单元进行分析。因为我们将对LSTM的特定激活进行可视化,所以回顾一下组成每个单元的数学元素是很有用的。一个LSTM单元由以下部分组成,其中一连串的输入{x1, x2, …, xT } ∈X理想地被映射到一个标记的输出序列{y1, y2, …, yT }∈Y。∈ 预测的目标是学习权重和偏差(W和b),使模型的输出序列({h1, h2, …, hT }∈H)尽可能接近Y:

这里,σ指的是logistic(sigmoid)函数,-指的是点乘,∗指的是元素间的向量乘法,[, ] 指的是向量连接。出于可视化的目的,我们在测试期间对每个输入的上述6个中间输出进行记录,并将这些输出串联成一个 "激活 "向量,at=[ft, it, C˜t, Ct, ot, ht]。在DKT模型中,RNN的输出,ht被连接到输出层yt,它是一个与技能相同数量元素的向量。我们可以将 yt 中的每个元素解释为学生将正确回答每个技能的问题的估计,较大的正数表示学生更有可能正确回答,而更多的负数表示学生不太可能正确回答。因此,掌握所有技能的学生理想情况下将获得所有技能中的一个。一个没有掌握任何技能的学生理想情况下会获得所有负面技能中的一个。
深度神经网络通常在高维空间中工作并且难以可视化。即便如此,降维技术可以帮助识别集群。例如,图 1 绘制了 ASSISTmentsData 中许多不同学生在第一个时间步 (t = 0) 的激活向量的前两个简化组件(使用 t-SNE [10])。图中的数字是技能标识符。我们使用蓝色表示正确的响应,使用橙色表示不正确的响应。通过降低每个学生的 at 向量的维数,我们可以看到激活在问题回答正确还是错误之间显示出明显的聚类。我们可能期望在两个集群中的每一个中观察技能标识符的子集群,但我们没有。这一观察结果支持以下假设,即正确和不正确的响应对于 DKT 模型比技能标识符更重要。然而,也许缺乏子集群是不可避免的,因为我们只是在一个时间步之后可视化激活——这激发了下一节的分析。

图 1:第一时间步输入的激活向量的 T-SNE 的前两个分量。 数字是技能标识符,蓝色代表正确输入,橙色代表错误输入。
图 2:一名学生的预测变化,23 步,正确输入标记为蓝色,错误输入标记为橙色。

3.2 Skill relations

在本节中,我们试图了解当一个学生回答题库中更多的问题时,他的预测向量是如何变化的。图2描绘了一个特定学生的每个问题回答的预测差异(当前预测向量-先前预测向量)(步骤是垂直显示的,可以从下到上依次阅读)。横轴表示技能标识符,热图中方框的颜色表示输出向量yt的变化。热图中的初始行(底部)是第一次输入时yt的起始值。我们可以看到,如果学生回答正确,大部分的yt值会增加(暖色)。当一个错误的回答发生时,大部分的预测值会减少(冷色)。这具有直观的意义。我们期望一些技能是相关的,所以正确的回答应该增加价值,不正确的回答应该减少价值。我们可以进一步观察到,如果学生正确或不正确地重复回答同一技能的问题,yt向量的变化会减少。例如,观察从第14步到第19步,学生正确回答了第113号技能的问题–最终yt的变化来到了一个稳定的状态。然而,偶尔我们也可以注意到,一个正确的回答会导致预测向量的减少(观察步骤9)。从我们的经验来看,这种行为很难说得通,因为正确回答一个问题不应该降低对其他技能的掌握程度。
Yeung等人在调查单一技能时也有类似的发现[16]。我们还注意到,第9步与正在回答的技能的过渡相吻合(从技能120号到113号)。
即便如此,奇怪的是,从一个技能转换到另一个技能会减少yt的值,即使回答是正确的。从这个观察来看,改进DKT模型的一个潜在方法是为这种意外行为增加惩罚(例如,在循环网络的损失函数中)。
图3:随机挑选的3种技能的100个连续正确性的激活向量变化
图4:随机挑选的3种技能的激活向量在时间上的差异

3.3 Simulated data

从上面的分析中,我们看到从第14步到第19步,学生正确地回答了第113号技能的问题,并且yt的变化也在减少–也许这表明矢量正在收敛。另外,从图2中我们看到,对于每一个正确的输入,无论输入的技能是什么,yt中的大多数元素都会增加一些幅度。为了更好地理解这种收敛行为,我们模拟了DKT模型对Oracle学生的反应,它总是能正确地回答每个技能。我们模拟了模型如何应对Oracle学生正确回答一个技能的100个问题。我们对三个随机选择的技能重复这一过程。

我们用t-SNE将每个技能的激活向量还原成二维图来绘制收敛性(图3)。随机选择的技能是#7。#8号,和24号。我们可以看到,这三种技能中的每一种都是从二维空间的不同位置开始的。然而,它们各自收敛到空间中的同一位置附近。换句话说,似乎DKT正在学习一个 “神谕状态”,而这个状态可以通过反复练习任何技能来达到,无论选择什么技能。我们用其他一些技能验证了这一观察(未显示),发现这一行为是一致的。因此,我们假设DKT正在学习一个 "学生能力 "模型,而不是像BKT那样的 "每个技能 "模型。为了使这一观察更加具体,在图4中,我们绘制了当前时间步长的激活向量at和之前的激活at-1之间的欧氏距离,我们可以看到,在20步之后,差异变得越来越小。此外,从每个技能中学到的每个激活向量之间的欧氏距离变得非常小,这支持了这样的观察:不仅yt输出向量在收敛,而且LSTM网络内部的所有激活也在收敛。我们发现这种行为很奇怪,因为它意味着DKT模型不记得是用什么技能将网络收敛到 “神谕状态”。记忆起始技能对于预测学生的未来表现至关重要,然而DKT模型会以相同的方式对待每个技能。我们还分析了一个学生总是错误地回答问题的过程,发现在反神谕状态下的收敛也有类似现象。

图5显示了连续20次回答正确后的技能预测向量。我们可以看到大多数技能的预测值都在0.5以上,不管甲骨文学生使用的具体练习技能是什么。现在,我们可以有把握地说,DKT模型并不是真的在跟踪每项技能的掌握程度,它更像是从回答中学习一种 “能力模型”。一旦学生处于这种神谕状态,DKT会认为他/她会正确回答任何技能中的大部分问题。我们假设这种行为可以通过在LSTM网络的解码过程中使用 "注意力 "向量来缓解[13]。递归网络中的自我注意通过对序列中某一范围内的状态向量进行加权求和来解码状态向量(权重是根据状态向量动态变化的)。
对于DKT来说,这个注意向量也可以根据序列中回答的技能动态分配,这可能有助于促进记忆长期的技能依赖性。

3.4 Temporal impact

RNNs通常很适合跟踪序列中输入的关系,特别是当输入在序列中相互靠近时。然而,长距离的依赖关系对网络来说更难追踪[13]。换句话说,RNN模型的预测将更多地受到近期输入的影响。对于知识追踪来说,这并不是一个理想的特性。考虑如下所示的两种情况。对于每个场景,第一行是技能编号,第二行是反应(1表示正确,0表示不正确)。这两种情况下,每种技能的尝试次数都相同(9号技能尝试4次,6号技能尝试3次,24号技能尝试2次)。另外,每个技能内的正确性排序也是一样的(例如,技能#9的正确性为1、0、0、0)。

图5:对技能7号、8号、24号进行20步后的预测向量
图6:两个不同学生的DKT预测。蓝线是来自DKT的正确性预测。红线是实际反应的正确性(1或0)。

对于像 BKT 这样的模型,每个技能都有一个单独的模型。因此,呈现的不同技能的相对顺序没有影响,只要每个技能内的顺序保持不变。换句话说,对于每个技能,正确和不正确尝试的顺序保持不变,但可以将不同的技能打乱到序列中。对于 BKT,它会从这两个场景中学习相同的模型,但对于 DKT 可能不是这种情况。 DKT 模型在看到连续三个错误输入后更有可能预测错误响应,因为它对序列中最近的输入更敏感。这意味着,对于第一个场景,技能 #24(粗体)的第一次尝试更有可能被预测为错误,因为它遵循三个错误的响应。对于第二种情况,技能 #24(粗体)的第一次尝试更有可能被预测正确。因此,DKT 模型可能在给定的场景中表现不同。

图 6 给出了两个学生的真实数据集的两个典型摘录。在最上面的例子中,在几次正确输入之后,DKT 模型有很高的概率预测下一个项目是正确的,无论技能如何(70%)。同样,在底部示例中,在多次错误输入后,无论技能如何,DKT 模型预测下一个项目正确的概率都很低 (8%)。这意味着,如果学生之前已经掌握了一项简单的技能,但在三项更难的练习中都失败了,那么 DKT 会预测该学生也将无法掌握已经掌握的技能。由于篇幅有限,我们这里只给出两个样本,但这种行为在学生中是普遍存在的,我们接下来会详细讨论。同样,我们假设可以通过使用“注意力”向量来减轻这种行为,该向量允许 DKT 使用整个加权历史作为附加输入。

Khajah等人在[8]中也间接提到了这种回顾性效应。在本文中,我们以一种更加定量的方式来研究这一现象。我们对数据集进行了洗牌,使每个技能中的排序保持不变,但在序列中分散了反应。这种变化应该不会改变像BKT这样的模型的预测能力。表1和表2显示了使用该数据集的标准评价标准的结果。所有结果都是基于数据集的五倍交叉验证。当将原始数据集上的DKT与 "分散 "的数据集排序进行比较时,我们看到技能的相对排序对模型的性能有明显的负面影响。从这些观察中,我们看到DKT的行为更像PFA,它计算了除BKT以外的正确和错误尝试的先前频率,而且练习的设计可能对模型有巨大的影响(例如,简单和困难练习的安排)。

3.5 Is the RNN representation meaningful?

递归模型已经成功地应用于自然语言处理等实际任务中[3]。这些模型可能需要几天甚至几周的时间来训练。在最近发表的一篇论文中,Wieting等人[14]认为,RNN可能没有从数据中学习有意义的状态向量。他们表明,一个随机初始化的RNN模型(只训练了Wo和bo)可以达到与训练了所有参数的模型类似的结果。这个结果令人担忧,因为它可能表明,RNN的性能主要是由于简单地将输入数据映射到随机的高维空间。一旦投射到随机矢量空间中,线性分类就可以表现良好,因为在稀疏的矢量空间中,点更有可能被分离。实际的向量空间可能是没有意义的。我们在训练DKT模型时进行了类似的实验。我们随机初始化DKT模型,只训练最后一个线性层(Wo和bo),将LSTM的输出ht映射到技能向量yt。如表1和表2所示,未经训练的递归网络的表现与训练后的网络相似。

4 CONCLUSION AND FUTURE WORK

在本文中,我们深入探讨了深度知识追踪模型。我们利用激活向量的降维,对DKT的行为进行了可视化和分析,在。我们还使用定性和定量分析法分析了DKT的时序行为。我们发现,DKT模型很可能是在学习一个 "能力 "模型,而不是跟踪每一个单独的技能。此外,DKT还受到所呈现的技能的相对顺序的明显影响。我们还发现,随机初始化的DKT模型,只训练了最后的线性层,取得了与完全训练的DKT模型类似的结果。换句话说,DKT模型的性能提升可能源于将输入序列映射到一个随机的高维向量空间,在这个空间里,线性分类更容易,因为空间是稀疏的。这是一个令人担忧的结论,因为它意味着底层的递归表示可能不可靠,也没有语义意义。本文提出了一些缓解措施,包括使用损失函数来缓解不需要的行为,以及使用注意力模型来更好地捕捉长期的技能依赖。我们把对这些建议的评估留给教育数据挖掘界的未来工作。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值