基于掌握速度的知识追踪模型
2021-03-23宗晓萍陶泽泽
宗晓萍,陶泽泽
河北大学 电子信息工程学院,河北 保定 071002
随着互联网教育的不断发展,通过运用人工智能技术来促进教育己成为必然趋势。近年来,智能教育和在线教育平台越来越普及,学生可以在不同时刻进行学习,并且可以观看不同学校、老师开设的课程。然而,教育平台上的学生人数远远超过教师数量,老师不可能追踪每一个学生的知识状态并提供个性化的学习路径[1]。如何个性化每个学生的学习情况,如何让在线教育系统做到因材施教,这是当前智能教育领域中的重要研究课题[2],也是未来教育发展的基本趋势。
知识追踪的特点是个性化和自动化[3],其任务是根据学生与智能辅导系统的互动来自动追踪学生的知识状态随时间的变化过程,以便能够准确地预测学生对知识点的掌握情况以及学生下一次的表现。KT任务可以形式化为一个有监督的序列学习问题:即给定学生的历史交互序列,预测学生回答下一个练习题正确的概率。典型的知识追踪方法有:贝叶斯知识追踪(Bayesian Knowledge Tracing,BKT)[4]和深度知识追踪(Deep Knowledge Tracing,DKT)[5]。最初的知识追踪是基于概率的贝叶斯知识追踪模型(BKT),本质上是隐马尔可夫模型(Hidden Markov Model,HMM)的一个特例,它把知识体系划分为多个知识点,学生对每个知识点的掌握情况看作隐含状态,之后根据学生的历史答题情况来更新隐含变量的概率分布。但BKT模型存在以下几个不足:首先需要对数据进行标注,其次每个知识点的概念是单独表示的,BKT无法捕捉不同概念之间的相关性且无法有效表示复杂的概念状态转换。随着深度学习的发展,研究人员将深度学习应用于知识追踪领域。提出了深度知识追踪模型(DKT),它将长短期记忆网络(LSTM)用于知识追踪任务。不但比BKT 模型有更好的预测性能,而且不需要专家对习题进行知识点标注,大大节约了手工标注数据的人力成本。然而DKT模型将学生对于知识点的掌握情况用一个隐藏状态表示,并且该隐藏状态是无法解释的,因此DKT 模型无法详细地输出学生对于每个知识点的掌握水平。并且一个LSTM 将所有记忆存储在一个隐藏向量中。这导致LSTM 很难准确地记住超过数百个时间步长的序列。记忆增强神经网络(MANN)[6]是针对上述问题提出的一种解决方案:允许网络保留多个隐藏状态向量,分别对这些向量进行读写。MANN是在传统的神经网络模型基础上装备外部记忆以及相应的读写机制的一类模型。代表性模型有神经图灵机[7]、端到端记忆网络[8]、动态记忆网络[9]等。
知识追踪领域的最新进展是2017年提出的动态键值记忆网络(DKVMN)[10],它借鉴了MANN 的思想,结合了 BKT 和 DKT 的优点,在 DKVMN 论文中,比较了DKVMN和DKT,以及一个复杂的BKT版本BKT+。发现DKVMN 取得了优异的性能,是KT 领域最先进的模型。除了改进性能之外,它还有其他几个优于LSTM的优点,包括防止过拟合、参数数量更少以及通过潜在概念自动发现类似的练习题。
尽管DKVMN 模型取得了比DKT 更好的性能,但是它仍然有一些基本的限制。例如,当学生第一次就能答对一个练习题时,他们的掌握程度会有很大的变化。相反,如果一个学生在做了很多次之后才答对这个练习题,那么他对这个练习题的掌握程度应该只会有一点点变化,即每一个学生掌握知识点的速度不同。DKVMN无法对这种现象进行建模。根据DKVMN 模型的一些局限性,提出了一种基于掌握速度的知识追踪模型(MSKT)。本文的主要贡献如下:(1)提出了一种基于掌握速度的知识追踪模型,目前现有的KT 模型都无法对知识增长速度进行动态建模。(2)利用记忆增强神经网络的实用性,更好地模拟学生的学习过程。(3)可以自动地发现相似的练习题。(4)在四个公开的知识追踪数据集上对本文的模型进行了评估,发现它明显优于DKVMN和传统KT模型。
1 动态键值记忆网络
香港中文大学的施行建等[10]在2017 年根据BKT、DKT的优势和不足并且利用了记忆增强神经网络的方法,提出了动态键值对记忆网络(DKVMN)。他们发现DKVMN 具有优异的性能,除了改进性能之外,它还能够输出学生对于概念的掌握程度以及模拟练习题和概念状态之间的转换,是当时KT 领域最先进的模型,如图1所示。
图1 DKVMN结构图
在图1中,Mk表示静态矩阵(key矩阵),它用来存储所有的知识概念。Mv表示动态矩阵(value 矩阵),它通过删除向量et和添加向量at来存储并更新学生对于概念的掌握情况。如果有Q个隐含的概念,它们存储在key矩阵Mk(Q×dv)中,学生对于概念的掌握状态存储在value 矩阵Mk(Q×dv)中,输出pt表示学生答对下一道练习题的概率。通过最小化pt与真实值rt之间的标准交叉熵损失来训练这个模型,其公式如下:
2 MSKT模型提出的思想
最早的知识追踪模型是BKT模型,它用HMM模型来更新隐含变量的概率分布。由于BKT模型的准确率较低,很多研究者对BKT模型进行了改进,这些改进虽然使BKT 的预测性能得到了提升,但预测效果始终不如DKT。因此,在本文的实验中,没有与BKT的预测性能进行对比。
DKT模型借鉴了深度学习的方法,相比于HMM具有高维,连续的隐藏状态表示。DKT 可以自动学习知识点和练习题之间的关系且不用专家对数据进行标注。但DKT模型对所有知识点的掌握程度用一个隐藏层表示,且无法表示该隐藏层,这就导致了DKT模型无法追踪预测某一个特定的知识点的掌握程度。相反,BKT 明确地使用一组变量来表示学生对每个练习的掌握程度。
DKVMN模型利用了记忆增强神经网络的思想,与传统的KT 模型相比,DKVMN 取得了优异的性能而且通过潜在概念自动发现类似的练习题。
因此,本文的MSKT 模型首先结合BKT 和DKT 的优点,即不需要对数据进行标注,而且可以输出学生对每个练习题的掌握程度。其次,MSKT 模型还借鉴了DKVMN 模型的优点,不但有很好的预测性能,而且可以自动发现相似的练习题。最后,本文讨论了DKVMN模型的一些局限性,并且根据BKT、DKT和DKVMN的优点,提出了一种新的知识追踪模型。
2.1 MSKT知识追踪模型
本文的MSKT模型是基于DKVMN模型提出的,虽然DKVMN模型比BKT、DKT有更好的性能,但是它仍然有一些基本的限制。例如,它在计算删除向量et和增加向量at时,DKVMN模型不使用当前的记忆内容。这意味着,给定相同的输入,它将始终对记忆进行相同的更改。因此,这并不能准确地反映学生的学习方式。在现实世界中,每个学生掌握知识点的速度不同。DKVMN无法对这种现象进行建模。DKVMN 模型之所以存在这个缺陷,是因为它采用了记忆增强神经网络的思想。因为相关权重wt的计算是基于当前的记忆内容,而在MANN模型中,在计算删除向量et和增加向量at时,没有使用当前的记忆内容。然而,在DKVMN 中,相关权重的计算是根据当前输入和静态矩阵Mk得到的,而动态状态根本不用于此计算。根据DKVMN 模型的一些局限性,提出了一种基于掌握速度的知识追踪模型(MSKT)。它通过简单地使用读向量rt(学生当前对qt的掌握情况)和当前输入xt来计算更新向量并且使用分布式写入外部记忆矩阵来克服这一限制。MSKT 会依据学生的实际答题情况进行更新以追踪学生知识状态,进而可以对新的题目进行预测。如果多个记忆片段的相关权值很高,它们将使用彼此的记忆进行更新,这意味着不再是每个记忆片段对应一个概念。MSKT 模型与DKVMN使用相同的读操作,但是使用不同的写操作,允许模型根据当前记忆的内容在每一步对其状态进行变量更改,同时仍然保持独立的记忆片段。
2.2 MSKT网络模型图
MSKT是MANN的一种,它使用外部记忆矩阵Mt∈RN×dv来处理学生以往的历史序列X=((q1,r1),(q2,r2),…,(qn,rn)),其中N是记忆片段的数量,dv是每个记忆片段的大小。在输入序列的每个时间步长上,该模型以离散的练习标记qt和读向量rt(从Mt中读取学生当前对qt的掌握情况)作为输入。并且用rt来计算学生成功的答出给定练习题的概率。然后根据学生实际回答rt的正确性和qt来更新记忆矩阵Mt。如图2 所示,相同颜色的函数具有相同的权值。MSKT 模型不需要对数据进行标注且可以处理任何向量输入的优点,而传统KT 模型只适用于离散的练习标签。其次通过引入外部记忆,弥补了DKT 模型无法输出学生对每个练习题的掌握程度。
图2 MSKT操作图解
2.3 相关权重
本文使用了与DKVMN 论文中相同的方法来计算知识点权重(Knowledge Concept Weight,KCW),知识点权重是用来计算加权的每个知识点的掌握水平,进而预测学生对练习题的作答情况。
每个练习题qt都有自己的相关权重向量wt∈RN,它表示练习题和每个潜在概念之间的相关性。首先,练习题的独热编码通过习题的Embedding 矩阵,得到其Embedding 的向量表示,即kt∈ Rdk表示练习题qt对应的连续的嵌入向量,而在传统的深度知识追踪模型中采用的是独热编码的形式。其次,嵌入向量kt与键矩阵中的每个记忆单元做内积,最后应用一个Softmax 函数。其相关权重计算如下:
直观上看,这个过程与标准的记忆增强神经网络寻址方法是一样的,只是使用了静态矩阵而不是动态的记忆内容。然而,本文注意到,由于键矩阵是静态的,这个操作完全等价于对kt进行线性变换,然后应用一个Softmax 函数。也就是说,一个没有偏置项的Softmax激活层。下面的读操作和写操作都将使用这个知识点权重向量wt。
2.4 读操作
本文通过计算得到的练习题知识点权重KCW,加权该练习题所涉及的全部知识点的知识向量,并将这些知识向量进行加权求和来表达学生做该习题所涉及知识点的总体掌握情况,进而根据这个总体掌握情况来预测学生回答这个练习题的情况。具体地,给定相关权重wt,当练习题qt到来时,通过每个值矩阵中记忆片段的加权和表示要读取的内容。其公式如下:
计算得到的rt可以看作学生对当前练习题的总体掌握程度(每个练习题可能涉及到多个知识点)。具体地,对于当前的练习题qt,本文通过习题Embedding 矩阵获得练习题的向量表示kt,由于每个练习都有自己的难度,本文将rt与kt连接起来传递给带有ReLU 全连接层来获取预测函数ft,它包含了学生的总体掌握水平和当前练习题的难度。其公式如下:
最后ft通过一个Sigmoid 激活函数的全连接层来预测学生答对该题的概率:
2.5 写操作
学生回答完练习题qt后,根据学生回答练习题的正确性rt和qt来更新记忆矩阵Mt。相比于动态键值记忆网络,本文在更新知识概念记忆矩阵的时候考虑了当前的记忆内容,而前者忽略了这个。用嵌入向量Vt来代替元组( )qt,rt,Vt表示学生完成练习题qt后获得的知识增长。为了计算更新的记忆矩阵Mt+1,本文将每个记忆片段视为独立的有一个隐藏状态向量的RNN。Vt根据相关权重wt进行分割,并分布在所有记忆片段中,使第i行记忆单元接收wt(i)vt作为输入。其次每个记忆片段独立计算自己的更新内容。在本文的模型中,本文使用GRU进行更新,因为它比LSTM更简单,参数少,可以显著的减少计算时间。其公式如下:
其中,Mt(i)是Mt的第i行。注意,本文对每个记忆单元使用相同的GRU 函数,即所有记忆单元之间共享GRU更新的参数。其次,本文采用了与DKT和DKVMN相同的损失函数,MSKT模型的训练是最小化预测值p与真实值y的交叉损失函数:
2.6 MSKT模型与典型KT模型的关联
MSKT模型与BKT模型相比,MSKT模型不需要专家对习题进行知识点标注,且能够详细地输出学生对于每个知识点的掌握水平。
MSKT 模型与DKT 模型相比,两者都不需要对数据进行标注,但MSKT模型具有更好的预测性能且不会产生过拟合,另外,MSKT 模型还可以追踪预测某一个特定的知识点的掌握情况,而DKT却无法做到这一点。
MSKT 模型与DKVMN 模型相比,两者均结合了BKT 和DKT 的优点且借鉴了记忆增强神经网络的思想,其次都可以自动发现相似的练习题,但DKVMN 模型不能使用当前的记忆内容,即没有考虑学生掌握知识的速度。而本文的MSKT不但能够对这种现象建模,而且比DKVMN具有更好的预测性能。
总之,本文设计的深度知识追踪模型根据实际应用,结合了BKT、DKT 以及DKVMN 的优点,并且考虑了当前的记忆内容,即考虑了学生掌握知识点的速度,来提高知识追踪模型的性能。
3 实验结果与分析
为了评价MSKT的性能指标,在4个公开的知识追踪数据集上与DKT 和DKVMN 模型进行了实验对比。其结果表明MSKT 模型优于DKT 和DKVMN,并且也可以自动地发现相似的练习题。
3.1 数据集
本文使用了4 个公开的知识追踪数据集:ASSIST-ments2009、ASSISTments2015、STATICS 和 JUNYI。这些数据集包含来自学生与各种在线智能辅导系统的交互日志。
3.1.1 ASSISTments2009
这个数据集[11]是2009 年期间在教育平台ASSISTMENTS 上收集的。这个平台提供了高中的数学习题。当这个数据集第一次发布时,它包含重复的记录,因为一些使用这个数据集的论文有不可靠的结果[12]。从那时起,一个更新的版本已经发布,没有错误的重复,本文的实验中使用了更新的版本。数据集包含两种不同的交互模式的数据集:skill-builder 和 non-skill-builder。在实验中使用skill-builder 数据集,因为在这个数据集中,每个互动都被标记为一个独特的技能ID,这使得预处理更加简单。就像在DKVMN论文中一样,丢弃没有技能名称的记录,更新后的数据集包含4 151 名学生,110个练习标签,325 637个互动。
3.1.2 ASSISTments2015
该数据集也收集自2015 年的ASSISTMENTS 教育平台,与2009年的数据集不同,它来自一个交互模式的记录,所有这些记录都被使用。在预处理工程中,删除了正确的值不是1或0的记录,剩下的数据集包含19 840名学生、100个练习标记和683 801个交互。
3.1.3 STATICS 2011
这个数据集[13]是从大学的工程力学课程中收集的。在力学系统中,每个练习都包含多个步骤。由于此数据集包含相对较少的不同练习,因此将练习题的每个步骤作为模型的单独输入。也就是说,练习ID 和步骤ID 一起充当输入,因此相同练习的不同步骤将被视为单独的输入ID。该数据集包含333 名学生、1 223 个练习标签和189 297个交互。
3.1.4 JUNYI Academy 2015
该数据集[14]取自2015 年JUNYI 学院的交互日志,完整的数据集包含25万名学生的日志,以及超过2 500万的交互。为了减少所需的计算时间,在实验中,从这个数据集中随机选择了10 000名学生来使用,在选择的子样本中有720个练习和2 122 314个交互。
3.2 实现细节
将数据集划分成训练集、交叉验证集以及测试集,其中训练集占数据集的60%,交叉验证集和测试集各占20%。训练每个epoch 后,都要在交叉验证集上对模型进行评估,其次选择验证分数最大的epoch在测试集上进行评估。本文的模型使用Adam 优化算法[15]进行训练,学习率为0.005 并且用交叉熵作为损失函数。所有的梯度的范数都被剪裁在50 以内,这样可以减少训练RNN 的困难[16]。使用Glorot[17]初始化所有可训练的参数。STATICS数据集的mini-batch size的大小设置为8,其余数据集的mini-batch size 的大小设置为32。发现当STATICS数据集的mini-batch size为32时,由于缺乏随机噪声,其模型性能极差。
3.3 评价指标AUC
为了评价MSKT模型的性能,使用了接收者操作特性(ROC)曲线下面积(AUC)来度量[18]。首先AUC作为性能度量在机器学习领域凭借其优越的性质受到广泛的关注,尤其适合类不平衡问题[19]。另外,在KT领域的论文均使用AUC 作为评价指标,这样实验结果可以很容易地与KT领域的论文进行比较。本文用不同的随机初始化方法对模型进行6次训练,得到模型在测试集上的平均AUC和标准差,如表1所示。
在DKVMN的论文中,DKVMN模型在ASST2009、ASST2015和STATICS数据集上的性能优于LSTM。然而,本文的发现与此相反:从表1中可以看出,本文发现一个普通的LSTM 稍微优于DKVMN。本文报告的DKVMN 得分与他们报告的DKVMN 得分或多或少相同,但是本文的LSTM的表现明显好于他们。假设这种差异是由于用Adam优化训练模型,然而在以前的知识追踪论文中使用的是一个标准的SGD优化器。利用二阶导数的优化方法在训练RNN 时可以取得较好的效果[20],Adam 优化器确实利用了二阶导数信息。确实发现,正如预期的那样,MSKT模型在4个公开的数据集上的AUC 分数都高于LSTM 和DKVMN 模型,即MSKT模型的预测性能最好。
3.4 防止过拟合
在原始 DKVMN 论文中,DKVMN 与 LSTM 相比,DKVMN 对过拟合的抵抗性明显更强。过拟合描述了这样一种情况:模型在训练数据集上表现得很好,但是在测试集上表现得很差。本文比较了LSTM、DKVMN和MSKT 在训练期间的训练和验证AUC,以证明MSKT也能防止过拟合,如图3所示。
表1 知识追踪模型在测试集上的AUC
图3 训练和验证AUC分数
由图3 可知,在 ASST2009 和 ASST2015 数据集上,LSTM 模型确实存在过拟合问题,因为仅仅经过3 或4个epoch后,其训练和验证AUC分数就开始迅速出现差异。DKVMN和MSKT都有更好的表现,在收敛之前保持相似的训练和验证的AUC 分数。然而,在另外两个数据集上,发现所有的模型都存在过拟合,但可以明确看出MSKT的过拟合程度小于DKVMN和LSTM。
3.5 自动发现相似的练习题
在训练过程中,记忆增强模型学习每个练习题的相关权重向量,由于具有相关性的练习题将共享记忆片段,因此模型将相似的练习题放在同一个记忆片段中。这意味着相关权重向量可以用来识别相似练习题的集群,因为相似的练习题具有相似的相关权重。为了验证这一点,使用MSKT 模型来识别ASST2009 数据集中的相关练习题。本文选择使用ASST2009 数据集有两个原因:首先它的练习题数量相对较少,这使得显示所有练习题都比较简单,其次这个数据集包含每个练习题的名称。
在ASST2009数据集上,训练一个有N=10 个记忆片段的MSKT 模型并且提取每一个练习题的相关权重向量。使用t-SNE将向量降至二维,并且能够保持原始的数据结构[21],通常用于可视化高维数据点。其结果如图4所示,相似的练习题用相同的颜色标注。并且按照图4 把相同颜色的练习题放到相同的区块中,如图5所示。
图4 根据相关权重向量对练习题进行聚类
从图4 和图5 中可知,MSKT 模型可以自动地发现相似的练习题。例如,橙色的习题具有相关的数学运算,它包括整数的加减法、小数的加减法以及小数与整数的加减法等。蓝色的习题也具有相关的数学运算,它包括三角形的内角运算、多边形的周长、圆的面积等。
图5 练习题ID和对应的名称
4 结束语
通过介绍典型的知识追踪模型(BKT模型、DKT模型以及DKVMN模型)存在的一系列问题以及各自的优势。发现目前现有的KT模型都不能对知识增长速度进行动态建模。针对这一现象,提出了一种新的知识追踪模型MSKT来解决这个问题,该模型可应用于在线学习平台来提高学生的学习效率。实验分析表明:MSKT模型在四个公开的知识追踪数据集上的AUC分数明显高于DKVMN 和DKT。MSKT 模型还可以防止过拟合以及自动地发现相似的练习题,充分证明了本文所提模型的实用性和优越性。知识追踪模型为教育研究者预测学生知识掌握情况提供了一个便捷的途径,能够创造出真正能够满足每个学生需求的个性化学习方案。