2023软件学报——深度知识追踪综述与性能比较

《深度知识追踪模型综述和性能比较》

作为计算机三大学报之软件学报的一篇深度知识追踪模型综述,虽然刊登时间是23年,可惜投稿在21年了,因此很多最新进展并没有提及,不过文章对八大模型的性能对比和未来研究方向仍有我们值得思考的地方。

引文

KT的两个任务:1、评估学生对知识点的掌握水平 2、预测之后的答题表现

​ IRT:为考虑学生会随着而学习而改变

​ BKT:没考虑学生能力差异和不同题目区别

​ LFA、PFA:人为构建特征不准确,忽略知识依赖和遗忘。

本文为深度知识追踪分为4类,对8个经典模型,5个数据集比较

演化

没有仔细描述,都是过去的经典模型了,有兴趣可以自行了解

1. 基于循环神经网络

DKT、双层LSTM、EKT

2. 基于记忆网络

MANN、DKVMN、SKVMN

3. 基于自注意力机制

SAKT、SAINT

4.基于其他神经网络

CKT卷积、GKT图神经网络、AdaptKT自适应模型(采用交替训练)

在这里插入图片描述

性能比较

3.1 数据集

A09、A15、A17、Statics2011、Synthetic-5

在这里插入图片描述

在这里插入图片描述

  1. CKT和DKT-F表现最佳,它们分别针对个性化学习历史和学习遗忘规律构建了结构化特征,表明适当的特种工程是可以提升的;AKT-NR根据自注意力学习历史交互和模型知识遗忘,也符合学习规律
  2. DKT依然表现很高,A15序列太短,A17和Statics太长都会影响精度。合适的序列长度对使用简单的RNN至关重要,DKVMN表现也不错,这两类可以寻求KT的追踪效率。
  3. EKT的差,因为我们缺少文本内容信息,该模型很依赖此类信息。
  4. SAKT略好于DKT,但不如AKT(对QK情境感知学习),说明自注意力网络捕获做题历史关联性仍然值得考虑。

应用案例分析

DKT用于学生职业选择:预测毕业后第一份工作是否属于STEM领域;

编程学情分析:追踪代码进度可以提供教师介入/利用学生代码快照预测是否顺利

第二语言类教学:预测学生在每个单词是否犯错,并追踪历史,可以让老师对学生更多的了解

推荐系统:指导选课,规划个性化选课路径

反推知识点之间关系:根据答题概率推断掌握知识点的先后,再挖掘拓扑次序关系

未来研究方向

1. 可解释研究

  • 全局解释:分析各个层次从输入数据中学到的具体特征,或是哪种模式导致人们关注的结构
  • 局部解释:分析对于某个给定输入特征导致的结果。

在场景中,老师更关注某个特定学生与习题交互过程中哪些特征给出了相应的知识掌握度预测,因此后者更为合适。例如“输入显著性方法”,观察各个时刻特征贡献度。

2. 特定场景下的研究

  • 更适合场景的输入输出:替换简单的0/1向量作为结果,且每个题目不止一个知识点,可以采用预训练方法获取习题表征输入
  • 研究特有特征的表征:可以在编程教育中表征代码等,结合细粒度学生行为数据加强模拟效果,包括多模态。

3. 个性化导学研究

基于对知识点的掌握程度,实现自适应的个性化导学

  • 利用DKTs模型估计学生的知识点掌握程度,使用基于协同过滤的方法推荐学习内容。例如获取学生S的知识状态,寻找相似的知识状态的一组学生,根据相似度对学生排序,后续可以将这些内容为学生S推荐

  • 采用强化学习对学习内容推荐。例如学生和题目的交互历史作为状态,不断更新,最后利用预训练的DKTs预测每次交互后的知识掌握程度设计,并对应相应的推荐奖励。强化学习模型来最大化习题推荐的长期奖励(即知识状态的增长)

这个文章提交的日期是2021年,因此近两年的很多好模型也没有包括进去,例如对比学习以及图上的各种表示增强方法。整体总结很全面,尤其在未来研究方法的举例,感觉直接提供了论文思路(不知道是不是有很多论文已经这样写了)

最终对八个模型在数据集上的比较应该说和各个论文都不相同了,总结了遗忘因素和注意力机制的作用,模型需要更近真实的学习过程。另外,A09作为用的最多的数据集,如此排名估计让很多论文都有了水分嫌疑(当然可能没有调好参数和细节),毕竟公布了代码的论文才能说经得起推敲!

猜你喜欢

转载自blog.csdn.net/weixin_44546100/article/details/131880202