Abstract
知识追踪(Knowledge Tracing, KT)是对学生的知识状态进行评估,并根据其学习过程中以前的一些练习和结果来预测该学生是否能正确回答下一个问题。KT 利用机器学习和数据挖掘技术来提供更好的评估、支持性学习反馈和适应性指导。本文提出了一种新的知识追踪模型–记忆网络动态学生分类(Dynamic Student Classification on Memory Networks, DSCMN),该模型通过捕捉学生长期学习过程中每个时间间隔的时间学习能力来改进现有的 KT 方法。实验结果证实,该模型在预测学生表现方面明显优于目前最先进的 KT 建模技术。
**Keywords: **Massive open online courses, Knowledge tracing, Key-value memory networks, Student clustering, LSTMs
1 Introduction
引导人高效、有效地解决问题是教育研究中反复出现的话题。知识追踪(KT)在这个研究界获得了可信度,在学习过程中提供了适当的和适应性的指导。KT 的目标是评估是否掌握了技能,并利用这些信息来定制学习经验,无论是在 MOOC,导学系统还是在网络上,结果应用的一些例子。例如,当“1+2×3.5=?”这样的问题给定一个学生,她必须掌握加法和乘法的技能才能解决这道题。得到正确答案的概率主要取决于这道题背后这两项技能的掌握程度。掌握一项技能可以通过做有关这项技能的练习来实现。知识追踪的目标是根据学生先前练习的观察结果来追踪他们的知识状态[5]。这项任务也称为学生建模。KT 的研究可以追溯到 20 世纪 70 年代末,人们已经探索了大量的人工智能和知识表示技术[3,14]。在学生在与系统交互时学习的环境中(特别是在 MOOC 等学习环境中),对学生技能掌握情况进行建模涉及时间维度。例如,涉及相同技能集的序列问题一开始可能会失败,但后来会成功,因为学生的技能掌握程度有所提高。然而,其他因素也会影响成功的结果,比如两个问题的难度、遗忘、猜想和失误,以及一系列其他因素,如果不考虑这些因素,就会导致噪音[11,12]。
KT 在学习环境中的动态特性导致了能够对时态或顺序数据建模的方法。本文提出了一种新的知识追踪模型–动态学生分类记忆网络(DSCMN)。该模型能够捕捉学生长期记忆中的时间学习能力,同时评估学生对知识状态的掌握程度。时间学习能力是指特定技能的学习速度。这可能与车轮旋转(wheel spinning)之类的现象有关,在这种现象下,学生即使多次尝试也无法学会一项技能[17]。它依靠 RNN 架构来提高性能预测。我们的假设是,学习能力可以随着时间的推移而变化,追踪这一因素可以帮助预测未来的表现。
本文的其余部分组织如下。第二节回顾了通过数据预测学生表现的学生建模技术的相关工作。第三部分介绍了所提出的 DSCMN 模型。第 4 节提到了使用的实验数据集。第五节描述了实验结果,第六节总结了本文的工作,并讨论了未来的研究方向。
2 Knowledge Tracing
成功的学习环境如认知导师系列和 ASSISTments 平台,都依赖于某种形式的 KT[6]。在这些系统中,每个问题都标有正确回答该问题所需的基本技能。KT 可以看作是有监督的顺序学习问题的任务,其中模型被给予学生过去与系统的交互,其中包括:技能以及响应结果
。KT 预测下一个问题得到正确答案的概率,这主要取决于与问题
相关的相应技能的掌握。因此,我们可以将得到正确答案的概率定义为
,其中
,
是一个元组,包含时间 t−1 时对技能 s 的响应结果 r。然后,我们在这里回顾四种最著名的评估学生表现的最先进的 KT 建模方法。
2.1 Bayesian Knowledge Tracing (BKT)
BKT 可以说是第一个放宽静态知识状态假设的模型。早期的方法,如 IRT,会假设学生不会在答案之间学习,这对于测试是合理的假设,但对于学习环境来说则不是。引入 BKT 是为了在学习环境中追踪知识[5]。在最初的形式中,它还假设每个项目都测试一个技能,但这个假设在之后的工作中被放宽。数据按技能进行划分,在每个数据集上学习一个模型就会得到每个技能的特定模型。标准的 BKT 模型由 4 个参数组成,这些参数通常是在为每个技能建立模型时从数据中学习的。该模型的推断概率主要取决于那些参数,这些参数被用来预测学生如何掌握一项技能,在给定该学生到目前为止对该技能下问题 s 的错误和正确尝试的时间顺序[1]。要估计一名学生在给定其表现历史的情况下掌握技能的概率,BKT 需要有四种概率:P(L0),掌握技能 L0 的初始概率;P(T),从非掌握状态到掌握状态的转移概率;P(S),失误率,尽管掌握但回答错误的概率;P(G),猜测率,尽管不掌握但回答正确的概率。
2.2 Deep Knowledge Tracing (DKT)
与 BKT 类似,深度知识跟踪(Deep Knowledge Tracing, DKT)[13]对尝试(做题尝试)的技能序列进行跟踪,但作者利用神经网络的优势,打破了技能分离和二元状态假设的限制。它利用学生以前的尝试历史,并将每次尝试转换为一个 one-hot 编码的特征向量。然后,这些特征作为输入输入到神经网络中,并将信息通过网络的隐藏层传递到输出层。输出层提供学生在系统中正确回答该特定问题的预测概率。
DKT 使用长短期记忆(Long Short-Term Memory, LSTM)[8]来动态地表示学生的潜在知识空间和练习次数。学生通过作业增加的知识可以通过利用学生以前的表现历史来推断。DKT 在隐含层中将学生所有技能的知识状态归结为一个隐藏状态。学生在特定时间戳的技能掌握状态由以下公式定义:
在 DKT 中,tanh 和 sigmoid 函数都是按元素应用的,并由输入权重矩阵 Whx、递归权重矩阵 Whh、初始状态 h0 和读出权重矩阵 Wyh 来参数化。潜在单元和读出单元的偏偏差由 bh 和 by 表示。
2.3 Dynamic Key-Value Memory Network (DKVMN)
DKVMN 是对 DKT 的一种改进,它利用一个称为外部记忆槽(external memory slots)的神经网络模块来编码学生的知识状态,并将其作为 key 和 value 组件对学生的知识状态进行编码[19]。特定技能的学习或遗忘存储在这两个组件中,并通过额外的注意机制——读写操作控制。
与 DKT 不同,DKVMN 通过执行读写操作来执行局部状态转换,从而避免了隐藏层中的全局和非结构化状态到状态的转换。通过使用从输入技能和 key 记忆槽计算出的相关权重对 value 记忆槽进行读写来跟踪学生的知识状态。它由三个主要步骤组成:
Correlation:利用 softmax 激活和 key 记忆槽
之间的内积计算出输入技能
的相关权重:
其中 kt 是 st 的连续嵌入向量,且 id differentiable。在后面的读写过程中都使用了相关权值。
Reading:通过使用 wt 对值记忆槽中的值进行加权和来检索 st 的掌握 mt:
Prediction:通过使用掌握程度 mt 来计算用潜在技能回答对问题的概率 p(st):
其中和
。
Writing: 在学生回答问题后,模型会根据学生的回答(rt)更新 value 记忆。将 xt=(st,rt)的联合嵌入转换为 embedding values vt,并将其写入到带有相关权重 wt(与读取过程中所使用的相同)的值存储器中。使用以下公式在添加新信息之前执行擦除:
其中 E 和 D 是形状的变换矩阵。这种先擦除后添加的机制允许遗忘和强化学生学习过程的知识状态[19],这在其他基于 RNN 的模型中是不能做到的。
2.4 Deep Knowledge Tracing with Dynamic Student Classification(DKT-DSC)
尽管上述模型在评估技能掌握程度上比 DKT 有更好的准确性,但在处理 KT 任务时都有不足之处。DKT 和 DKVMN 都忽视了当时学生的长期学习能力。因此,该模型不能评估学生在一个长期的学习过程中,在给定的时间间隔内达到的学习能力水平。在 DKT 和 DKT-DSC 中,LSTM 使用单个状态向量在单个隐含层中编码具有相应学习能力的学生知识状态的时间信息。
为了对学习能力进行建模,我们结合 DKVMN 和 DKT-DSC 的优点,提出了一种新的基于记忆网络的动态学生分类模型(Dynamic Student Classification on Memory Networks, DSCMN)。DSCMN 在每个时间间隔同时根据评估的当时学生的长期能力和评估的技能掌握情况来预测学生的表现。
Evaluating Temporal Student’s Learning Ability:学习是一个涉及练习的过程:学生在练习中变得熟练。此外,学习也受到个人学习能力的影响,或者说通过或多或少的练习来变得熟练[10]。
为了检测学生在长期学习过程中在一系列时间间隔上的当时学习能力的规律和变化,需要用 DKT-DSC 的公式 17 对学生过去的表现进行编码,以预测其在当前时间间隔内的学习能力。在每个时间间隔之后更新学生过去表现的编码向量。K-Means 算法[9]用于 通过测量在训练 DKT-DSC 过程[10]之后获得的质心之间的欧几里德距离,并分配最近的聚类标签作为学生在时间 z 的长期学习能力,来评估学生在每个时间间隔 z 的训练和测试中的当时长期学习能力。评估在学生进行前 20 次尝试之后开始,并且在学生每 20 次尝试之后进行更新。对于第一个时间间隔,每个学生都被分配了初始学习能力 1,如图 1 所示。
Calculating Problem Difficulty:我们测量问题难度(10 个级别)[11,12]。请注意,在这项研究中,难度与问题有关,而与技能本身无关。问题的难度确定为:
其中:
其中 Nj 是尝试问题 Pj 的学生集合,而 pij 是学生 i 第一次尝试 pj 问题的结果。结果为 0 表示失败。常量 pd 是我们希望保留的问题难度(级别)。它在函数 δ(pj,pd)中描述,如公式(20)所示。本质上,δ(Pj,Pd)是将问题 Pj 的平均成功率映射到(10)个级别的函数。对于那些没有得到至少 4 个不同学生回答的问题,即数据集中|Nj|<4 的问题,我们对这些问题应用,对应于 0.5 的难度。
3.1 Assessing Student’s Mastery of Skill
为了根据当时学习能力来评估技能掌握情况,我们像 DKVMN 一样,在两个 key 和 value 记忆槽中使用读写过程。DSCMN 还使用根据输入技能和 key 记忆计算出的相关权重来评估技能掌握情况。在 DSCMN 中,不使用嵌入值,而是使用公式(6)和(7)将 one-hot 编码的输入直接馈送到记忆网络中。在将 xt 写入到值存储器之前,从读取过程中获得技能 st 的掌握 mt。然后,学生在时间 t 回答问题后,模型使用公式(10)和(12)将 xt 写入值内存(图 2)。
预测:通过将学生在当时学习能力下之前的反应和技能掌握情况输入到额外的隐含层中,来估计在时间间隔 z 和当时学习能力 c 下学生使用学生潜在技能正确回答问题的概率,并进行如下预测:
其中 cz 是该学生在时间间隔 t∈z 的当时学习能力,编码了学生 i 在时间间隔 z 和当时学习能力下技能 st-1 的先前反应 xt-1、技能 id st 的掌握情况 mt 和相关问题难度 pdt。DSCMN 具有根据当时长期学习能力来评估技能掌握情况的能力。通过使用这些因素来执行预测,并将其存储在隐藏状态 ht 中。
Optimization:为了提高基于 RNN 的模型的预测性能,对于所有基于 RNN 的模型,我们使用 pt 和实际响应 rt 之间的交叉熵损失 l 进行训练,如下所示:
4 Datasets
为了验证所提出的模型,我们在四个公共数据集上进行了测试,这些数据集来自两个不同的教学场景,其中学生在教育环境中与基于计算机的学习系统交互:(1)ASSISTments:一个最早于 2004 年创建的在线辅导系统,它让初中生和高中生带有脚手架的提示来参与到他们的数学问题中:(1)ASSISTments1:一个在线辅导系统,它最初创建于 2004 年,让初中生和高中生参与到他们的数学问题的脚手架提示中来。如果在 ASSISTments 上学习的学生正确回答了一道题,他们就会得到一道新题。如果他们回答错误,他们会被提供一个小型的辅导课程,在这个课程中,他们必须回答几个问题,将问题分解成几个步骤。数据集如下:ASSISTments 2009-2010(skill builder)、ASSISTments 2012-2013、ASSISTments 2014-2015。(2)Cognitive Tutor。Algebra 2005-2006[4]:是来自 PSLC DataShop 的卡内基学习(Carnegie Learning Of PSLC DataShop)在 KDD Cup 2010 比赛中发布的开发数据集。对于所有数据集,我们的实验只考虑对原始问题的第一次正确尝试。我们删除缺少技能值的数据和重复记录的问题。据我们所知,这些是最大的公开可用的知识跟踪数据集(表 1)。
**https://sites.google.com/site/assistmentsdata/.
_**https://pslcdatashop.web.cmu.edu/KDDCup/downloads.jsp.\_
5 Experimental Study
在这个实验中,我们假设学生每做 20 次尝试就是一个时间间隔。DKT-DSC 和 DSCMN 在实验中使用的学生学习能力时间值总数为 8 个(7 个簇,1 个为所有学生评估前在初始时间间隔内的初始能力的时间值)。在所有数据集上使用五折交叉验证进行预测。每个 fold 涉及将每个数据集随机分为 80%的训练学生数据和 20%的测试学生数据。对于 DKVMN 的输入,在训练过程中学习到 key 记忆和 value 记忆中的初始值。对于其他模型,应用 one-hot 编码。值记忆中的初始值将初始知识状态表示为每个技能的先验难度,并在测试过程中固定。
我们使用 TensorFlow 实现了所有模型,DKT,DKT-DSC 和 DSCMN 具有相同的全连接隐藏节点结构,即 DKT 和 DKT-DSC 的 LSTM 隐藏层大小以及 DSCMN 记忆网络的输出大小都为 200。为了加快训练过程,采用小批量随机梯度下降法最小化损失函数。我们的实施的批处理大小为 32,对应于 32 个来拆分每个学生的序列。我们用 0.01 的学习率训练模型,并采用了 dropout 来避免过拟合[16]。我们把 epochs 数设为 100。所有模型都在相同的训练和测试学生集上进行训练和测试。
对于 BKT,我们使用期望最大化(EM)算法,并将迭代次数限制为 200 次。我们学习每种技能的模型,并分别做出预测。每项技能的结果取平均值。
在表 2 中,DSCMN 在三个数据集中的性能明显优于最先进的模型。在认知导师数据集上,与与标准 DKT 的最大测试 AUC 为 78.4,DKT-DSC 的最大测试 AUC79.2,DKVMN 的最大测验 AUC 仅为 78.0 相比。DSCMN 模型的 AUC=86.0,比原始 DKT 和 DKVMN 模型显著提高 10%,比 DKT-DSC 模型提高 8%。对于 ASSISTments09 数据集,在 AUC=81.2 的情况下,DSCMN 也获得了约 10%的增益,高于 DKT-DSC(AUC=78.5),远高于原始 DKT(AUC=71.3)和 DKVMN(AUC=70.7)时。在 ASSISTments12 数据集上,DSCMN 仅获得 AUC=0.71【数据有错误】。在最新的 ASSISTments14 数据集(与其他三个数据集相比,ASSISTments14 数据集包含的学生更多,数据更少并且缺乏问题信息)中,DSCNM 的 AUC 略低于 DKT-DSC。
在表 3 中,当我们比较上述模型的 RMSE 时,BKT 在 ASSISTments09 中最低为 0.46,ASSISTments12 和 ASSISTments14 为 0.51,Cognitive Tutor 为 0.44。DSCMN 在所有数据集中的 RMSE 结果最低为 0.40,而所有其他模型的 RMSE 结果都不超过 0.43(认知导师数据集中的 DKT 和 ASSISTments14 中的 DSCMN 除外)。根据这些结果,DSCMN 在 Cognitive Tutor、ASSISTments09、ASSISTments 12 上的表现优于 DKT-DSC,且显著优于其他模型,但在 ASSISTts 14 上略低于 DKT-DSC。
6 Conclusion and Future Work
本文提出了一个新的模型 DSCMN,它通过收集技能、问题和学生的信息来预测学生的表现:学生在每个时间步长中对各种问题的技能掌握程度,以及每个时间间隔的学生学习能力。
在四个数据集上的实验表明,该模型比现有最先进的 KT 模型具有更好的预测性能。对学生在每个时间间隔的当时学习能力的动态评估起着至关重要的作用,它有助于 DSCMN 捕捉到数据中的更多差异,从而导致更准确的预测。
在我们未来的工作中,我们计划将这个模型应用于与多种技能相关的问题,并将其应用于相关问题的推荐。
References
……
- 本文作者: YuT
- 本文链接: https://ytno1.github.io/archives/830526f8.html
- 版权声明: 本博客所有文章除特别声明外,均采用 MIT 许可协议。转载请注明出处!