Bi-CLKT: Bi-Graph Contrastive Learning based Knowledge Tracing

news2024/11/17 13:46:40

在这里插入图片描述
图对比学习

文章目录

  • 摘要
  • 1 引言
  • 2 相关工作
    • 2.2 自监督学习
    • 2.3 图上的对比学习

摘要

知识追踪(KT)的目标是根据学生对相关练习的历史学习来估计他们对一个概念的掌握程度。知识追踪的好处是可以更好地组织和调整学生的学习计划,并在必要时进行干预。随着深度学习的兴起,深度知识追踪(DKT)利用循环神经网络(RNNs)成功地完成了这一任务。其他的工作尝试引入图神经网络(GNNs),并相应地重新定义任务,以实现显著的改进。然而,这些努力至少存在以下缺点之一:1)它们过于关注节点的细节,而忽略了高级语义信息;2)难以有效建立节点的空间关联和复杂结构;3)它们只是代表概念或练习,而没有整合它们。受自我监督学习最新进展的启发,我们提出了基于双图对比学习的知识追踪(Bi-CLKT)来解决这些限制。具体来说,我们设计了一个基于“练习到练习”(E2E)关系子图的两层比较学习方案。它包括子图的节点级对比学习以获得练习的判别表示,以及图级对比学习以获得概念的判别表示。此外,我们设计了一个联合对比损失,以获得更好的表示,从而获得更好的预测性能。此外,我们还探索了两种不同的变体,分别使用RNN和记忆增强神经网络作为预测层进行比较,以分别获得更好的练习和概念表示。在四个真实数据集上的大量实验表明,所提出的Bi-CLKT及其变体优于其他基线模型。

1 引言

随着在线教育平台的不断发展,海量的在线学习数据可以准确、及时地追踪学生的学习状态。为了追踪学生对特定知识点或概念的掌握情况,有人提出了一项名为知识追踪(KT)的基本任务[1],它通过一系列学生与练习的互动来预测他们对这些练习对应的概念的掌握情况。具体来说,知识追踪解决了预测学生是否能够正确回答与概念相关的下一个练习的问题,考虑到他们之前的学习互动。近年来,KT任务在学术界受到了极大的关注,许多学者进行了研究,提出了许多解决这一问题的方法。该领域的传统方法主要分为使用隐马尔可夫模型的贝叶斯知识跟踪模型[1]和使用深度神经网络[2]及其导数方法的深度知识跟踪[3,4,5,6]。

现有的KT方法[7,4,2]通常针对练习所属的概念,而不是区分练习本身来构建预测模型。这种方法假设学生正确解决相关问题的能力在一定程度上直接反映了学生对概念的掌握程度。因此,以这种方式基于概念进行预测是一种可行的选择,然而,考虑到模型的有限性能,这降低了任务本身的难度。一般来说,一个KT任务包括多个概念和大量的练习,甚至有更多的情况下,一个概念与许多练习相关联,以及一定比例的情况下,一个练习可能对应多个概念。传统模型只能处理前者,而对于后者,往往不得不将这些跨概念练习分成多个单概念练习。这种方法虽然提高了这些模型的可行性,但却妨碍了整个任务的准确性。

尽管这些基于概念的KT方法在一定程度上取得了成功,但练习本身的特点常常被忽视。这可能导致模型的最终预测精度降低,并无法预测具体的练习。即使两个练习有相同的概念,它们难度的不同可能最终导致它们被正确回答的概率有很大的差异。因此,已有文献[8,9,10,11,12,13]尝试用运动特征作为概念输入的补充,取得了一定的成功。但是,由于习题数量和学生实际互动的习题数量之间存在较大的差异,每个学生可能只与非常小的一部分习题进行互动,导致数据稀疏的问题。此外,对于那些跨越概念的练习,简单地向练习中添加特征会丢失潜在的练习间和概念间信息。因此,需要使用高阶信息,如“练习到练习”(E2E)和“概念到概念”(C2C)来解决这些问题。

由于gnn的广泛部署[14,10,15,16,17],以及在解决跨概念练习的传统方法的不可预测性方面的突破,用图表重新定义知识追踪问题的想法最近获得了显著的发展势头。传统的KT通常以与输入练习及其响应相对应的概念形式将顺序数据作为输入。这导致了练习之间缺乏信息,只有练习和概念之间的关系是可用的。图论的最新研究为打破这一瓶颈开辟了可能性。与顺序数据不同,图数据可以很好地捕获“练习到练习”(E2E)和“概念到概念”(C2C)的高阶信息,这是由于图本身的多元节点和边缘结构。因此,一些研究[14,18]转向从图的角度重新定义该任务。然而,这些努力面临着以下几个问题:1)过于关注节点的细节,而忽略了高级语义信息;2)难以有效建立空间关联,节点结构复杂;3)只表示概念或练习而不整合它们。

由于数据标注的难度和不准确性,自监督学习越来越受欢迎,在计算机视觉[19,20,21]和自然语言处理[22,23]等许多领域都取得了巨大成功。自监督学习的特点是处理低质量或缺失的标签,这是监督学习的要求,使用增量层的输入数据本身作为学习模型的监督标签。这可以与带有特定标签信息的监督模型一样强大,并消除了监督模型所需的冗长的标签工作。具体来说,自我监督学习消除了对特定任务的标签需求,这是监督学习的最大瓶颈。特别是对于大量的网络数据,大规模获取高质量的标签往往非常昂贵和耗时。自我监督学习在文本和图像数据集的任务中表现出色,但在图的检索、推荐、图挖掘和社会网络分析等问题上仍处于初级阶段。

在本文中,我们针对传统的基于GNN的KT模型所遇到的问题,提出了一个自监督学习框架和基于双图对比学习的知识跟踪(BiCLKT)模型。我们的模型采用了全局双层和局部双层结构的对比学习,分别应用图级和节点级GCNs提取“练习到练习”(E2E)和“概念到概念”(C2C)的关系信息。最后,利用基于深度神经网络的预测层对学生的学习成绩进行预测。

  • 据我们所知,我们提出了第一个基于自我监督学习的知识跟踪框架。通过对比自监督学习,我们解决了传统的基于gnn的知识跟踪模型所遇到的许多问题,从而显著提高了最终预测结果的准确性。
  • 对于知识追踪,我们设计了一个两层对比学习框架,分别在全局和局部层面执行“练习到练习”(E2E)和“概念到概念”(C2C)的关系信息。运动的表征是最终习得的,并通过联合对比损失函数有效地组合在一起。这样的结构使得练习嵌入同时具有练习和概念结构信息,对最终的预测任务有积极的影响。
  • 我们在四个真实世界的开放数据集上进行了彻底的实验,结果表明,我们提出的框架及其变体与单个基线模型相比,在预测效率方面都有显著提高。我们还进行了消融研究来分析每个单独模块的有效性,这大大提高了模型的可解释性。

2 相关工作

使用机器学习进行知识追踪主要有两种方法。第一种是以贝叶斯知识追踪(BKT)[1]为代表的传统机器学习KT方法。BKT主要应用隐马尔可夫模型(Hidden Markov Model),该模型使用贝叶斯规则来更新每个被视为二元变量的概念的状态。一些研究扩展了基本的BKT模型,并引入了额外的变量,如滑移和猜测概率[7]、概念难度[24]和学生个性化[25,26,13]。另一方面,传统的机器学习KT模型还包括因素分析模型,如项目响应理论(IRT)[27]和绩效因素分析(PFA)[28,16],这些模型往往侧重于从历史数据中学习一般参数来进行预测。

随着深度神经网络的发展,文献经历了深度知识追踪方法的进步,这些方法已被证明在学习大量数据的有效表示以实现更准确的预测方面更有效。例如,深度知识追踪(Deep Knowledge Tracing, DKT)[2]利用循环神经网络(RNNs)跟踪学生的知识状态,成为第一个取得良好效果的深度知识追踪方法。另一个例子是动态键值记忆网络(DKVMN)[4],它建立一个静态和动态矩阵,分别存储和更新所有的概念和学生的学习状态。Xu等[29]提出了一种开创性的深度矩阵分解方法,用于从多视图数据中进行概念表示学习。然而,这些经典模型只考虑最基本的概念特征,缺乏练习特征导致最终预测不可靠。

后来有人提出了一些更深入的KT方法,它们在预测时确实考虑到了练习的特点。例如,带注意机制的练习增强循环神经网络(EERNNA)[6]利用练习的文本信息,让嵌入本身包含练习的特征,但在现实中很难收集这些文本信息,这样做对嵌入本身带来了太多的干扰。

记忆网络动态学生分类(DSCMIN)[8]使用问题难度建模来帮助区分相同概念下的不同问题。另一方面,DHKT通过使用问题和技能之间的关系来获得练习的表示形式,从而增强了DKT。然而,由于数据稀疏性问题,这并没有捕获练习和概念之间的关系。由于实践序列中存在长期依赖关系,序列键V值记忆网络(SKVMN)[11]改进了LSTM,取得了良好的效果,以提高捕获这种依赖关系的能力。我们的方法与这些方法的不同之处是,这些方法通过一定的假设从原始的“练习到概念”(E2C)关系构建了练习-影响关系图,并分别使用图级和节点级GCNs提取“练习到练习”(E2E)和“概念到概念”(C2C)的关系信息。

另一方面,为了减少过多细节信息的干扰,我们采用对比学习模型,将概念和练习分开学习进行表示。

2.2 自监督学习

自我监督学习的研究大致可以分为两个分支:生成模型和对比模型。生成式模型的主要代表是目前非常流行的自动编码。

图数据的主要方法是通过GNN学习将图的节点嵌入到潜在空间中,然后通过学习到的表示重建原图的结构和性质。通过逐步减小生成图与原始图之间的损失大小来调整节点的表示。然后使用学习到的表示来重建原始图。这些表示对原始图的结构和属性特征进行编码。对比学习则是通过增强方法对输入数据进行结构上的破坏,在学习表示形式之前,将预测对象和对应的标签从自身的结构中分离出来,最后比较损失函数,使正对之间的距离最小,负对之间的距离最大,从而实现对完整图的结构把握。沿着GCNs学习图表示方向的先驱方法包括Hu等[30]和Kaveh等

2.3 图上的对比学习

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/30188.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

回顾10年发展,2022亚马逊云科技re:Invent全球大会即将来袭

每年的亚马逊云科技re:Invent全球大会,都是全球云计算领域每年创新发布的关键节点,亚马逊云科技的这些技术发布,无一例外地成为了云计算领域技术发展的风向标,而今年的re:Invent全球大会即将启幕! 2012年,亚…

Java基础40 断点调试(Debug)

DebugDebug介绍一、debug的使用二、Debug的使用使用1使用2 数组越界异常使用3 追溯源码使用4 直接执行到下一个断点Debug介绍 在开发中,新手程序员在查找错误时,这时老程序员就会提示,可以使用断点调试,一步一步的看源码执行的过…

使用QT绘制一个多边形

目录 1. 概述2. 实现2.1. 代码2.2. 解析3. 结果 1. 概述 可以通过QT的重绘事件和鼠标事件来绘制多边形,最简单的办法就是在继承QWidget的窗体中重写paintEvent、mousePressEvent等事件处理函数。QT提供了图形绘制接口QPainter,通过该接口可以绘制多种图…

易基因|脂多糖诱导的仔猪肝脏损伤模型中m6A RNA甲基化介导了NOD1/NF-kB信号激活

大家好,这里是专注表观组学十余年,领跑多组学科研服务的易基因。 2022年9月30日,南京农业大学动物科技学院钟翔教授团队在《ANTIOXIDANTS-BASEL》杂志发表题为“m6A RNA Methylation Mediates NOD1/NF-kB Signaling Activation in the Liver…

AlmaLinux 9上安装Kubernetes 1.25集群

AlmaLinux 9上安装Kubernetes 1.25集群 0. 确认Linux版本 uname -a1. 禁用swap sudo swapoff -a2. 禁用防火墙 sudo systemctl stop firewalld sudo systemctl disable firewalld3. 将SELinux设置为permissive模式 sudo setenforce 0 sudo sed -i s/^SELINUXenforcing$/SE…

Postgres 史上最垃圾的高可用软件之 - CLup

1. Clup 简介 CLup最大的特色功能是高可用。目前已存在几个开源的高可用软件: keepalived: 是一个较简单的高可用软件,其最早是于用LVS负载均衡软件,现在也常常用于ngnix的高可用,也可以用于数据库领域,但需要自己定制切换脚本才…

Oracle 11g DataGuard 搭建笔记(Windows Server 2016)

0.目录 目录 0.目录 1.需求 2.开发环境 3.DataGuard主从库参数环境规划 4.网络环境 5.主库-DataGuard配置 5.1查询及启用强制记录日志 5.3查询及启用归档 5.4主库参数配置 5.4.1查看db_unique_name及修改 5.4.2修改参数log_archive_config 5.4.3修改参数log_archive_dest_1 5.4…

部署前端报错404 hash 以及history模式下面前端、后端如何配置

问题描述:前端 本地页面 正常展示 、部署后刷新浏览器如上: vue-router(前端路由)有两种模式,hash模式和history模式 原理的区别(原理) 1、hash ——即地址栏URL中的#符号。 hash 虽然出现URL…

Sealos 安装报错问题解决

sealos 是以 kubernetes 为内核的云操作系统发行版,看其他人通过sealos安装k8s集群十分丝滑,但自己实践的时候为什么报错频繁呢? 官网介绍: sealos.io1 先决条件 每个集群节点应该有不同的主机名。 主机名不要带下划线。所有节点的时间同步。在 Kubernetes 集群的第一个节点…

数组中出现次数超过一半的数字、替换空格、重建二叉树

1、数组中出现次数超过一半的数字 本题考点: 数组使用,简单算法的设计 牛客链接 题目描述: 给一个长度为 n 的数组,数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。 例如输入一个长度为9的数组[1,2,…

企业如何利用 Serverless 快速扩展业务系统?

2022 年 9 月 24 日,阿里云用户组(AUG)第 12 期活动在厦门举办。活动现场,阿里云高级技术专家史明伟(花名:世如)向参会企业代表分享了《未来已来——从技术升级到降本提效》。本文根据演讲内容整…

引擎入门 | Unity UI简介–第1部分(8)

本期我们继续为大家进行Unity UI简介(第一部分)的后续教程 本篇内容 17.9-Slice缩放 18.准备按钮图像 19.设置按钮图像 20.为按钮设置自定义字体 文章末尾可免费获取教程源代码 本篇Unity UI简介(第一部分)篇幅较长&#x…

Spring源码深度解析:八、bean的获取② - getSingleton

一、前言 文章目录:Spring源码分析:文章目录 在Spring源码分析七 :bean的加载① - doGetBean 文章中,我们介绍了Spring对获取bean的过程,但是并没有详细解释Bean是如何创建的,本文就来分析Spring是如何创…

Mybatis 源码分析

mybatis 的一些总结 XMLConfigBuilder mybatis 的配置文件解析的能力是交给了XMLCconfigBuilder 去解析的 public SqlSessionFactory build(Reader reader, String environment, Properties properties) {try {XMLConfigBuilder parser new XMLConfigBuilder(reader, envir…

JDK内置命令工具

JDK内置命令工具 jps 作用 查看java进程的pid和全路径主类名和jvm参数 使用 -l : 输出所有正在运行java进程的pid 和主类名-v :输出正在运行java进程的pid和主类名和运行参数 jstack 作用 查看某个java进程当前的堆栈信息, 也就是当前进程中的线程…

NIO与BIO服务器端对比

本文利用NIO实现一个重复回复,客户端发送什么信息,客户端就会收到什么信息。 主要是理解NIO与BIO的区别。客户端采用telnet进行测试,以下连接是Telnet安装的方法。 Telnet的简单使用_武汉小喽啰的博客-CSDN博客_telnet 注意!&a…

POSIX信号量

文章目录概念信号量函数基于环形队列的生产消费模型概念 信号量是一个计数器,用来描述临界资源数量的计数器。 每个执行流要进入临界资源时,要先申请信号量,出临界资源时,要释放信号量。 信号量的PV操作 P操作:申请…

万字长文总结分布式事务,总有一款适合你

导语:本文参考网络相关文章,主要总结了XA, 2PC, 3PC, 本地事务状态表, 可靠消息队列, 最大努力通知, TCC, SAGA等分布式事务的特点和适用场景,为大家选择分布式事务提供一些参考。 概述 分布式事务是指事务的参与者、支持事务的服务器、资源…

宝刀未老!阿里P8老兵耗时三年总结出这份Java项目实战文档

文档特点: 为了方便小伙伴们能更好地阅读,我已经提前给大家整理好了学习路线和知识结构 本书综合讲解Java程序设计中的核心技术,全书一共设计为22章,章节结构如下。 需要获取的小伙伴可以直接转发关注后私信(学习&…

[Python]Django 配置

文章目录🍉 pycharm中打开Django项目并配置虚拟环境运行项目🍈 打开项目后pycharm自动识别配置项目运行环境🍍 指定项目运行的端口号🍈 自行配置项目的运行环境🍍 配置项目的python解释器🍍 配置Django项目…