基于注意力机制的深度知识追踪模型研究

周 凯,强 彦,王佳文,王梦南

(太原理工大学 信息与计算机学院,太原 030024)

摘 要:提出了一种基于Transformer进行知识追踪的方法,改进了互动记录的嵌入表示,设计了适用于该方法的门结构,并且优化了自注意力运算子层的输入处理以提高深度知识追踪模型的预测性能。在知识追踪的4个常用公共数据集上的实验结果表明,与传统方法相比,提出的模型能更好地反映学习者对知识点的掌握情况,并且在样本量大的数据集上有更好表现。

关键词:知识追踪;学习者评估;注意力机制;Transformer

现阶段电子化在线教育的主要模式为大规模开放在线课程 ,即“慕课”(massive open online courses,MOOC).慕课平台相对传统学校教育形式有着多种优势,但也因为其大规模性以及线上性存在一些短板。研究者们关注的一个问题是慕课平台在个性化指导方面的不足。参与在线教育平台的学生固然可以自由浏览和选择课程,但由于课程的参与人数众多以及教师的课程发布与学生的课程学习并不同时,学生在学习时往往缺少传统课堂那样的及时反馈与指导。面对这种情况,在教育领域提出的解决方案是“智能导学系统”(intelligent tutoring system,ITS).该系统的一个预期功能是自动地制订适合学习者的学习活动和教学策略。为了构建有效的智能导学系统,对学习者进行建模是必要的。知识追踪(knowledge tracing)是学习者建模中的一个重要研究。

知识追踪即基于学生的历史练习记录,建立可表示和预测学生对于“知识组件”(knowledge component)或者说“技能”的掌握程度的模型的任务(如图1所示)。对知识追踪的研究主要从20世纪90年代开始[1]

图1 通用知识追踪任务
Fig.1 Universal knowledge tracing task

早期知识追踪任务应用了一些教育领域的传统方法,例如项目反应理论(item response theory,IRT).之后,机器学习建模的方法被引入到这一领域并逐渐确定出现有的知识追踪任务模式。较早被提出的基于机器学习的主要模型是贝叶斯知识追踪(bayesian knowledge tracing,BKT)[2-3].

2015年起,循环神经网络(RNN)及其变体开始在知识追踪任务中得到应用,并且逐渐成为了该方面研究的主流方法。其主要包括PIECH et al[4]提出的基于RNN或LSTM的DKT模型,对损失函数进行了改进的DKT+模型[5],以及NAKAGAWA et al[6]提出的直接用问题ID通过嵌入表示作为输入的深度知识追踪模型。另外,还有SU et al[7]提出的将知识的依赖关系纳入考虑的知识追踪模型,同样是该研究团队提出的使用文本相似度参与注意力计算的EERNN模型[8],以及进一步地优化了记忆网络以准确量化每个习题对于学生在做题中掌握知识点方面的影响的EKT模型[9]

除此之外,ZHANG et al[10]于2017年提出了结合外部记忆模块与循环神经网络的动态键值对记忆网络(dynamic key value memory networks,DKVMN)[10].它借鉴了记忆增强神经网络的思想,用一个静态矩阵存储配合一个动态矩阵存储以更新学生的知识状态。

在序列建模领域,基于循环神经网络的方法一直居于主导地位,然而近年来,基于注意力机制的模型开始逐渐成为主流。因此研究者也展开了使用注意力机制和循环神经网络的混合模型或者纯注意力模型进行知识追踪的研究。

本文提出了一种基于注意力机制的知识追踪模型,使用Transformer结构作为模型的主体框架。模型的创新之处在于:1) 使用门结构以更合理地利用输入序列中的结果的嵌入表示;2) 模型对技能信息和题目信息进行分别编码和合并,增加了输入信息并替换了影响注意力得分计算的Future Mask结构[11],以更准确地反映学生的知识掌握水平。

1 相关工作

2017年,谷歌的研究团队发表的论文中提出了Transformer模型[11]。该模型使用了序列到序列(Seq2Seq)结构,或者又被称为编码器-解码器结构,被用于文本翻译以及文本生成等多种自然语言处理任务。Transformer依靠自注意力运算构建其编解码功能。自注意力运算是实现注意力机制的多种策略之一。相对于传统循环或卷积网络结构,Transformer结构具有更好的并行性能,并且计算两个位置之间的关联所需的操作次数不随距离增长,在可解释性方面也更具优势。

随后知识追踪方面的研究者也提出了一些基于自注意力机制的模型。2019年,PANDEY et al[12]提出了基于自注意力机制的知识追踪模型SAKT,使用了典型的多头注意力结构以及位置编码等,在预测学生回答特定问题正确率的AUC指标上取得了较好的结果,并且该模型的训练速度要远快于基于循环神经网络的深度知识追踪。之后,又有一些使用自注意力机制的更加复杂的模型被提出,例如GHOSH et al[13]提出的AKT模型,该模型使用了Rasch模型实现嵌入表示,具有问题编码以及知识检索的两段结构,其知识检索部分使用了问题编码的表示作为输入,计算了学习者的知识状态。另外还有CHOI et al[14]提出的采用了编码器-解码器结构的SAINT模型等。可以认为,基于注意力机制的方法已经逐渐成为了知识追踪建模的主要研究方向之一。

现有的基于注意力机制的知识追踪模型往往只考虑练习记录的习题ID或者技能ID之一;另外也存在一些设计上的不合理之处,导致未能充分利用自注意力机制。基于以上问题,我们做出了多处改进,提出了更优的基于Transformer结构的模型。

2 实验方法

本模型以Transformer结构为基础网络,相对已有研究,对输入部分进行了合理的改进设计并进一步引入了知识技能信息。除此之外,区别于笼统的对互动记录的单一的编码方式,本模型提出一种新颖的方法,即将题目与回答拆解为两部分进行编码,并使用门机制进一步处理回答部分的嵌入表示。

2.1 知识追踪任务的输入与输出

本文提出模型输出的结果可以看作特定学生在给定习题ID的情况下,回答正确的概率。模型的输入为该学生的历史练习记录,该练习记录包括习题ID、回答结果以及习题所属的技能ID;模型的输出为答对特定习题概率的预测值。

模型在训练阶段提取数据集中每个学生的从起始到第t个问题的信息进行输入,使模型输出对第t+1个问题正确回答的预测数值,再以其同实际第t+1个问题结果的对比作为代价,优化模型的参数。训练完成的模型所输出的预测值可以作为评价指标,应用于对学生掌握技能程度的评估。本模型所关注的问题是提高该预测的准确率,即:

P(rt+1|(e0,s0,r0),(e1,s1,r1),…,(et,st,rt),et+1) .

(1)

式中:esr分别代表题目ID、技能ID与结果。

2.2 模型框架

模型由4部分组成:(1)嵌入表示部分;(2)基于注意力机制的编码器;(3)基于注意力机制的解码器;(4)结果预测部分。对于编码器和解码器部分,其主要由多头注意力计算模块以及前馈神经网络层叠而成。整体结构如图2所示。

图2 模型整体框架
Fig.2 Architecture of the proposed model

2.2.1嵌入表示

对于模型输入,需要将序列中的元素进行嵌入表示。其中共有3种嵌入表示向量。设当前所处理的学生为i,对于该学生ID下的k个问题,这3个向量组分别为由题目ID序列转换的向量组Ei、由技能ID序列转换的向量组Si以及由回答序列所转换的向量组Ri,而每组中分别有k个向量。每一类向量需要预先设定各自的维度,其中考虑后续的门控运算,向量组Ri的向量维度大小应为EiSi的维度大小之和。

本文提出的模型使用了随机初始化参数的嵌入表示层。特别地,对于回答序列向量组Ri中的向量,根据正确与否设定不同期望值的正态分布参数初始化方法,即当回答正确则有μ>0,反之则μ<0.

作为自注意力模块的输入,EiSi按照对应关系进行拼接处理。

位置编码:注意力机制下的序列处理依赖位置编码以包含序列元素的位置信息。本文提出模型的位置编码采用了绝对位置编码方法,即正余弦函数位置编码[11]。对于长度为d,序列中位置为p,在位置编码向量中维度为i的数值为:

Epos,2i=sin(p/10 0002i/d),
Epos,2i+1=cos(p/10 0002i/d) .

(2)

这一系列值组成了位置编码向量。其中i∈{0,1,2…dmodel/2}.生成位置编码后将其以加算方式同嵌入表示向量合并。

2.2.2结果控制门

为了能有效地利用练习记录中结果部分的信息,本模型采用了门机制处理该部分的嵌入表示。关于注意力运算中的得分机制,考虑一条序列中出现两次回答同一知识点下题目的情况:两次都回答正确的情形相对一次正确一次错误的情形,在涉及题目的注意力运算上应该得到较大的自注意力运算值,从而对输出正确的预测有更多贡献。

以往的知识追踪研究中,对于练习记录中的习题ID,n类题目的习题有n种状态;当合并结果的状态时,考虑一般而言结果只有对错两种的情况,则任意一项完成的练习记录扩展到2n种状态。DKT[4]中采用One-hot方式对练习记录进行编码时,会使用2n维度的矩阵,即使是使用嵌入表示的模型也通常是直接扩展编码的状态数[12]

为了优化在嵌入表示以及点积注意力机制下的计算效果,本模型采用门机制替代简单扩展的方式,即对于多头注意力模块的值(V)部分的输入,有:

(3)

式中:Eei,si为拼接的题目与技能信息的嵌入表示向量,Pi为位置编码,Eri为结果的嵌入表示,⊙为哈达玛积运算。有别于题目ID与技能ID的嵌入表示,Eri不需要结合位置编码。

2.2.3多头注意力运算

多头注意力模块是编码器和解码器的核心部分。本模型采用了缩放的点积计算注意力,即:

(4)

通常自注意力运算中的查询(query)、键(key)与值(value)用QKV表示,分别来自于进行线性运算后的题目信息嵌入表示向量。QK都来自于题目ID与技能ID进一步处理得到的向量,而V来自于前者与结果向量进行门运算之后得到的结果,即

Qi=Wq(Eei,si+Pi) ,
Ki=Wk(Eei,si+Pi) ,

(5)

式中:W为线性变换矩阵,本模型采用8组不同的W将输入部分划分为8个头,以捕捉映射到多个线性空间的更丰富的特征。使用自注意力机制计算注意力得分(attention score)之后,该得分以系数的形式同经过门转换与线性运算的向量相乘,并将各头拼接合并,最终将单个元素的输入向量转换成了序列中各元素的向量组形式的表示。编码器和解码器的块数被设置为2,即将自注意力结构及后续的前馈神经网络结构重复两次。其输入到第二块的QKV为前驱前馈神经网络输出的线性映射。

特别地,考虑一般Transformer中存在的Future Mask操作,即为了不在预测时泄漏后续信息,而对解码器部分的输入进行上三角矩阵掩膜运算[11]。在知识追踪任务中使用自注意力结构时,由于编码器和解码器的输入同源,所以之前提出的一些模型必须在所有的多头注意力运算部分加入Future Mask[14],这种方式显然会导致序列自注意力信息的流失。因此在本模型中,考虑到知识追踪任务的数据集样本量并不庞大,故可牺牲部分并行运算能力,不以Future Mask的方式,而是在输入部分进行信息屏蔽,使自注意力部分得到充分计算,即每个训练样本逐次向后截取一条数据集样本中的一部分,每一次前向传播计算单独一道练习题的预测正确率,以得到更好的效果。

其他结构中模型使用了两层的前馈神经网络,以ReLU作为激活函数:

FFN(x)=max(0,xW1+b1)W2+b2.

(6)

模型在子层之间使用了残差连接,并且为了消除梯度消失和梯度爆炸的影响,使用层归一化(Layer Normalization):

sub_layer_output=
LayerNorm(x+(SubLayer(x))) .

(7)

解码器的输出会经过一个全连接层运算以及Sigmoid压缩函数,最终输出对于解码器的查询输入题目回答正确的预测(Q).在模型的训练阶段,使用最小化二分类交叉熵损失(binary cross entropy loss)作为损失函数,计算输出和标签的误差并执行反向传播优化模型参数。其中输出的预测值范围为[0,1],而数据集标签取值为{0,1}.

3 实验及分析结果

本文在4个知识追踪公共数据集上对提出的模型进行了实验,并与4种基准模型进行对比。

3.1 数据集与预处理

本文实验所使用的公共数据集如下。

ASSISTments 2009:该数据集收集自在线学习平台ASSISTments.本文所使用的是其修正过的一个版本,即去掉了重复项的“skill-builder”数据集。该数据集收集自2009-2010学年,其中存在着一个练习题对应多个技能的情况。该数据集包含4 151个学生在124个知识点上的325 637条回答记录。

ASSISTments 2012:同样是ASSISTments平台收集的2012-2013学年的数据集。该数据集中每一种练习题只对应一个技能。该数据集包含27 485个学生在265个知识点上的2 709 436条回答记录。该数据集是数据样本量较大的一个数据集。

ASSISTments 2017:来自于ASSISTments平台2017年竞赛的数据集。该数据集包含686个学生在102个知识点上的942 816条回答记录。该数据集是平均每个学生回答数最多的一个数据集。

Statics2011:该数据集来自于一门统计学课程。其包含333个学生在1 223个知识点上的189 927条回答记录。

本实验所做的数据预处理主要有:按照学生ID进行分组;对ID进行映射以压缩数值;去掉包含无效值的项,去除序列长度小于10的记录;按照长度对序列进行排列,使每个训练批次中的序列长度尽可能相同。

对于一个训练批次中的长度不齐的项,标记出填充掩码(padding mask)向量组并输入模型,即对于因对齐而填充无效值的位置,在多头注意力模块计算时需要在该位置上的值加上绝对值极大的负值,而使其注意力得分几乎为0.

3.2 模型实现

本文实验在以下工作环境进行:Ubuntu 18.04 LTS操作系统,主机使用2.90 GHz Intel(R) Xeon(R)W-2102 CPU和NVIDIA GTX Titan XP GPU.

模型使用PyTorch框架实现。采用留出法以4∶1的比例随机抽取并划分出训练集与不参与训练的测试集。在训练过程中,使用Adam优化器,学习率参数设置为1×10-4;习题ID与技能ID的嵌入表示向量维度为128;前馈神经网络层的隐层维度为100;多头注意力模块的头数为8,块数为2;批次样本数为32;最大迭代次数设置为100.

3.3 实验结果与分析

知识追踪任务的常用指标为预测学生回答特定问题正确率的AUC值。如前所述,本模型的输出为特定题目上的回答正确的预测值,以数据集中做出正确回答的题目结果标记为1,以训练完成参数下的模型,计算测试集集合上的AUC值。为了验证本模型的表现性能,与基于隐马尔可夫模型的BKT模型[2]、基于循环神经网络的DKT模型[4]、DKVMN模型[10]以及同样基于注意机制的SAKT模型[12]在4个公共数据集上的测试表现进行了对比,结果如表1所示。

表1 模型预测AUC值比较
Table 1 AUC of knowledge tracing prediction comparison

数据集BKTDKTDKVMNSAKT本文模型ASSISTments 20090.661 30.771 00.774 30.763 10.797 6ASSISTments 20120.679 50.758 50.769 30.766 50.813 3ASSISTments 20170.640 20.741 20.764 90.753 40.805 1Statics20110.704 40.772 70.781 20.765 40.789 8平均0.671 40.760 90.772 40.762 10.801 5

可以看出,所提出的方法在4个数据集上的AUC指标都优于使用循环神经网的模型,并且得益于更多的模型参数,在样本量大的ASSISTments 2012数据集上表现突出。通过对比可以发现,基于深度学习的方法要优于使用隐马尔可夫模型的BKT模型。另外,相比基于One-Hot编码方式对技能进行编码而直接描述每个技能掌握程度的DKT模型,使用嵌入表示的模型表现更好。对比同样基于注意力机制但只使用解码器结构的SAKT模型,本文采用编码器-解码器结构并做出多种优化的模型在平均AUC上得到了5%的提升。

本研究对于所提出的结果控制门结构与控制输入的方式进行了消融实验。其中一个对于练习互动记录模型,以翻倍嵌入表示编码状态的方式替代结果控制门,另一个模型以在所有的多头注意力模块应用Future Mask的方式替代了解码器输入部分逐个输入待判断题目的方式进行了实验。结果如表2所示。

表2 消融实验AUC值比较
Table 2 AUC of ablation study comparison

数据集非门结构使用Mask完整模型ASSISTments 20090.771 40.775 00.797 6ASSISTments 20120.785 50.782 60.813 3ASSISTments 20170.793 80.784 90.805 1Statics20110.776 40.774 70.789 8平均0.781 80.779 30.801 5

可以认为,在处理数据集结果信息的步骤中,使用门结构更为合理,并且以逐元素的方式进行输入也明显优于输入整个序列再使用Future Mask的方法。其原因在于,以往的注意力知识追踪模型在编码器和解码器的所有注意力模块中使用Future Mask的方式,失去了序列中位置靠前的元素与位置靠后的元素自注意力计算的信息,尤其对编码器有一定影响。

在训练中发现,基于注意力机制的模型相比基于循环神经网络的模型,通常有着更快的收敛速度和更少的内存占用,说明其在更大规模的数据集上有着更好的应用潜力。然而在解码器部分逐个输入待判断题目的方式相比在所有的多头注意力模块上使用Future Mask的方式会明显地降低模型的训练速度。因此,设计不影响自注意力计算的Future Mask也许会是一个改进。

3.4 学习者技能掌握程度可视化

图3为模型对一条来自ASSISTments 2009数据集的学生练习记录序列预测的热力图可视化表示。

图3 序列预测结果的热力图示例
Fig.3 Heatmap of a sequence prediction

该学生回答了4个技能上的32个问题。这4个技能分别为:圆柱表面积(91)、从图中得出线性方程(106)、方程斜率(108)以及多项式系数(112).该图的纵坐标分别为这四个技能的ID,横坐标刻度代表了该学生回答序列的单个题目与结果,其习题ID已经对应到了技能ID,而1代表实际回答正确,0代表实际回答错误。图块颜色深浅表示了预测回答正确的几率。在本文提出的模型中,实际预测的粒度是学生在特定问题ID的回答正确率,但按照惯例凭借其对应关系以技能ID的方式表示。通过指定预测输入的方式,可以得到在一次回答之后最近一次出现的非直接相关技能题目的预测准确率变化。考虑到提出的模型包含有技能ID的嵌入表示的输入,实际也可以按照DKT的方式进行技能级别的预测表示。

可以看出,模型对于正确率的预测较符合一般人对知识点掌握程度的直观感受。模型结果作为学习者建模的一项特征源,能够辅助在线学习系统对学生的评估工作。

4 结束语

本文提出了一种基于Transformer结构的新型知识追踪模型。该模型可以依据练习记录,动态更新学生的知识掌握程度状态并转化为知识技能评估,其结果可以作为智能导学系统的一项重要参考。该模型相对以往的基于注意力机制的模型,主要有两个改进:使用了结果控制门;优化了注意力模块的输入形式,引入了技能ID的信息。这些改进提高了预测的性能,并对基于注意力机制的知识追踪研究有所启发。

由于输入部分的处理,相对普遍的自注意力运算方法,本文提出的模型训练失去了一定的并行运算能力,因此一个可改进之处在于设计合理的Future Mask以重新应用到模型之中。另外,考虑嵌入表示部分存在进行预训练的潜能,构建数据集中技能的知识图谱并使用Node2Vec等方法提供预训练向量,或者引入习题文本信息的嵌入表示也许是一种可行的方法。近年来,一些研究团队进行了一些基于循环神经网络和序列注意力模型结合知识图谱的研究[15]。因此,探索结合注意力机制与知识图谱进行预训练的方法是一个可期待的研究方向。

参考文献:

[1] CORBETT A T,ANDERSON J R.Knowledge tracing:modeling the acquisition of procedural knowledge[J].User Modeling and Useradapted Interaction,1994,4(4):253-278.

[2] PARDOS Z A,HEFFERNAN N T.Modeling individualization in a Bayesian networks implementation of knowledge tracing[C]∥2010 International Conference on User Modeling,Adaptation,and Personalization.Berlin,2010:255-266.

[3] YUDELSON M V,KOEDINGER K R,GORDON G J.Individualized bayesian knowledge tracing models[C]∥AIED 2013:Artificial Intelligence in Education.Memphis,TN,USA,2013:171-180.

[4] PIECH,CHRIS,BASSEN,et al.Deep knowledge tracing[C].Proceedings of the 28th International Conference on Neural Information Processing Systems.USA:MIT Press,2015:505-513.

[5] YEUNG C K,YEUNG D Y.Addressing two problems in deep knowledge tracing via prediction-consistent regularization[C]∥ACM.Proceedings of the Fifth Annual ACM Conference on Learning at Scale.London,United Kingdom,2018:1-10.

[6] NAKAGAWA H,IWASAWA Y,MATSUO Y.End-to-end deep knowledge tracing by learning binary question-embedding[C]∥IEEE.2018 IEEE International Conference on Data Mining Workshops (ICDMW).Singapore,2018:334-342.

[7] SU Y,LIU Q,LIU Q,et al.Exercise-enhanced sequential modeling for student performance prediction[C]∥Thirty-Second AAAI Conference on Artificial Intelligence.New Orleans,Louisiana,USA,2018:2435-2443.

[8] CHEN P,LU Y,ZHENG V W,et al.Prerequisite-driven deep knowledge tracing[C]∥IEEE.2018 IEEE International Conference on Data Mining (ICDM).Singapore,2018:39-48.

[9] HUANG Z,YIN Y,CHEN E,et al.EKT:Exercise-aware Knowledge tracing for student performance prediction[J].IEEE Transactions on Knowledge and Data Engineering,2021,33(1):100-115.

[10] ZHANG J,SHI X,KING I,et al.Dynamic key-value memory networks for knowledge tracing[C]∥Proceedings of the 26th International Conference on World Wide Web.Perth,Australia,2017:765-774.

[11] VASWANI A,SHAZEER N,PARMAR N,et al.Attention is all you need[C]∥NIPS’17:Proceedings of the 31st International Conference on Neural Information Processing Systems.Long Beach,California,USA,2017:6000-6010.

[12] PANDEY S,KARYPIS G.A Self-attentive model for knowledge tracing[EB/OL].[2019-07-16].http:∥arxiv.org/abs/1907.06837.

[13] GHOSH A,HEFFERNAN N,LAN A S.Context-aware attentive knowledge tracing[C]∥ACM.KDD’20:The 26th ACM SIGKDD Conference on Knowledge Discovery and Data Mining.CA,USA,2020:2330-2339.

[14] CHOI Y,LEE Y,CHO J,et al.Towards an appropriate query,key,and value computation for knowledge tracing[C]∥ACM.Seventh (2020) ACM Conference on Learning @ Scale.Virtual Event,USA,2020:341-344.

[15] TONG H,ZHOU Y,et al.HGKT:Introducing problem schema with hierarchical exercise graph for knowledge tracing[EB/OL].[2020-07-31].http:∥arxiv.org/abs/2006.16915.

A Deep Learning Knowledge Tracing Model Based on Attention Mechanism

ZHOU Kai, QIANG Yan, WANG Jiawen, WANG Mengnan

(CollegeofInformationandComputerScience,TaiyuanUniversityofTechnology,Taiyuan030024,China)

Abstract:In this paper we proposed a knowledge tracing method based on Transformer structure, improved the embedded representation of interactive records, designed a gate unit suitable for this model, and optimized the input processing of self-attention sublayer to improve the predictive performance of deep knowledge tracing model. The experimental results on four commonly used public data sets show that compared with previous methods, the model proposed in this paper can better reflect learners’ mastery of knowledge points, and has better performance on data sets with large sample sizes.

Keywords:knowledge tracing; learner assessment; attention mechanism; Transformer

文章编号:1007-9432(2021)04-0600-07

收稿日期:2021-03-06

基金项目:国家自然科学基金资助项目(61872261)

第一作者:周凯(1992-),硕士研究生,主要从事教育领域数据挖掘及深度学习的研究,(E-mail)picomagiczk@qq.com

通信作者:强彦(1969-),教授,博士生导师,研究领域为云计算技术、医学图像处理、大数据处理,(E-mail)qiangyan@tyut.edu.cn

引文格式:周凯,强彦,王佳文,等.基于注意力机制的深度知识追踪模型研究[J].太原理工大学学报,2021,52(4):600-606.

中图分类号:TP391

文献标识码:A

DOI:10.16355/j.cnki.issn1007-9432tyut.2021.04.013

开放科学(资源服务)标识码(OSID):

(编辑:贾丽红)

Baidu
map