tags: [知识追踪, DKVMN]
categories: [知识追踪, DKVMN]


ABSTRACT

知识追踪(KT)是指在学生进行一系列学习活动的过程中,对一个或多个概念不断演变的知识状态进行追踪的任务。KT的一个重要目的是使得练习序列个性化,来帮助学生有效地学习知识概念。然而,现有的贝叶斯知识跟踪和深度知识跟踪等方法要么分别对每个预定义概念的知识状态进行建模,要么不能准确指出学生擅长或不熟悉哪些概念。为了解决这些问题,本文提出了一种名为动态键值记忆网络(DKVMN)的新模型,该模型可以利用底层概念之间的关系,直接输出学生对每个概念的掌握程度。与标准的记忆增强型神经网络(其只支持一个记忆矩阵或两个静态记忆矩阵)不同的是,我们的模型有一个静态矩阵key,它存储知识概念,另一个动态矩阵value,用来存储和更新相应概念的掌握程度。实验表明,在一系列KT数据集中,我们的模型始终优于最先进的模型。此外,DKVMN模型可以自动发现通常由人工标注的练习的基本概念,并描述学生不断变化的知识状态。

Keywords Massive Open Online Courses; Knowledge Tracing; Concept Discovery; Deep Learning; Dynamic Key-Value Memory Networks

1. INTRODUCTION

随着网络上大规模开放在线课程和智能辅导系统的出现,学生在解题过程中可以得到适当的指导,获得相关知识。当一个练习张贴出来时,学生必须应用一个或多个概念来解决该练习。例如,当学生试图解题“1+2”时,他或她应该应用“整数加法”的概念;当学生试图解题“1+2+3.4”时,他或她应该应用“整数加法”和“小数加法”的概念。学生能够正确回答练习的概率取决于学生的知识状态,这代表了学生已经掌握的基本概念的深度和健壮性。

知识追踪(KT)的目标是根据学生过去的练习表现来追踪学生的知识状态。KT是在线学习平台中的一项重要任务。导师可以根据学生的个人长处和短处给出适当的提示,并调整练习的顺序。学生可以了解他们的学习进度,并尽可能把更多的精力投入到不太熟悉的概念上,以更有效地学习。

虽然有效地建模学生的知识具有很高的教育影响,但使用数值模拟来表示人类的学习过程本身就很困难[22]。KT通常被描述为一个有监督的序列学习问题:给定学生过去的练习交互2017-DKVMN-Dynamic Key-Value Memory Networks for Knowledge Tracing(Jiani Zhang et al.) - 图1,预测学生正确回答新练习的概率,即2017-DKVMN-Dynamic Key-Value Memory Networks for Knowledge Tracing(Jiani Zhang et al.) - 图2。输入2017-DKVMN-Dynamic Key-Value Memory Networks for Knowledge Tracing(Jiani Zhang et al.) - 图3是一个元组,包含学生在时间戳t尝试的练习q和学生答案r的正确性。我们将X建模为观察到的变量,将学生的N个基本概念2017-DKVMN-Dynamic Key-Value Memory Networks for Knowledge Tracing(Jiani Zhang et al.) - 图4的知识状态2017-DKVMN-Dynamic Key-Value Memory Networks for Knowledge Tracing(Jiani Zhang et al.) - 图5建模为隐藏过程。

现有的贝叶斯知识追踪(Bayesian Knowledge Tracing, BKT)[[3]和深度知识追踪(Deep Knowledge Tracing, DKT)[22]等方法要么以概念特定的方式建模,要么以一个概括的隐含向量对学生的知识状态进行建模,如图1所示。在BKT中,学生的知识状态s被分析成不同的概念状态2017-DKVMN-Dynamic Key-Value Memory Networks for Knowledge Tracing(Jiani Zhang et al.) - 图6,并且BKT分别对每个概念状态建模。BKT假设概念状态为已知和未知的二元潜在变量,并使用隐马尔可夫模型更新二元概念状态的后验分布。因此,BKT无法捕捉不同概念之间的关系。此外,为了保持贝叶斯推理的可操作性,BKT使用离散随机变量和简单的转移模型来描述每个概念状态的演化。因此,尽管BKT可以输出学生对一些预定义概念的掌握程度,但它缺乏提取未定义概念和对复杂概念状态转换进行建模的能力。
image.png

除了从贝叶斯的角度解决问题外,一种名为DKT[22]的深度学习方法利用了一种称为长短期记忆(LSTM)的递归神经网络(RNNs)的变体[9]。LSTM假设了底层知识状态S的高维连续表示,DKT的非线性输入到状态和状态到状态的转换比BKT具有更强的表征能力。不需要人工标记的注释。然而,DKT将学生所有概念的知识状态概括到一个隐藏状态中,这使得很难追踪学生掌握某个概念的程度,也很难指出学生擅长或不熟悉哪些概念[11,31]。

本文介绍了一种称为动态键值记忆网络(DKVMN)的新模型,该模型结合了两个领域的优点:利用概念之间关系的能力和跟踪每个概念状态的能力。我们的DKVMN模型可以自动学习输入练习和底层概念之间的关联,并为每个概念维护一个概念状态。在每个时间戳,只有相关的概念状态将被更新。例如,在图1中,当新的练习qt到来时,模型发现qt需要应用概念c和c。然后,我们读取相应的概念状态2017-DKVMN-Dynamic Key-Value Memory Networks for Knowledge Tracing(Jiani Zhang et al.) - 图82017-DKVMN-Dynamic Key-Value Memory Networks for Knowledge Tracing(Jiani Zhang et al.) - 图9,以预测学生是否会正确回答练习。在学生完成练习后,我们的模型将更新这两个概念状态。所有的概念状态构成了一个学生的知识状态S。

此外,与支持单个记忆矩阵[6,24,30]或具有两个静态记忆矩阵[17,27]的变体的标准记忆增强神经网络(MANNs)不同,我们的模型有一个称为Key的静态矩阵,用于存储概念表示,另一个称为value的动态矩阵,用于存储和更新学生对每个概念的理解(概念状态)。术语静态和动态矩阵分别类似于作为字典数据结构(例如,Python的字典)中的键和值两个不可变和可变对象。同时,我们的训练过程类似于对象创建。在创建key之后,它们将在测试期间固定(即,不可变)。

具有两个静态记忆矩阵的网络不适合求解KT任务,因为学习不是一个静态过程。学习建立在人类记忆中先前知识的基础上,并受其影响[8]。具有单个动态矩阵的模型将正确回答的练习和错误回答的练习映射到不同的概念状态,这与我们的认知不符。实验表明,我们的DKVMN模型的性能优于MANN模型(只有单个动态矩阵)和最先进的模型。

我们的主要贡献总结如下:
1.利用MANNs的实用性,更好地模拟学生的学习过程。
2.提出了一种具有一个静态key矩阵和一个动态value矩阵的DKVMN模型。
3.我们的模型能够自动发现概念,这是一项通常由人类专家执行的任务,并描述了学生不断演变的知识状态。
4.我们的端到端可训练模型在一个合成数据集和三个真实数据集上的性能始终优于BKT和DKT。

2. RELATED WORKS

2.1 Knowledge Tracing

KT任务简单地根据学生在解题qt的过程中答案的正确与否rt来评估学生的知识状态。在这项研究中,qt是一个练习标签,rt∈{0,1}是一个二进制响应(1是正确的,0是不正确的)。没有纳入任何次要数据[11]。

BKT[3]是一个高度约束和结构化的模型[11],因为它对概念特定的性能进行建模,即为每个概念进行BKT的单独实例化,并且BKT假设知识状态为二进制变量。通过将个性化研究[19,33]、运动多样性[20]和其他信息[4,23]整合到贝叶斯框架中,提出了许多以下变体。

BKT[3]是一个高度约束和结构化的模型[11],因为它对特定概念的性能进行建模,即BKT为每个概念进行单独实例化,并且BKT假设知识状态为二进制变量。通过将个性化研究[19,33]、练习多样性[20]和其他信息[4,23]整合到贝叶斯框架中,提出了许多以下变体。

DKT[22]利用LSTM的实用性[9]打破了技能分离和二元状态假设的限制。LSTM使用隐藏状态作为过去输入序列的一种概括,并且在不同的时间步长上共享相同的参数。文献[22]中的实验表明,DKT在预测精度方面比以前的贝叶斯模型有较大幅度的提高。这项研究是首次尝试将深度学习模型[14,25]整合到KT中,这些模型在其他领域已经取得了显著的成功,包括计算机视觉[13]和自然语言处理[16]。

2.2 Memory-Augmented Neural Networks

受计算机体系结构的启发,一种名为外部存储器的特殊神经网络模块被提出,以增强网络捕捉长期依赖关系和解决算法问题的能力[7]。MANN在各个领域都取得了进展,比如问题回答[30,27,1,17],自然语言转换[8],算法推理[6,10],以及一次性学习[24,28]

典型的外部记忆模块包含两部分,一个是存储信息的记忆矩阵,另一个是与环境通信并读取或写入存储器的控制器。读写操作是通过附加的注意机制实现的。以前的大多数研究工作[6,27,24]使用类似的方法来计算读取权重。对于输入kt(练习嵌入向量),计算输入和每个记忆槽Mt(i)的余弦相似度或内积K [kt,Mt(i)],然后通过具有正键强度(positive key strength)βt的softmax层去获得读权重,其中2017-DKVMN-Dynamic Key-Value Memory Networks for Knowledge Tracing(Jiani Zhang et al.) - 图10。对于写过程,在[6]中提出了一种按内容和按位置关注的关注机制,以支持记忆的所有位置。另外,在[24]中提出了一个纯基于内容的记忆写入器,名为最近最少使用访问(least recently used access,LRUA)模块,用于将key写入最近最少使用的记忆位置或最近使用的记忆位置。

由于在读写操作中引入的递归性,MANN也是一种特殊的RNN。然而,MANN与DKT中使用的LSTM等传统的RNNs在三个方面有所不同。首先,传统的RNN模型使用单个隐藏状态向量来编码时间信息,而MANN使用可以增加存储容量的外部记忆矩阵[30]。其次,传统RNNs的状态到状态的转换是非结构化的和全局的,而MANN使用读和写操作来鼓励局部状态转换[6]。第三,传统RNNs中的参数数量与隐藏状态的大小有关[24]。对于MANN来说,增加记忆槽的数量不会增加参数的数量,这是一个计算效率更高的结果。

3. MODEL

在这一节中,我们首先介绍如何利用现有的MANN模型来解决KT问题。然后,我们指出了MANN的不足之处,并描述了我们的DKVMN模型。在下面的描述中,我们用粗体小写字母表示向量,用粗体大写字母表示矩阵。

3.1 Memory-Augmented Neural Network for Knowledge Tracing

为了解决KT问题,将MANN的外部记忆矩阵视为学生的知识状态。该模型的整体结构如图2a所示。表示为Mt的记忆是一个N×M矩阵,其中N是记忆位置的数量,M是每个位置的向量大小。在每个时间戳t处,MANN的输入是(qt,rt)元组的联合嵌入向量vt,其中每个qt来自一组Q个不同的练习标签集合,而rt是一个二进制值,指示学生是否正确回答了该练习。嵌入向量vt用于计算读取权重2017-DKVMN-Dynamic Key-Value Memory Networks for Knowledge Tracing(Jiani Zhang et al.) - 图11和写入权重2017-DKVMN-Dynamic Key-Value Memory Networks for Knowledge Tracing(Jiani Zhang et al.) - 图12
2017-DKVMN-Dynamic Key-Value Memory Networks for Knowledge Tracing(Jiani Zhang et al.) - 图13
图2:在这两种架构中,模型仅在时间戳t处绘制,其中紫色组件描述读取过程,绿色组件描述写入过程。DKVMN模型中的蓝色组件表示计算相应权重的注意过程。(最好用彩色观看。)
介绍:提出了一种称为外部存储器的特殊神经网络模块,以增强网络捕获长期依存关系和解决算法问题的能力。

在我们的实现中,我们选择余弦相似度注意机制来计算2017-DKVMN-Dynamic Key-Value Memory Networks for Knowledge Tracing(Jiani Zhang et al.) - 图14,并选择LRUA机制[24]来计算2017-DKVMN-Dynamic Key-Value Memory Networks for Knowledge Tracing(Jiani Zhang et al.) - 图15。附录中显示了这两种注意机制的详细信息。 MANN的直觉是,当学生用相同的响应回答已存储在记忆器中的练习时,2017-DKVMN-Dynamic Key-Value Memory Networks for Knowledge Tracing(Jiani Zhang et al.) - 图16将被写入先前使用的记忆位置;而当进行新练习或学生获得不同的响应时,2017-DKVMN-Dynamic Key-Value Memory Networks for Knowledge Tracing(Jiani Zhang et al.) - 图17将被写入到最近最少使用的记忆位置。

在读取过程中,读取内容rt由带有读取权重2017-DKVMN-Dynamic Key-Value Memory Networks for Knowledge Tracing(Jiani Zhang et al.) - 图18的所有记忆槽的加权总和获得:
2017-DKVMN-Dynamic Key-Value Memory Networks for Knowledge Tracing(Jiani Zhang et al.) - 图19
由rt计算得到的输出2017-DKVMN-Dynamic Key-Value Memory Networks for Knowledge Tracing(Jiani Zhang et al.) - 图20,表示学生在下一个时间戳中正确回答每个习题的概率。

在写过程中,我们首先使用擦除信号2017-DKVMN-Dynamic Key-Value Memory Networks for Knowledge Tracing(Jiani Zhang et al.) - 图21和写入权重2017-DKVMN-Dynamic Key-Value Memory Networks for Knowledge Tracing(Jiani Zhang et al.) - 图22擦除记忆中不必要的内容,然后使用增加信号at将vt加到记忆器中。详情请参见3.2.3节。

MANN使用N个记忆槽对学生的知识状态进行编码,并且比LSTM具有更大的容量, LSTM只将知识状态编码在单个隐藏向量中。

【个人理解
优点:MANN使用N个记忆槽对学生的知识状态进行编码,并且比LSTM具有更大的容量,后者仅在单个隐藏向量中对知识状态进行编码。
缺点:尽管MANN在存储学生过去的成绩方面比LSTM强大,但在应用于KT任务时仍然存在不足。在MANN中,我们读取的内容与我们写入的内容位于同一空间。但是,对于诸如KT之类的任务,输入和预测(这是学生接受的练习)以及学生答案的正确性具有不同的类型。因此,将练习和响应共同嵌入作为关注重点的方法没有意义。此外,MANN无法为输入练习显式建模基本概念。特定概念的知识状态是分散的,无法跟踪。】

3.2 Dynamic Key-Value Memory Networks

尽管MANN在存储学生过去的成绩方面比LSTM更强大,但在应用于KT任务时,MANN仍然存在不足。在MANN中,我们读到的内容和我们写的内容都在同一个空间里。然而,对于KT这样的任务,输入和预测,即学生接受的练习和学生答案的正确性有不同的类型。因此,将练习和反应联合嵌入作为注意key的方式是没有意义的。此外,MANN不能对输入练习的基本概念明确地建模。特定概念的知识状态是分散的,无法追踪。

为了解决这些问题,我们的DKVMN模型使用键值对而不是单个矩阵作为记忆结构。不同于MANN,我们的DKVMN模型不再读取和写入同一个记忆矩阵,而是关注key组件的输入(该组件是不变的),并读取和写入相应的value组件。

与MANN不同的是,在每个时间戳,DKVMN获取离散的练习标签qt,输出正确响应的概率2017-DKVMN-Dynamic Key-Value Memory Networks for Knowledge Tracing(Jiani Zhang et al.) - 图23,然后用练习和响应元组(qt,rt)更新记忆。这里,qt也来自于具有Q个不同练习标签的集合和rt是二进制值。我们进一步假设练习背后有N个潜在概念2017-DKVMN-Dynamic Key-Value Memory Networks for Knowledge Tracing(Jiani Zhang et al.) - 图24。这些概念存储在key矩阵Mk(大小为N×dk)中,学生对每个概念的掌握程度,即概念状态2017-DKVMN-Dynamic Key-Value Memory Networks for Knowledge Tracing(Jiani Zhang et al.) - 图25存储在值矩阵2017-DKVMN-Dynamic Key-Value Memory Networks for Knowledge Tracing(Jiani Zhang et al.) - 图26中(大小为2017-DKVMN-Dynamic Key-Value Memory Networks for Knowledge Tracing(Jiani Zhang et al.) - 图27),该值矩阵随时间变化。

DKVMN通过使用从输入练习和key矩阵计算出的相关权重对value矩阵进行读写,来跟踪学生的知识。在以下各节中详细说明了模型。

3.2.1 Correlation Weight 相关权重

输入练习qt首先乘以嵌入矩阵A(大小为Q×dk),以得到维度2017-DKVMN-Dynamic Key-Value Memory Networks for Knowledge Tracing(Jiani Zhang et al.) - 图28的连续嵌入向量2017-DKVMN-Dynamic Key-Value Memory Networks for Knowledge Tracing(Jiani Zhang et al.) - 图29。通过获取2017-DKVMN-Dynamic Key-Value Memory Networks for Knowledge Tracing(Jiani Zhang et al.) - 图30和每个key槽2017-DKVMN-Dynamic Key-Value Memory Networks for Knowledge Tracing(Jiani Zhang et al.) - 图31之间的内积的Softmax激活值进一步计算相关权重:2017-DKVMN-Dynamic Key-Value Memory Networks for Knowledge Tracing(Jiani Zhang et al.) - 图32
其中2017-DKVMN-Dynamic Key-Value Memory Networks for Knowledge Tracing(Jiani Zhang et al.) - 图33并且它是可微的。读取和写入过程都将使用此权重向量2017-DKVMN-Dynamic Key-Value Memory Networks for Knowledge Tracing(Jiani Zhang et al.) - 图34,该权重向量表示练习与每个潜在概念之间的相关性。

3.2.2 Read process 读取过程

当进行练习qt时,读取内容rt将通过使用2017-DKVMN-Dynamic Key-Value Memory Networks for Knowledge Tracing(Jiani Zhang et al.) - 图35矩阵对值矩阵中所有记忆槽的加权和来检索:
2017-DKVMN-Dynamic Key-Value Memory Networks for Knowledge Tracing(Jiani Zhang et al.) - 图36

计算出的读取内容rt被视为学生对本练习掌握程度的总结。鉴于每个练习都有其自身的难度,我们将读取内容rt和输入练习嵌入向量kt连接在一起,然后通过具有Tanh激活的完全连接层来获得总结向量ft,其中包含学生对练习的掌握程度和先前的难度:
2017-DKVMN-Dynamic Key-Value Memory Networks for Knowledge Tracing(Jiani Zhang et al.) - 图37
其中2017-DKVMN-Dynamic Key-Value Memory Networks for Knowledge Tracing(Jiani Zhang et al.) - 图382017-DKVMN-Dynamic Key-Value Memory Networks for Knowledge Tracing(Jiani Zhang et al.) - 图39传递到另一个具有Sigmoid激活的全连接层,以预测学生的表现:
2017-DKVMN-Dynamic Key-Value Memory Networks for Knowledge Tracing(Jiani Zhang et al.) - 图40
其中2017-DKVMN-Dynamic Key-Value Memory Networks for Knowledge Tracing(Jiani Zhang et al.) - 图41,pt是一个标量,表示正确回答问题qt的概率。

3.2.3 Write process 写入过程

学生回答问题qt后,模型将根据学生回答的正确性更新value值矩阵。2017-DKVMN-Dynamic Key-Value Memory Networks for Knowledge Tracing(Jiani Zhang et al.) - 图42的联合嵌入向量将通过使用相关权重2017-DKVMN-Dynamic Key-Value Memory Networks for Knowledge Tracing(Jiani Zhang et al.) - 图43(与读取过程中所使用的相同)写入到记忆器的value部分。

元组2017-DKVMN-Dynamic Key-Value Memory Networks for Knowledge Tracing(Jiani Zhang et al.) - 图44通过大小为2017-DKVMN-Dynamic Key-Value Memory Networks for Knowledge Tracing(Jiani Zhang et al.) - 图45的嵌入矩阵B被嵌入,以获得学生在进行本练习后的知识增长2017-DKVMN-Dynamic Key-Value Memory Networks for Knowledge Tracing(Jiani Zhang et al.) - 图46。将学生的知识增长写入value组件时,在添加新信息之前首先擦除记忆[6],这一步骤受LSTMs输入和忘记门的启发。
给定写入权重(这是我们模型中的相关权重wt),则从2017-DKVMN-Dynamic Key-Value Memory Networks for Knowledge Tracing(Jiani Zhang et al.) - 图47计算擦除向量2017-DKVMN-Dynamic Key-Value Memory Networks for Knowledge Tracing(Jiani Zhang et al.) - 图48
2017-DKVMN-Dynamic Key-Value Memory Networks for Knowledge Tracing(Jiani Zhang et al.) - 图49
其中,变换矩阵E的形状为2017-DKVMN-Dynamic Key-Value Memory Networks for Knowledge Tracing(Jiani Zhang et al.) - 图502017-DKVMN-Dynamic Key-Value Memory Networks for Knowledge Tracing(Jiani Zhang et al.) - 图51是列向量,其2017-DKVMN-Dynamic Key-Value Memory Networks for Knowledge Tracing(Jiani Zhang et al.) - 图52个元素均在(0,1)范围内。来自前一时间戳的值组件的记忆向量2017-DKVMN-Dynamic Key-Value Memory Networks for Knowledge Tracing(Jiani Zhang et al.) - 图53的存储向量被修改如下:
2017-DKVMN-Dynamic Key-Value Memory Networks for Knowledge Tracing(Jiani Zhang et al.) - 图54
其中1 is a row-vector of all 1-s。因此,仅当记忆位置的权重和擦除元素均为1时,记忆位置的元素才会重置为零。如果权重或擦除信号为零,则记忆向量保持不变。擦除后,将使用长度为2017-DKVMN-Dynamic Key-Value Memory Networks for Knowledge Tracing(Jiani Zhang et al.) - 图55的add向量2017-DKVMN-Dynamic Key-Value Memory Networks for Knowledge Tracing(Jiani Zhang et al.) - 图56来更新每个记忆槽:
2017-DKVMN-Dynamic Key-Value Memory Networks for Knowledge Tracing(Jiani Zhang et al.) - 图57
其中变换矩阵D的形状为2017-DKVMN-Dynamic Key-Value Memory Networks for Knowledge Tracing(Jiani Zhang et al.) - 图58并且2017-DKVMN-Dynamic Key-Value Memory Networks for Knowledge Tracing(Jiani Zhang et al.) - 图59是行向量。值记忆在每个时间t被更新:
2017-DKVMN-Dynamic Key-Value Memory Networks for Knowledge Tracing(Jiani Zhang et al.) - 图60

这种先擦除后添加的机制允许在学生的学习过程中遗忘和强化概念状态。

3.2.4 Training 训练

整体模型架构如图2b所示。在训练过程中,嵌入矩阵A和B以及其他参数和2017-DKVMN-Dynamic Key-Value Memory Networks for Knowledge Tracing(Jiani Zhang et al.) - 图612017-DKVMN-Dynamic Key-Value Memory Networks for Knowledge Tracing(Jiani Zhang et al.) - 图62的初始值都是通过最小化问题pt和真实标签rt之间的标准交叉熵损失来共同学习的。

2017-DKVMN-Dynamic Key-Value Memory Networks for Knowledge Tracing(Jiani Zhang et al.) - 图63
我们的DKVMN模型是完全区分的(differentiable),可以通过随机梯度下降有效地进行训练(更多信息,请参见第4.2节)。

4. EXPERIMENTS 实验

首先,在从在线学习平台收集的四个数据集(即一个合成数据集和三个真实数据集)上,将我们的DKVMN模型与其他方法进行比较,以评估预测精度。然后,在DKVMN和DKT上进行了不同状态维度的对比实验,为进一步的模型探索做准备。最后,验证了该模型自动发现概念和刻画学生知识状态的能力。

实验结果得出以下结论:

  • DKVMN在四个数据集上的性能优于标准MANN和其他最先进的方法。
  • 与DKT相比,DKVMN可以用更少的参数得到更好的结果。
  • DKVMN不会受到过拟合的困扰,这对DKT来说是一个大问题。
  • DKVMN可以准确地发现输入练习的基本概念。
  • DKVMN可以刻画学生随着时间的推移对于不同概念的概念状态。

我们使用MXNet[2]在只有单个NVIDIA K40 GPU的计算机上实现了这些模型。

4.1 Datasets 数据集

为了评估性能,我们在四个数据集上测试了KT模型:Synthetic-5, ASSISTments2009, ASSISTments2015, and Statics2011。

Synthetic-5:这个数据集模拟了2000名虚拟学生在训练和测试数据集中回答了50个练习。每个练习都是从五个隐藏概念中的一个中提取出来的,并且有不同的难度。我们无法在训练过程中访问基础概念标签,而只是将其用作基础事实来使用DKVMN模型去评估发现的概念结果。
Synthetic-5:https://github.com/chrispiech/DeepKnowledgeTracing/tree/master/data/synthetic

ASSISTments2009:此数据集来自ASSISTments在线辅导平台。由于重复记录问题[32],发布了更新版本,旧数据集上以前的所有结果都不再可靠。本文中的实验是使用更新的“skill-builder”“技能构建器”数据集进行的。没有技能名称的记录将在预处理过程中丢弃。因此,我们实验中的记录数量比[32]中的要少。共有4,151名学生回答了325,637项练习以及110种不同的练习标签。
ASSISTments2009:https://sites.google.com/site/assistmentsdata/home/assistment-2009-2010-data/skill-builder-data-2009-2010

ASSISTments2015:ASSISTments2015仅包含学生对100种技能的回答。经过预处理(除去了正确率不属于{0,1}的值)之后,来自19,840名学生的683,801条有效记录被保留在该数据集中。该数据集中的每个问题集都有一项相关技能。尽管此数据集的记录数最多,但每个学生的平均记录数最少。
ASSISTments2015:https://sites.google.com/site/assistmentsdata/home/2015-assistments-skill-builder-data

Statics2011:Statics来自一门大学级的工程静力学课程,具有189,297个试验,333个学生和1,223个练习标签[26,12]。在我们的实验中,问题名称和步骤名称的组合用作练习标签;因此,它具有最大数量的练习标签和每个学生的最大平均记录数。
Statics2011:**https://pslcdatashop.web.cmu.edu/DatasetInfo?datasetId=507

所有数据集的完整统计信息可以在表1中找到。
image.png

4.2 Implementation Details 具体实验步骤

输入的练习数据使用“one-hot”输入向量呈现给神经网络。具体地说,如果总共存在Q个不同的练习,则key记忆部分的练习标签qt是长度为Q的向量,其实例除了第qt个实例为1外,其他所有实例均为零。类似地,值矩阵组件的组合输入xt=(qt,rt)是长度为2Q的向量,其中实例2017-DKVMN-Dynamic Key-Value Memory Networks for Knowledge Tracing(Jiani Zhang et al.) - 图65为1。

在训练过程中,我们学习到key矩阵和value矩阵的初始值。key记忆器的每个槽都是概念嵌入,并在测试过程中被固定住。同时,value存储器的初始值是每个概念的初始状态,代表每个概念的初始难度。

在所有数据集中,30%的序列被作为测试集,除了合成数据集(the synthetic dataset)的训练数据集和测试数据集具有相同大小之外。总共20%的训练集被分割成一个验证集,该验证集用于选择最优的模型架构和超参数,并执行早期停止[18]。

参数是从具有零均值和标准差σ的高斯分布中随机初始化的。初始学习率因情况而异,因为每个数据集的学生数量、练习标签和总答案各不相同,但学习率γ每20个epochs以γ/1.5的速度衰退,直到达到第100个epochs。

在我们的实现中,我们对DKT使用了LSTM。使用余弦相似读取注意机制和LRUA写入注意机制实现了标准MANN。在所有实验中,使用带有动量和范数剪裁(norm clipping)的随机梯度下降[21]来训练DKT、MANN和我们的DKVMN。我们始终将动量设置为0.9,将范数裁剪阈值设置为50.0。考虑到输入序列的长度不同,所有序列的长度都被设置为200(对于合成序列采用长度为50),并且使用空符号将短序列填充为固定大小200。

在所有情况下,使用五次交叉验证来调整超参数。测试的曲线下面积(Test AUC)是使用100个epochs中验证AUC(validation AUC)最高的模型计算的。我们用不同的初始值σ重复每个训练五次,并报告平均测试AUC值和标准差。

4.3 Student Performance Prediction 学生表现预测

通过测量AUC来评估每个数据集的预测精度。50%的AUC代表随机猜测可达到的分数。较高的AUC得分意味着较高的预测性能。表1显示了所有数据集的测试AUC结果。

我们将DKVMN模型与MANN基线、最先进的DKT、标准的BKT模型进行了比较,并在可能的情况下,还比较了BKT的最优变体(BKT+)。一个有趣的观察是,我们实现的LSTM获得了比原始论文[22,11,32]更好的AUC。这可能是因为我们的实现使用了范数裁剪和早期停止,这两种方法都改善了LSTM的过拟合问题。BKT的结果是直接从最近的研究工作[11,32]中获得的。

在Synthetic-5数据集上,DKVMN模型的平均测试AUC为82.7%。在我们的模拟中,每个练习都被视为具有不同的技能标签。MANN的平均AUC为81.0%。DKT的AUC值为80.3%,优于原论文报道的75%[22,11]。BKT及其变体模型的AUC分别达到62%和80%[11]。2009年ASSISTments2009中DKVMN的预测结果对比MANN,DKT和BKT实现了提高,分别81.6%,79.7%,80.5%和63%[32]。由于此数据集的预处理方式与文献[32]中的不同,因此它们的结果不具有可比性。在ASSISTments2015数据集上,DKVMN的测试AUC为72.7%,优于MANN的72.3%,DKT的72.5%([32]中原始值70%),并且经典BKT则为64%[32]。关于Statistics2011,它具有最多的练习标签数和最少的答案数,经典的BKT获得73%的AUC,而结合遗忘,技能发现和潜在能力的BKT获得75%的AUC [11]。我们实施的DKT得出的AUC为80.2%,优于[11]中的76%。MANN仅产生77.6%的平均AUC。但是,我们的DKVMN模型实现了82.8%的AUC,优于所有以前的模型。

总而言之,DKVMN在所有数据集上的性能都好于其他方法,特别是在Statics2011数据集上,其不同练习的数量很大。这一结果表明,当习题数量很大时,我们的DKVMN能够很好地对学生的知识进行建模。

与DKT模型相比,DKVMN可以获得更好的学生练习成绩/表现预测精度,而且由于其外部存储容量大,所需的参数也要少得多。表2通过遍历不同的超参数,比较了DKVMN模型和使用LSTM的DKT模型。表中显示,状态维较低的DKVMN比状态维较高的DKT具有更高的预测精度。例如,在Statics2011数据集上,当状态维度等于200时,使用100万个参数,DKT达到80.20%的最大测试AUC。同时,DKVMN在19.7万个参数下,仅用50个状态维度就可以达到82.84%的测试AUC。

此外,DKT模型存在严重的过拟合问题,而我们的DKVMN模型没有遇到这样的问题。如图3所示,DKVMN的训练AUC和验证AUC之间没有太大差距,DKVMN的验证AUC平稳增长。然而,随着epoch的不断增加,DKT的训练AUC不断增加,DKT的验证AUC只在前几个epoch增加,然后开始下降。
image.png

4.4 Concept Discovery 概念发现

我们的DKVMN模型具有使用相关权重w来发现练习的基础模式或概念的能力,这传统上通常由专家注释。练习与概念之间的关联权重暗示了它们之间内在联系的强度。与[22]中的条件影响方法(其计算练习之间的依赖关系然后定义阈值以对练习进行聚类)相比,我们的模型直接将练习分配给概念。不需要预定义阈值。因此,我们的模型可以以端到端的方式发现练习的概念。

每个练习通常与一个概念相关联。在这种情况下,我们将练习分配给关联权重值最大的概念。实验结果表明,该模型能够智能地学习概念间的稀疏权重,发现的概念具有令人信服的结果。

在Synthetic-5数据集中,每个练习都来自概念2017-DKVMN-Dynamic Key-Value Memory Networks for Knowledge Tracing(Jiani Zhang et al.) - 图67,其中k∈1…5,这样所有练习都可以访问基本概念,如图4中热力图的顶部x轴所示。相同概念中的练习用相同颜色的方框标记。图4中左侧的热力图显示了50个不同练习和5个潜在概念(在记忆大小为5时由DKVMN生成)之间的关联权重。每列表示练习和五个潜在概念之间的相关权重。对于每个练习,权重都是稀疏的,其中一个值恰好近似于1,其他值近似为0。在将每个练习聚类为具有最大权重值的概念之后,我们得到图4右侧所示的图,该图揭示了一个完美的五个潜在概念的聚类。我们的聚类结果和基本事实的调整后互信息[29]为1.0。
image.png

此外,当记忆大小N设置为大于5个基本事实(概念),例如50时,我们的模型也可以得到5个练习簇/组,并为每个习题找到合适的概念。附录中介绍了其他结果。

在ASSISTments 2009数据集上,每个练习都没有使用基本事实概念。但是,可以获得每个练习标签的名称,如图5右侧所示。每个练习标签后面都有一个名称。图5中的结果聚类图是使用t-SNE[15]通过将多维相关权重投影到2-D点来绘制的。所有练习被分成10组,同一组(概念)的练习用相同的颜色标注。聚类图显示了许多合理的结果。一些相关的练习在簇中是彼此接近的。例如,在第一个簇中,30 排序分数、33 排序整数、37 排序正小数和62 排序实数聚在一起,这揭示了初等算术的概念。
image.png

4.5 Knowledge State Depiction 知识状态描述

我们的DKVMN也可以用来刻画学生不断变化的知识状态。刻画知识状态,尤其是每一种概念状态,对在线学习平台上的用户是有帮助的。如果学生了解了自身所有概念的概念状态,明确自己的长处和短处,他们就会更有动力独立填补学习空白。通过以下步骤可以在读取过程中获得学生不断变化的知识状态。

首先,将value组件中的内容直接用作公式(3)中的读取内容rt,可以通过设置相关权重wt为[0,..,wi,..0]来访问该内容,其中概念2017-DKVMN-Dynamic Key-Value Memory Networks for Knowledge Tracing(Jiani Zhang et al.) - 图702017-DKVMN-Dynamic Key-Value Memory Networks for Knowledge Tracing(Jiani Zhang et al.) - 图71等于1。

然后,我们对公式(4)中输入内容嵌入的权重进行掩码,以忽略习题信息:image.png
2017-DKVMN-Dynamic Key-Value Memory Networks for Knowledge Tracing(Jiani Zhang et al.) - 图73
其中2017-DKVMN-Dynamic Key-Value Memory Networks for Knowledge Tracing(Jiani Zhang et al.) - 图74被分成两部分2017-DKVMN-Dynamic Key-Value Memory Networks for Knowledge Tracing(Jiani Zhang et al.) - 图752017-DKVMN-Dynamic Key-Value Memory Networks for Knowledge Tracing(Jiani Zhang et al.) - 图76,且设2017-DKVMN-Dynamic Key-Value Memory Networks for Knowledge Tracing(Jiani Zhang et al.) - 图77

最后,我们计算公式(5)中的标量p作为概念(概念状态)的预测掌握水平。

图6显示了描述学生五种不断变化的概念状态的示例。第一列表示每个概念在学生回答任何练习之前的初始状态,这种状态因概念而异。由于我们的模型能够为每个练习发现概念,所以每次学生回答一个练习时,发现的概念的概念状态都会增加或减少。例如,当学生正确回答前三个练习时,第二和第五个概念的概念状态增加;当学生回答第四个练习错误时,第三个概念的概念状态减少。在回答了50个练习后,学生被证明已经掌握了第二、第三和第四个概念,但没有理解第五个概念。
image.png

5. CONCLUSIONS AND FUTURE WORK

本文提出了一种新的序列学习模型DKVMN来解决KT问题。该模型可以在在线学习平台上实现,提高学生的学习效率。DKVMN不仅表现优于最先进的DKT,而且还可以追踪学生随着时间的推移对每个概念的理解,这是DKT的主要缺点。与标准MANNs相比,键值对允许DKVMN发现每个输入练习的基本概念,并跟踪学生对所有概念的知识状态。

在以后的工作中,我们将把内容信息整合到练习和概念嵌入中,以进一步改进表示形式。我们还将研究一种层次化的键值存储网络结构,它可以对概念之间的层次关系进行编码。

6. ACKNOWLEDGEMENT 致谢

本文所述工作得到了中国香港特别行政区研究资助委员会(CUHK 14208815)和中国教育部的部分资助(01.16.00101)。

7. APPENDIX 附录

7.1 Concept Discovery

当synthetic-5数据集的记忆大小N设置为50时,练习仍可分为五类。图7中的热图描述了所有相关权重向量,它们只属于几个概念。在将每个练习聚类到具有最大权重值的概念后,我们的聚类结果和基本事实的调整后互信息为0.879。此外,如果我们使用t-SNE进行集群(如图7所示),那么调整后的互信息将为1.0,这将显示一个完美的结果。
image.png

7.2 Read Attention Mechanism of MANN MANN的读取注意机制

对于每个输入键(input key) 2017-DKVMN-Dynamic Key-Value Memory Networks for Knowledge Tracing(Jiani Zhang et al.) - 图80,我们计算键和记忆的余弦相似度:
2017-DKVMN-Dynamic Key-Value Memory Networks for Knowledge Tracing(Jiani Zhang et al.) - 图81
然后,它被用来通过具有正键强度(positive key strength)为βt的softmax来计算读取权重Wr:
2017-DKVMN-Dynamic Key-Value Memory Networks for Knowledge Tracing(Jiani Zhang et al.) - 图82

7.3 Write Attention Mechanism of MANN MANN的写入注意机制

LRUA模型[24]将key键写入最少使用的存储器位置或最近使用的存储器位置。

首先,利用使用权重向量2017-DKVMN-Dynamic Key-Value Memory Networks for Knowledge Tracing(Jiani Zhang et al.) - 图83来记录所有存储器的使用频率:通过衰减先前的使用权重并添加当前读写权重,在每个时间步长更新使用权重:
2017-DKVMN-Dynamic Key-Value Memory Networks for Knowledge Tracing(Jiani Zhang et al.) - 图84

其中γ是衰减参数。在我们的实现中,将γ固定为0.9。然后,使用符号2017-DKVMN-Dynamic Key-Value Memory Networks for Knowledge Tracing(Jiani Zhang et al.) - 图85定义最少使用的权重2017-DKVMN-Dynamic Key-Value Memory Networks for Knowledge Tracing(Jiani Zhang et al.) - 图86,来记录最少使用的存储器/记忆,该符号表示向量v的第n个最小元素:
2017-DKVMN-Dynamic Key-Value Memory Networks for Knowledge Tracing(Jiani Zhang et al.) - 图87
其中n被设置为等于对存储器的读取次数。

现在,写入权重2017-DKVMN-Dynamic Key-Value Memory Networks for Knowledge Tracing(Jiani Zhang et al.) - 图88是先前读取权重和先前最少使用权重的凸组合:
2017-DKVMN-Dynamic Key-Value Memory Networks for Knowledge Tracing(Jiani Zhang et al.) - 图89
其中σ(·)是Sigmoid函数,α是一个标量门参数,用于在两个权重之间插值。

8. REFERENCES

……