Dynamic Key-Value Memory Networks for Knowledge Tracing

写在前面

虽然这篇文章年限较久,但其经典的算法很有借鉴意义,它解决了RNN一直存在的长期依赖的问题。

1 摘要

知识追踪 (KT) 是一项在学生参与一系列学习活动时,就一个或多个概念追踪他们不断发展的知识状态的任务。KT的一个重要目的是个性化练习序列,以帮助学生有效地学习知识概念。然而,现有的方法,例如贝叶斯知识追踪和深度知识追踪,要么分别为每个预定义概念建模知识状态,要么无法准确指出学生擅长或不熟悉哪些概念。为了解决这些问题,这项工作引入了一种称为动态键值记忆网络(DKVMN)的新模型,该模型可以利用基础概念之间的关系并直接输出学生对每个概念的掌握程度。与促进单个记忆矩阵或两个静态记忆矩阵的标准记忆增强神经网络不同,我们的模型有一个称为 key 的静态矩阵,用于存储知识概念,另一个称为 value 的动态矩阵,用于存储和更新相应的掌握水平概念。实验表明,我们的模型在一系列 KT 数据集中始终优于最先进的模型。此外,DKVMN 模型可以自动发现通常由人工注释执行的练习的基本概念,并描绘学生不断变化的知识状态。

2 引言

现有的方法,如贝叶斯知识追踪 (BKT) 和深度知识追踪 (DKT) [以特定于概念的方式或在一个汇总的隐藏向量中对学生的知识状态进行建模,如图 1 所示。在 BKT 中,学生的知识状态 s t s_t st被分析为不同的概念状态 s t i {s_t^i} sti,BKT 分别对每个概念状态进行建模。 BKT 将概念状态假设为已知和未知的二进制潜在变量,并使用隐马尔可夫模型更新二元概念状态的后验分布。因此,BKT 无法捕捉到不同概念之间的关系。此外,为了使贝叶斯推理易于处理,BKT 使用离散随机变量和简单的转换模型来描述每个概念状态的演变。因此,虽然 BKT 可以输出学生对一些预定义概念的掌握程度,但它缺乏提取未定义概念和对复杂概念状态转换进行建模的能力。

图一:BKT、DKT 和我们的模型之间的模型差异。 BKT 是特定于概念的。 DKT 使用汇总的隐藏向量对知识状态进行建模。我们的模型同时维护每个概念的概念状态,所有概念状态构成学生的知识状态。

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

目前的工作引入了一种称为动态键值记忆网络 (DKVMN) 的新模型,它结合了两个方法的优点:利用概念之间关系的能力和跟踪每个概念状态的能力。 DKVMN 模型可以自动学习输入练习和底层概念之间的相关性,并为每个概念维护一个概念状态。在每个时间戳,只会更新相关的概念状态。例如,在图 1 中,当一个新的练习 qt 出现时,模型发现 qt 需要应用概念 c j c^j cj c k c^k ck 。然后我们读取相应的概念状态 s t − 1 j s_{t-1}^j st1j s t − 1 k s_{t-1}^k st1k来预测学生是否会正确回答练习。学生完成练习后,我们的模型将更新这两个概念状态。所有的概念状态构成了一个学生的知识状态 S。

3 模型

3.1 用于知识追踪的记忆增强神经网络(MANN)

为了解决 KT 问题,MANN 的外部记忆矩阵被视为学生的知识状态。模型的整体结构如图 2a 所示。内存,表示为 Mt,是一个 N × M 矩阵,其中 N 是内存位置的数量,M 是每个位置的向量大小。在每个时间戳 t 处,MANN 的输入是 ( q t , r t ) (q_t,r_t) (qt,rt)的联合嵌入 v t v_t vt,其中每个 qt 来自一组 Q 个不同的练习标签,而 rt 是一个二进制值,指示学生是否正确回答了练习。嵌入向量 vt 用于计算读取权重 w t r w_t^r wtr和写入权重 w t w w_t^w wtw

在我们的实现中,我们选择余弦相似度注意机制来计算 w t r w_t^r wtr 和 LRUA 机制 来计算 w t w w_t^w wtw 。这两种注意力机制的详细信息显示在文献附录中。 MANN 的流程是,当学生以相同的响应回答已存储在内存中的练习时,vt 将被写入先前使用的内存位置,当新的练习到达或学生得到不同的响应时,vt将被写入最近最少使用的内存位置。

在读取过程中,读取的内容 rt 是所有内存槽的加权和,读取权重 w t r w_t^r wtr
r t = ∑ i = 1 N w t r ( i ) M t ( i ) (1) r_t=\sum_{i=1}^{N}w_t^r(i)M_t(i)\tag{1} rt=i=1Nwtr(i)Mt(i)(1)
由 rt 计算得到的输出 p t ∈ R Q {p_t\in \mathbb{R}^Q} p

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值