DCL记忆上次输入值lisp_知识追踪场景下的动态key-value记忆网络

知识追踪(KT)是一项用于跟踪学生在参与一系列学习活动时对一个或多个概念的不断变化的知识状态的任务。KT的一个重要目的是个性化练习序列,以帮助学生有效地学习知识概念。但是,贝叶斯知识追踪和深度知识追踪等现有方法要么单独为每个预定义概念建立知识状态,要么无法精确确定学生擅长或不熟悉的概念。为解决上述问题,本文提出了动态键值记忆网络(DKVMN),可以利用基础概念之间的关系,直接输出学生对每个概念的掌握程度。与利用单个记忆矩阵或多个静态记忆矩阵的记忆增强神经网络不同,我们的模型有一个静态矩阵(键)用来存储知识概念,还有一个动态矩阵(值)用来存储和更新对应概念的掌握程度。DKVMN模型可以自动发现通常由人类注释执行的练习的基本概念,并描绘学生不断变化的知识状态。

随着网络中大量开放式在线课程和智能辅导系统的出现,学生可以在完成练习的过程中获得适当的指导和获取相关知识。在练习发布后,学生必须应用一个或多个概念来完成练习。学生能够正确回答练习的概率取决于学生的知识状态,该状态代表学生掌握的基本概念的深度和稳健性。

知识追踪(KT)的目标是根据学生过去的练习表现来追踪学生的知识状态。KT是在线学习平台的重要任务。 导师可以根据学生的个人优势和弱点,提供适当的提示并定制练习练习的顺序。学生可以了解他们的学习进度,并可以将更多精力投入到不太熟悉的概念上,以便更有效地学习。

尽管有效地模拟学生的知识具有很高的教育影响,但使用数值模拟来表示人类学习过程本身就很困难。通常,KT被制定为监督序列学习问题:给定学生过去的练习情况,预测学生正确回答新练习的概率。虽然贝叶斯知识追踪(BKT)可以输出学生对某些预定义概念的掌握程度,但它缺乏提取未定义概念和模拟复杂概念状态转换的能力。深度知识追踪(DKT)利用LSTM来解决BKT的问题,DKT总结了学生在一个隐藏状态下所有概念的知识状态,这使其很难追踪学生掌握了某个概念的多少,而且很难指出学生擅长或不熟悉的概念。本文提出了DKVMN,具有利用概念之间的关系以及跟踪每个概念状态的能力。 我们的DKVMN模型可以自动学习输入练习和基础概念之间的相关性,并为每个概念维护概念状态。在每个时间步,只有相关的状态会更新。

记忆增强神经网络

MANN模型如下图:

61bb01dd0e659324afe9ebd04b53f186.png

表示为

的记忆缓存是N×M矩阵,其中N是记忆块位置的数量,M是每个位置处的矢量大小。在每个时间步
,MANN的输入为
,其中每个
来自一组
个不同的练习标签,并且
是指示学生是否正确地回答练习的二值表示。嵌入向量
用于计算读取权重和写权重。

在实验中,采用余弦相似注意力机制来计算读权重,利用LRUA机制来计算写权重。直观来看MANN,当学生存储在存储器中的练习作出相同的响应回答时,

将被写入先前使用的记忆位置,并且当新练习出现或学生做出不同的响应回答时,
将被写入最近最少使用的记忆位置。

在读取的过程中,通过读取权重来计算所有记忆块的加权和,来得到读取内容。如下公式。

计算得到的输出
表示学生在下一个时间步中正确回答每个练习的概率。

在写入过程中,我们首先使用擦除信号

和写入权重
擦除记忆块中不必要的内容,然后使用添加信号将
添加到记忆块中。

MANN使用N个记忆块来编码学生的知识状态,并且具有比LSTM更大的容量,LSTM仅在单个隐藏矢量中编码知识状态。

动态键值记忆网络

尽管在存储学生过去的表现方面比LSTM更强大,但是当应用于KT任务时,MANN仍然存在缺陷。在MANN中,我们阅读的内容与我们编写的内容位于相同的空间中。 但是,对于像KT这样的任务,学生收到的练习(输入)和学生答案的正确性(预测)有不同的类型。因此,将练习和响应联合作为注意力键的方式没有意义。 此外,MANN无法明确建模输入练习的基本概念。特定概念的知识状态是分散的,无法追踪。

为了解决这些问题,我们的DKVMN模型使用键值对而不是单个矩阵用于存储器结构。 我们的DKVMN模型不是读取和写入MANN中的相同存储矩阵,而是输入参与键组件的,该组件是不可变的,并且读取和写入相应的值组件。

与MANN不同,在每个时间戳,DKVMN采用离散的练习标记

,输出响应概率p,然后使用练习和响应的元组更新记忆内存。假设所有练习有N个潜在概念,存储在键矩阵中,每个概念的掌握程度存储在值矩阵中。通过输入练习与键矩阵的相关性对值矩阵进行读写。

相关权重

用kt表示练习qt对应的连续的嵌入向量。相关权重计算如下:

每个权重表示了当前练习与每个基本概念的相关性。

读取过程

当练习

到来时,通过每个值矩阵中记忆块的加权和表示要读取的内容。如下。

计算得到的

可以看做学生对当前练习的整体掌握程度(一个练习可能涉及到多个基本概念)。由于每个练习都有自己的难度,我们将
连接起来传递给全连接层来获取总体向量
,其中包含了学生的掌握水平和当前练习的难度。公式如下。

然后利用

预测学生的表现,如下:

写过程

在学生回答

问题后,模型将根据学生答案的正确性更新值矩阵。联合嵌入
将被写入记忆缓存的值矩阵部分,所使用的权重与读过程的权重相同。

元组

表示成大小为2Q×dv的嵌入矩阵B,以在完成本练习后获得学生的知识增长
。当将学生的知识增长
写入值矩阵时,要先擦除值矩阵中不必要的信息,然后再添加新信息,类似于LSTM的遗忘门和输入门。

给定写入权重,擦除向量

计算如下:

于是,上一个时间步的值矩阵分量被更新如下:

擦除后,添加向量at用来更新每个记忆块,

的计算方式如下:

添加过程如下:

整体的模型图如下:

c9762ca50c482b0f3b35c1a1762dbcdb.png

训练过程:

在训练期间,通过最小化

和真实标记
之间的标准交叉熵损失来共同学习嵌入矩阵A和B以及其他参数和
的初始值。

原论文《Dynamic Key-Value Memory Networks for Knowledge Tracing》

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值