知识追踪(KT)是一项用于跟踪学生在参与一系列学习活动时对一个或多个概念的不断变化的知识状态的任务。KT的一个重要目的是个性化练习序列,以帮助学生有效地学习知识概念。但是,贝叶斯知识追踪和深度知识追踪等现有方法要么单独为每个预定义概念建立知识状态,要么无法精确确定学生擅长或不熟悉的概念。为解决上述问题,本文提出了动态键值记忆网络(DKVMN),可以利用基础概念之间的关系,直接输出学生对每个概念的掌握程度。与利用单个记忆矩阵或多个静态记忆矩阵的记忆增强神经网络不同,我们的模型有一个静态矩阵(键)用来存储知识概念,还有一个动态矩阵(值)用来存储和更新对应概念的掌握程度。DKVMN模型可以自动发现通常由人类注释执行的练习的基本概念,并描绘学生不断变化的知识状态。
随着网络中大量开放式在线课程和智能辅导系统的出现,学生可以在完成练习的过程中获得适当的指导和获取相关知识。在练习发布后,学生必须应用一个或多个概念来完成练习。学生能够正确回答练习的概率取决于学生的知识状态,该状态代表学生掌握的基本概念的深度和稳健性。
知识追踪(KT)的目标是根据学生过去的练习表现来追踪学生的知识状态。KT是在线学习平台的重要任务。 导师可以根据学生的个人优势和弱点,提供适当的提示并定制练习练习的顺序。学生可以了解他们的学习进度,并可以将更多精力投入到不太熟悉的概念上,以便更有效地学习。
尽管有效地模拟学生的知识具有很高的教育影响,但使用数值模拟来表示人类学习过程本身就很困难。通常,KT被制定为监督序列学习问题:给定学生过去的练习情况,预测学生正确回答新练习的概率。虽然贝叶斯知识追踪(BKT)可以输出学生对某些预定义概念的掌握程度,但它缺乏提取未定义概念和模拟复杂概念状态转换的能力。深度知识追踪(DKT)利用LSTM来解决BKT的问题,DKT总结了学生在一个隐藏状态下所有概念的知识状态,这使其很难追踪学生掌握了某个概念的多少,而且很难指出学生擅长或不熟悉的概念。本文提出了DKVMN,具有利用概念之间的关系以及跟踪每个概念状态的能力。 我们的DKVMN模型可以自动学习输入练习和基础概念之间的相关性,并为每个概念维护概念状态。在每个时间步,只有相关的状态会更新。
记忆增强神经网络
MANN模型如下图:
![61bb01dd0e659324afe9ebd04b53f186.png](https://i-blog.csdnimg.cn/blog_migrate/335136612090029dc5222a09f235b614.jpeg)
表示为
在实验中,采用余弦相似注意力机制来计算读权重,利用LRUA机制来计算写权重。直观来看MANN,当学生存储在存储器中的练习作出相同的响应回答时,
在读取的过程中,通过读取权重来计算所有记忆块的加权和,来得到读取内容。如下公式。
从
在写入过程中,我们首先使用擦除信号
MANN使用N个记忆块来编码学生的知识状态,并且具有比LSTM更大的容量,LSTM仅在单个隐藏矢量中编码知识状态。
动态键值记忆网络
尽管在存储学生过去的表现方面比LSTM更强大,但是当应用于KT任务时,MANN仍然存在缺陷。在MANN中,我们阅读的内容与我们编写的内容位于相同的空间中。 但是,对于像KT这样的任务,学生收到的练习(输入)和学生答案的正确性(预测)有不同的类型。因此,将练习和响应联合作为注意力键的方式没有意义。 此外,MANN无法明确建模输入练习的基本概念。特定概念的知识状态是分散的,无法追踪。
为了解决这些问题,我们的DKVMN模型使用键值对而不是单个矩阵用于存储器结构。 我们的DKVMN模型不是读取和写入MANN中的相同存储矩阵,而是输入参与键组件的,该组件是不可变的,并且读取和写入相应的值组件。
与MANN不同,在每个时间戳,DKVMN采用离散的练习标记
相关权重
用kt表示练习qt对应的连续的嵌入向量。相关权重计算如下:
每个权重表示了当前练习与每个基本概念的相关性。
读取过程
当练习
计算得到的
然后利用
写过程
在学生回答
元组
给定写入权重,擦除向量
于是,上一个时间步的值矩阵分量被更新如下:
擦除后,添加向量at用来更新每个记忆块,
添加过程如下:
整体的模型图如下:
![c9762ca50c482b0f3b35c1a1762dbcdb.png](https://i-blog.csdnimg.cn/blog_migrate/72b9fb0c61a286679732bf211268af93.jpeg)
训练过程:
在训练期间,通过最小化
原论文《Dynamic Key-Value Memory Networks for Knowledge Tracing》