【IEEE Access2022】SPAKT: A Self-Supervised Pre-Training Method for Knowledge Tracing

摘要

知识追踪(Knowledge tracing, KT)是计算机辅助教育系统的核心任务,它的目的是根据学生的历史答题记录,预测学生是否能正确回答下一题(即问题)。近年来,基于深度神经网络的方法在KT领域得到了广泛的发展,并取得了良好的效果。近年来,一些研究通过挖掘包括练习-技能关系(E-S)、练习相似度(E-E)和技能相似度(S-S)在内的丰富关系,进一步完善了这些KT模型。然而,在许多现实世界的教育应用程序中,这些关系信息常常是缺失的,人类专家要为其贴上标签是一项劳动密集型工作。受自然语言处理领域最新进展的启发,本文提出了一种新的预训练方法SPAKT,利用自监督学习对嵌入表示进行预训练,而不需要昂贵的人工专家注释。现有的预训练方法高度依赖于人工标注E-E、S-S或E-S关系的知识,而SPAKT的核心思想是设计三个自我注意模块,分别对E-S、E-E和S-S关系建模,并且这三个模块都可以在自我监督设置下进行训练。作为一种预训练方法,我们的SPAKT可以毫不费力地集成到现有的基于深度神经网络的KT框架中。我们通过实验证明,即使不使用上述三种关系的昂贵注释,我们的模型与先进水平相比也取得了具有竞争力的性能。我们的算法实现已经在https://github.com/Vinci-hp/pretrainKT上公开了。

1 引言

近几十年来,计算机辅助教育系统迅速发展,例如智能辅导系统(ITS),旨在自动和显著提高学习收益[1]。知识跟踪是这些系统的关键任务之一,它可以根据学生的历史学习互动来建模和跟踪他们的知识发展状态。具体地说,知识追踪的任务就是根据一个学生以前的所有回答记录来预测他是否能正确地回答下一个练习。通过知识追踪的结果,系统可以更好地了解教学过程中的学生,从而推荐学习资源,优化教学策略。

近年来,越来越多的研究开始关注知识追踪。最流行的两个类别是基于贝叶斯的知识跟踪(例如BKT[3])和基于深度神经网络的知识跟踪(例如DKT[4])。传统的BKT是由Corbett和Anderson在1994年提出的[3],它主要从学生解决某一知识技能(概念)相关问题的表现(即正确、不正确)推断出学生的隐性知识状态,并不断更新对该技能学习状态的估计。后来,许多学者对这个基本的BKT框架进行了扩展,引入了其他因素,如学生的个体差异[5]、练习难度[6]、遗忘因素[7]、猜测和滑动因素[8]。

最近深度神经网络的成功促进了知识追踪的研究。深度知识追踪(deep knowledge tracing, DKT)模型[4]是第一个利用长短时记忆(LSTM)网络探索知识跟踪的方法。然后在KT任务中利用了更深层的模型,如CNN[9]、GNN[10]、[11]和MANN[12]。在大多数基于深度神经网络的KT模型中,一般将学生回答的习题转换为固定长度的输入向量,以训练深度模型,如LSTM。
one-hot编码是获得此类输入向量的最简单的方法之一。然而,这样一个简单的表示是相当难利用丰富的侧信息,例如,练习和技能之间的关系(E-S),不同的练习(E-E),以及技能(S-S)。针对这些丰富的关系,已经开发了一些训练前的方法,以获得更好的练习嵌入表示,如PEBG[13]和Rasch[14]。Liu等[13]和Minn等[15]利用练习-技能关系,学习每个练习的低维嵌入。Nakagawa等[11]和Tong等[16]将技能之间的关系引入KT模型,将其概念化为潜在图结构。**虽然这些研究可以明显优于现有的深度KT模型的性能,但一个明显的缺陷是,它们严重依赖于人类专家注释的先验知识(即E-S和S-S关系),耗时费力。**在这种情况下,一种知识追踪的预训练方法是可取的,它可以自动地探索和利用丰富的关系,即E-E、S-S和S-S关系。


为此,本文将自监督学习范式引入知识追踪,提出了一种新的获取练习嵌入的预训练方法,即SPAKT (self-supervised pre-training method for knowledge tracing)。Bert网络[17]可以通过使用“掩码语言模型”以一种自监督学习风格进行训练,该模型从输入序列中随机掩码一些标记,任务是仅根据其上下文预测掩码标记的原始ID。受此启发,在我们的SPAKT框架中,我们分别使用三个Bert网络来学习E-S、E-E和S-S的关系。它首先在底层使用双路径Bert网络,一个用于E-E关系建模,另一个用于S-S学习。双路bert的输出通过一个融合层进行组合,然后输入到另一个bert网络中,提取E-S关系,同时生成练习嵌入表示。需要说明的是,我们的SPAKT在整个训练过程中只使用了自监督信息,即底层双路径Berts中被屏蔽的token,以及顶层自我注意模块中练习的难度级别。本文的贡献如下:

  • 据我们所知,我们首先将自监督学习引入到KT任务中,并提出了一种新的基于Bert网络的预训练方法,即“SPAKT”。
  • 与现有的预训练方法高度依赖对E-E、S-S或E-S关系的先验知识不同,我们的SPAKT采用了屏蔽机制和从原始数据集中提取的自监督信息(即练习难度水平),这使得我们可以在没有任何关于关系的先验知识的情况下进行预训练
  • 在三种常见的KT数据集上,提出的SPAKT显著优于最先进的基线,这表明我们的方法可以学习更有效的嵌入表示。出于可再现性的考虑,我们的实现可在https://github.com/Vinci-hp/pretrainKT获得

2 相关工作

近年来,在知识追溯[18]、[19]方面出现了大量卓有成效的研究工作。Ramirez等人[20]调查了KT中常用的机器学习技术,包括贝叶斯知识跟踪(BKT)、深度知识跟踪(DKT)、长期短期记忆(LSTM)、贝叶斯网络(BN)、支持向量机(SVM)、动态关键V值记忆网络(DKVMN)、性能因素分析(PFA)。受此启发,我们提议讨论用于知识追踪的机器学习技术,并大致将现有的KT方法分为四类:基于贝叶斯的KT模型、基于逻辑回归的KT模型、基于因式分解机器的KT模型和基于深度神经网络的模型。

B. SINGLE TRANSFORMER LAYER

在本文中,如图(1)左侧所示,每一单变压器层包含一个多头自注意子层、一个前馈网络、两个ADD & Norm单元和Dropout。多头自注意层有利于模型从不同位置注意到不同表示子空间的信息。前馈网络可以使模型具有非线性和不同维度之间的相互作用。采用ADD & Norm单元解决了梯度消失问题,Dropout单元增强了模型的泛化能力。考虑到这些组件的使用已经很普遍,我们的SPAKT和原来的几乎一样,我们将省略这些组件详尽的工作原理的描述。相反,我们建议读者阅读有关变压器模型的文章
在这里插入图片描述

C. SPAKT: SELF-SUPERVISED PRE-TRAINING METHOD

FOR KT
直观地看,教师或聪明的导师通常会给学生提供一些符合学生目前知识状态和知识掌握水平的考试题,因此学生在一段时间内回答的题之间存在一定的相关性。受此启发,我们利用Bert网络,从而可以借鉴NLP(自然语言过程)模型[17]中的“屏蔽机制”来学习E-E关系。

4 实验

为此,我们利用两组基线进行了如下比较:(1)对于RQ1的回答,我们选取了两个最流行的深度KT模型,即DKT[4]和DKVMN[12]作为基线,以评估我们提出的SPAKT预训练嵌入表示的有效性。我们首先训练我们的SPAKT获得练习的嵌入表示,然后将其输入DKT(即SPAKT+DKT)或DKVMN模型(即SPAKT+DKVMN)。这里也可以采用更深层的KT模型[9],[10],[15],但我们把它们留作以后的探索。(2)为了回答RQ2,我们将现有的两种嵌入方法PEBG[13]和Rasch[14]进行比较,以评价SPAKT的优越性。据我们所知,我们没有找到其他用于知识追踪的预训练方法

5 结论

本文提出了一种新的预训练模型——自监督知识追踪预训练方法(SPAKT),该方法引入了自监督学习来学习练习嵌入表示。它允许我们自动地探索和利用丰富的E-E、E-S和S-S关系,而不是人类专家注释,这是非常耗时和费力的。我们提出的预训练模型可以很容易地与现有的基于深度神经网络的KT模型相结合。实验结果表明,该模型可以提高现有的KT模型(DKT和DKVMN)的预测性能。此外,与现有的基于人标记关系的预训练方法相比,我们的SPAKT仍然具有竞争力,并在三个现实数据集上取得了有前景的性能。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值