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 通常被描述为一个有监督的序列学习问题:给定学生过去的练习交互,预测学生正确回答新练习的概率,即
。输入
是一个元组,包含学生在时间戳 t 尝试的练习 q 和学生答案 r 的正确性。我们将 X 建模为观察到的变量,将学生的 N 个基本概念
的知识状态
建模为隐藏过程。
现有的贝叶斯知识追踪(Bayesian Knowledge Tracing, BKT)[[3]和深度知识追踪(Deep Knowledge Tracing, DKT)[22]等方法要么以概念特定的方式建模,要么以一个概括的隐含向量对学生的知识状态进行建模,如图 1 所示。在 BKT 中,学生的知识状态 s 被分析成不同的概念状态,并且 BKT 分别对每个概念状态建模。BKT 假设概念状态为已知和未知的二元潜在变量,并使用隐马尔可夫模型更新二元概念状态的后验分布。因此,BKT 无法捕捉不同概念之间的关系。此外,为了保持贝叶斯推理的可操作性,BKT 使用离散随机变量和简单的转移模型来描述每个概念状态的演化。因此,尽管 BKT 可以输出学生对一些预定义概念的掌握程度,但它缺乏提取未定义概念和对复杂概念状态转换进行建模的能力。
除了从贝叶斯的角度解决问题外,一种名为 DKT[22]的深度学习方法利用了一种称为长短期记忆(LSTM)的递归神经网络(RNNs)的变体[9]。LSTM 假设了底层知识状态 S 的高维连续表示,DKT 的非线性输入到状态和状态到状态的转换比 BKT 具有更强的表征能力。不需要人工标记的注释。然而,DKT 将学生所有概念的知识状态概括到一个隐藏状态中,这使得很难追踪学生掌握某个概念的程度,也很难指出学生擅长或不熟悉哪些概念[11,31]。
本文介绍了一种称为动态键值记忆网络(DKVMN)的新模型,该模型结合了两个领域的优点:利用概念之间关系的能力和跟踪每个概念状态的能力。我们的 DKVMN 模型可以自动学习输入练习和底层概念之间的关联,并为每个概念维护一个概念状态。在每个时间戳,只有相关的概念状态将被更新。例如,在图 1 中,当新的练习 qt 到来时,模型发现 qt 需要应用概念 c 和 c。然后,我们读取相应的概念状态和
,以预测学生是否会正确回答练习。在学生完成练习后,我们的模型将更新这两个概念状态。所有的概念状态构成了一个学生的知识状态 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 层去获得读权重,其中。对于写过程,在[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 用于计算读取权重和写入权重
。
图 2:在这两种架构中,模型仅在时间戳 t 处绘制,其中紫色组件描述读取过程,绿色组件描述写入过程。DKVMN 模型中的蓝色组件表示计算相应权重的注意过程。(最好用彩色观看。)
介绍:提出了一种称为外部存储器的特殊神经网络模块,以增强网络捕获长期依存关系和解决算法问题的能力。
在我们的实现中,我们选择余弦相似度注意机制来计算,并选择 LRUA 机制[24]来计算
。附录中显示了这两种注意机制的详细信息。 MANN 的直觉是,当学生用相同的响应回答已存储在记忆器中的练习时,
将被写入先前使用的记忆位置;而当进行新练习或学生获得不同的响应时,
将被写入到最近最少使用的记忆位置。
在读取过程中,读取内容 rt 由带有读取权重的所有记忆槽的加权总和获得:
由 rt 计算得到的输出,表示学生在下一个时间戳中正确回答每个习题的概率。
在写过程中,我们首先使用擦除信号和写入权重
擦除记忆中不必要的内容,然后使用增加信号 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,输出正确响应的概率,然后用练习和响应元组(qt,rt)更新记忆。这里,qt 也来自于具有 Q 个不同练习标签的集合和 rt 是二进制值。我们进一步假设练习背后有 N 个潜在概念
。这些概念存储在 key 矩阵 Mk(大小为 N×dk)中,学生对每个概念的掌握程度,即概念状态
存储在值矩阵
中(大小为
),该值矩阵随时间变化。
DKVMN 通过使用从输入练习和 key 矩阵计算出的相关权重对 value 矩阵进行读写,来跟踪学生的知识。在以下各节中详细说明了模型。
3.2.1 Correlation Weight 相关权重
输入练习 qt 首先乘以嵌入矩阵 A(大小为 Q×dk),以得到维度的连续嵌入向量
。通过获取
和每个 key 槽
之间的内积的 Softmax 激活值进一步计算相关权重:
其中并且它是可微的。读取和写入过程都将使用此权重向量
,该权重向量表示练习与每个潜在概念之间的相关性。
3.2.2 Read process 读取过程
当进行练习 qt 时,读取内容 rt 将通过使用矩阵对值矩阵中所有记忆槽的加权和来检索:
计算出的读取内容 rt 被视为学生对本练习掌握程度的总结。鉴于每个练习都有其自身的难度,我们将读取内容 rt 和输入练习嵌入向量 kt 连接在一起,然后通过具有 Tanh 激活的完全连接层来获得总结向量 ft,其中包含学生对练习的掌握程度和先前的难度:
其中,
传递到另一个具有 Sigmoid 激活的全连接层,以预测学生的表现:
其中,pt 是一个标量,表示正确回答问题 qt 的概率。
3.2.3 Write process 写入过程
学生回答问题 qt 后,模型将根据学生回答的正确性更新 value 值矩阵。的联合嵌入向量将通过使用相关权重
(与读取过程中所使用的相同)写入到记忆器的 value 部分。
元组通过大小为
的嵌入矩阵 B 被嵌入,以获得学生在进行本练习后的知识增长
。将学生的知识增长写入 value 组件时,在添加新信息之前首先擦除记忆[6],这一步骤受 LSTMs 输入和忘记门的启发。
给定写入权重(这是我们模型中的相关权重 wt),则从计算擦除向量
:
其中,变换矩阵 E 的形状为,
是列向量,其
个元素均在(0,1)范围内。来自前一时间戳的值组件的记忆向量
的存储向量被修改如下:
其中 1 is a row-vector of all 1-s。因此,仅当记忆位置的权重和擦除元素均为 1 时,记忆位置的元素才会重置为零。如果权重或擦除信号为零,则记忆向量保持不变。擦除后,将使用长度为的 add 向量
来更新每个记忆槽:
其中变换矩阵 D 的形状为并且
是行向量。值记忆在每个时间 t 被更新:
这种先擦除后添加的机制允许在学生的学习过程中遗忘和强化概念状态。
3.2.4 Training 训练
整体模型架构如图 2b 所示。在训练过程中,嵌入矩阵 A 和 B 以及其他参数和和
的初始值都是通过最小化问题 pt 和真实标签 rt 之间的标准交叉熵损失来共同学习的。
我们的 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 中找到。
4.2 Implementation Details 具体实验步骤
输入的练习数据使用“one-hot”输入向量呈现给神经网络。具体地说,如果总共存在 Q 个不同的练习,则 key 记忆部分的练习标签 qt 是长度为 Q 的向量,其实例除了第 qt 个实例为 1 外,其他所有实例均为零。类似地,值矩阵组件的组合输入 xt=(qt,rt)是长度为 2Q 的向量,其中实例为 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 增加,然后开始下降。
4.4 Concept Discovery 概念发现
我们的 DKVMN 模型具有使用相关权重 w 来发现练习的基础模式或概念的能力,这传统上通常由专家注释。练习与概念之间的关联权重暗示了它们之间内在联系的强度。与[22]中的条件影响方法(其计算练习之间的依赖关系然后定义阈值以对练习进行聚类)相比,我们的模型直接将练习分配给概念。不需要预定义阈值。因此,我们的模型可以以端到端的方式发现练习的概念。
每个练习通常与一个概念相关联。在这种情况下,我们将练习分配给关联权重值最大的概念。实验结果表明,该模型能够智能地学习概念间的稀疏权重,发现的概念具有令人信服的结果。
在 Synthetic-5 数据集中,每个练习都来自概念,其中 k∈1…5,这样所有练习都可以访问基本概念,如图 4 中热力图的顶部 x 轴所示。相同概念中的练习用相同颜色的方框标记。图 4 中左侧的热力图显示了 50 个不同练习和 5 个潜在概念(在记忆大小为 5 时由 DKVMN 生成)之间的关联权重。每列表示练习和五个潜在概念之间的相关权重。对于每个练习,权重都是稀疏的,其中一个值恰好近似于 1,其他值近似为 0。在将每个练习聚类为具有最大权重值的概念之后,我们得到图 4 右侧所示的图,该图揭示了一个完美的五个潜在概念的聚类。我们的聚类结果和基本事实的调整后互信息[29]为 1.0。
此外,当记忆大小 N 设置为大于 5 个基本事实(概念),例如 50 时,我们的模型也可以得到 5 个练习簇/组,并为每个习题找到合适的概念。附录中介绍了其他结果。
在 ASSISTments 2009 数据集上,每个练习都没有使用基本事实概念。但是,可以获得每个练习标签的名称,如图 5 右侧所示。每个练习标签后面都有一个名称。图 5 中的结果聚类图是使用 t-SNE[15]通过将多维相关权重投影到 2-D 点来绘制的。所有练习被分成 10 组,同一组(概念)的练习用相同的颜色标注。聚类图显示了许多合理的结果。一些相关的练习在簇中是彼此接近的。例如,在第一个簇中,30 排序分数、33 排序整数、37 排序正小数和 62 排序实数聚在一起,这揭示了初等算术的概念。
4.5 Knowledge State Depiction 知识状态描述
我们的 DKVMN 也可以用来刻画学生不断变化的知识状态。刻画知识状态,尤其是每一种概念状态,对在线学习平台上的用户是有帮助的。如果学生了解了自身所有概念的概念状态,明确自己的长处和短处,他们就会更有动力独立填补学习空白。通过以下步骤可以在读取过程中获得学生不断变化的知识状态。
首先,将 value 组件中的内容直接用作公式(3)中的读取内容 rt,可以通过设置相关权重 wt 为[0,..,wi,..0]来访问该内容,其中概念的
等于 1。
然后,我们对公式(4)中输入内容嵌入的权重进行掩码,以忽略习题信息:
其中被分成两部分
和
,且设
。
最后,我们计算公式(5)中的标量 p 作为概念(概念状态)的预测掌握水平。
图 6 显示了描述学生五种不断变化的概念状态的示例。第一列表示每个概念在学生回答任何练习之前的初始状态,这种状态因概念而异。由于我们的模型能够为每个练习发现概念,所以每次学生回答一个练习时,发现的概念的概念状态都会增加或减少。例如,当学生正确回答前三个练习时,第二和第五个概念的概念状态增加;当学生回答第四个练习错误时,第三个概念的概念状态减少。在回答了 50 个练习后,学生被证明已经掌握了第二、第三和第四个概念,但没有理解第五个概念。
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,这将显示一个完美的结果。
7.2 Read Attention Mechanism of MANN MANN 的读取注意机制
对于每个输入键(input key) ,我们计算键和记忆的余弦相似度:
然后,它被用来通过具有正键强度(positive key strength)为 βt 的 softmax 来计算读取权重 Wr:
7.3 Write Attention Mechanism of MANN MANN 的写入注意机制
LRUA 模型[24]将 key 键写入最少使用的存储器位置或最近使用的存储器位置。
首先,利用使用权重向量来记录所有存储器的使用频率:通过衰减先前的使用权重并添加当前读写权重,在每个时间步长更新使用权重:
其中 γ 是衰减参数。在我们的实现中,将 γ 固定为 0.9。然后,使用符号定义最少使用的权重
,来记录最少使用的存储器/记忆,该符号表示向量 v 的第 n 个最小元素:
其中 n 被设置为等于对存储器的读取次数。
现在,写入权重是先前读取权重和先前最少使用权重的凸组合:
其中 σ(·)是 Sigmoid 函数,α 是一个标量门参数,用于在两个权重之间插值。
8. REFERENCES
……
- 本文作者: YuT
- 本文链接: https://ytno1.github.io/archives/b03bd76d.html
- 版权声明: 本博客所有文章除特别声明外,均采用 MIT 许可协议。转载请注明出处!