今天我分享的是由中国科学技术大学 陈恩红、刘淇团队完成,被AAAI-20录用的论文《智能教育系统中的神经认知诊断》
在许多现实场景如教育、游戏竞技、医疗诊断中,认知诊断是一项必要且基础的任务,其中在智慧教育场景应用最为广泛。具体的说,在智能教育系统中,认知诊断旨在发现学生在学习过程中的状态,例如他们对特定知识点的熟练程度。智能教育中的认知诊断,通过收集学生的行为记录和试题信息,来推断学生当前的知识状态。如图所示:显示了一个认知诊断的示例。首先,学生选择了一些题目进行练习(例如e1,e2,e3,e4),并做出回答(例如对或错)。然后,得到了对应的答题记录。每道题目包含了特定知识点,我们的目标是通过认知诊断技术得到该学生在各个知识点上的掌握程度。例如学生答对了试题 e1 ,而e1包含“三角函数”这个知识点,因此诊断出来该学生对于“三角函数”这个知识点掌握程度较高,反映到诊断报告的图中则为蓝线靠近外侧。认知诊断的结果可以被用作教育资源推荐、学生表现预测、学习小组分组等后续教育应用中。
现有的关于学生认知诊断的研究主要来自教育心理学领域。在教育心理学的相关研究中,DINA模型和项目反应理论IRT是两个最典型的研究。在IRT或MIRT中,学生和试题用标量或潜在向量表征,并且学生和试题之间的交互函数采用类logistic函数进行建模。在DINA模型中,学生和试题用二进制向量表示,其中试题向量直接来自Q矩阵的对应行,表示该试题包含的知识点。这里的Q矩阵是一个人工标注的试题-知识点关联矩阵,每一行对应一道试题,每一列对应一个预定义的知识点。学生和试题向量之间的交互函数是基于合取假设设计的,也就是说,学生需要掌握试题所需的所有知识点并且不失误才能正确回答该试题,否则只能以概率gj猜对。矩阵分解是推荐系统中的一种方法,它用潜在向量表征学生和试题,并且交互函数是内部产生的。
在文献中,已经有大量的工作被投入到认知诊断中,例如DINA模型,IRT,MIRT和MF等。尽管后续有许多的改进工作,但整体来说,都是人工设计学生与试题之间的交互函数,这样的做法不仅函数设计耗时耗力,而且设计的函数大部分是线性的,可能无法有效地模拟学生与试题之间的复杂关系。此外,传统方法只能处理学生-试题组成的数值矩阵,不能建模试题文本等异构信息。因此需要寻找一种 自动化建模学生与试题之间复杂关系的方法 以进行认知诊断。
近年来已有使用深度学习方法进行学生建模的研究。DKT首次尝试使用递归神经网络对学生学习过程进行建模。以DKT为代表的知识跟踪工作的目的是:跟踪学生知识状态的动态变化。这些工作与认知诊断的最大差异在于,它们的主要目标是预测下一时刻学生答对各道题目的概率,多数工作中不严格区分试题与其包含的知识点,因此不具有认知诊断所需要的高度可解释性,不适合直接作为认知诊断方法。
在这样的背景下,作者提出神经认知诊断框架(NeuralCD),希望利用神经网络设计一个效果好且高度可解释的通用认知诊断框架,直接从数据中学习学生与试题之间的交互函数,而非人工设计。并且得益于神经网络在各领域的成功,使得该框架能够利用试题文本等异构数据,提高模型的学习能力。此外,该框架具有通用性,可以覆盖多种传统模型,同时易于扩展。
下面介绍认知诊断任务:
假设在一个学习系统中有N个学生,M道试题和K个知识点,它们可以分别表示为学生集合S = {s1,s2,.........,sN},试题集合E = {e1,e2,.........eM}和知识点集合K = {k1,k2,........ ,kK}。每个学生都会选择一些试题进行练习,学生的答题记录可以表示为三元组(s,e,r)的集合R,其中s∈S,e∈E,r是学生s在试题e上的换算成百分比的得分。此外,还有将试题与知识点关联的Q矩阵。如果试题ei与知识点kj有关,则Qij = 1,否则,Qij = 0。
给定学生的答题记录R和Q矩阵Q,认知诊断的任务是通过学生答题预测的过程获取学生在各个知识点上的掌握程度。
在本文中,作者提出一个通用的神经认知诊断框架,通过结合神经网络来建模复杂的非线性相互作用。但是使用神经网络做认知诊断也存在一些问题,一个主要的原因是它的“黑盒”特性,即模型参数难以解释,神经网络的黑盒特性使得它们难以获得可解释的诊断结果。也就是说,很难明确地认识到一个学生已经掌握了某种知识点的程度。这对认知诊断非常重要。此外,试题文本中有丰富的信息,可能有助于诊断。对于传统方法,由于试题文本受到手工设计的非神经功能的限制,无法充分利用文本内容。但是,由于神经网络具有强大的拟合能力使其能够从数据中学到更为复杂且贴近现实的交互函数,并且借助神经网络,能够将试题文本信息整合到框架中。
几乎所有的传统认知诊断方法都包括学生参数、试题参数、学生与试题交互函数这三个部分。本文中提出的通用NeuralCD框架也沿用这种方式,其结构如图所示。
NeuralCD将认知诊断分为三个部分:学生因素、试题因素和交互函数。在图中橙色代表学生因素,蓝色代表试题因素,黄色代表交互函数。
学生因素最基本的是知识点熟练度向量Fs,Fs中的每一项都是在[0,1]之间的连续值,表示学生对某一知识点的熟练程度。例如,Fs =[0.9,0.2],则表示学生对第一个知识点的掌握程度高,而对第二个知识点的掌握程度低。Fs是通过参数估计过程得到的。
试题因素则包括基本的知识点相关度向量Fkn和其他可选因素Fother,Fkn的第i项表示试题与知识点ki之间的相关性,Fkn的每一项都是非负的。Fother表示除Fs和Fkn以外的因素,例如,试题难度,区分度等。Fkn具有与Fs相同的维度,Fkn是预先给出的,可以从Q矩阵获得。
交互函数由多层神经网络构成,这是与传统方法最大的不同点。使用神经网络来获得交互函数主要有3个优点:首先,神经网络已被证明能够逼近任何连续函数,且神经网络具有很强的拟合能力,能够很好地捕捉学生因素和试题因素之间的关系。其次,利用神经网络,可以在很少的假设下从数据中学习交互函数。这使得NeuralCD更加通用。第三,该框架可以通过神经网络高度扩展。例如可以将试题文本与神经网络集成。
在数学上,将NeuralCD框架的输出公式表示为这个形式:
其中ϕi表示第i个MLP层的映射函数;θf表示所有交互层的模型参数。
NeuralCD框架的输入是答题记录中学生和试题的one-hot向量,输出为学生答对这道试题的预测概率。
由于某些内在特征,神经网络通常在可解释方面性能较差。但是,作者发现在一些IRT和MIRT模型中使用单调性假设可以用来保证学生和试题因素的可解释性。单调性假设几乎在所有情况下都是通用且合理的,因此对NeuralCD框架的通用性影响很小。为了确保训练结束后得到的Fs的可解释性,即每一维对应 该学生在对应知识点上的掌握程度,做出两点约束:
第一点:1. 输入层需要包含Fs ◦Fkn,其中“ ◦”表示按元素乘积,这样做的目的是:让Fs中的每一维都与Fkn中对应维的知识点对应;
第二点:2. 对多层神经网络使用“单调性假设”来约束。单调性假设是教育心理学方法中常用的假设,它的内容是:学生答对试题的概率随学生任意一维知识点熟练度单调递增。也就是说,在训练过程中,如果模型的预测值小于真实得分,则需要提高该学生的Fs中的值;反之则降低Fs中的值。具体调整Fs中的哪些维度,由Fkn控制。如图所示:假设学生s正确回答了练习e。在训练期间,如果模型输出了错误的预测,如0.3,其值小于0.5,则优化算法应该增加学生的知识点熟练度。而具体增加哪些个知识点熟练度由Fkn控制(知识点相关度向量,从Q矩阵直接获得,试题知识点关联矩阵)。
接下来,将介绍两种基于NeuraCD框架的实现。第一个NeuralCDM,是一个基于NeuralCD框架的带有其他试题因素(知识点难度与试题区分度)的诊断模型,也是一个使用Q矩阵的基本实现。结构如图所示:
图3 NeuralCDM结构
输入层由知识点熟练度向量hs,知识点相关度向量Qe,知识点难度向量hdiff,试题区分度向量hdisc组成。这部分对应了前面提到的术语。
其中学生因素中的知识点熟练度向量,对应前面的Fs,在此处表示为hs,并且hs是通过将学生的one-hot表示向量与xs可训练矩阵A相乘得出的,其中A是所有学生的熟练度矩阵。
试题因素中知识点相关度向量,对应前面的Fkn,在此处表示为Qe,,直接取自人工标注的Q矩阵。
为了做出更准确的诊断,还采用了另外两个试题因素:试题的知识点难度向量hdiff,表示试题对每个知识点考察的难度,以及试题区分度向量hdisc,表示试题区分不同水平学生的能力。即:该试题区分知识掌握程度高的学生和知识掌握程度低的学生的能力。其中B和D是可训练矩阵,都是可以通过数据学习的可训练参数。这样,多层神经网络的输入层为:
NeuralCDM不追求模型的复杂性,而是为验证NeuralCD的有效性,因此它的交互函数由多层全连接层构成。这是两个全连接层和一个输出层:
其中φ是激活函数。在这里使用得是Sigmoid激活函数。
除此之外,为了满足单调性假设,需要限定每一层的权值为正,也就是限制W1,W2,W3的每个元素为正。这样就使得知识点熟练度向量hs中 值的调整方向,与输出的预测值y的变化方向一致。这样就保证了在训练过程中始终满足单调性假设。
最后,输出层输出学生正确回答试题的概率。NeuralCDM的损失函数采用输出的预测值y和真实得分r之间的交叉熵:
训练结束后,学生对应的熟练度向量hs就是该学生的诊断结果,每一维对应该学生在该知识点上的掌握程度。
另一种实现方式是利用试题文本信息完善Q矩阵,扩展NeuralCDM,将扩展模型表示为NeuralCDM+。
试题文本与试题信息是十分相关的,例如通过试题文本可以预测试题的难度、区分度、知识点等。在本文中仅选取其中的“试题知识点”来展示NeuralCD的可扩展性。
在NeuralCDM和一些传统方法(如DINA模型)中,通过Q矩阵获取试题与知识点的关联信息。但是,人工标注的Q矩阵可能存在不可避免地主观性甚至错误。另一方面,试题文本已经被证明与某些试题特征高度相关,因此可以利用它来完善Q矩阵。例如,对于一道解方程的问题,人工可能只标注了其中的主要考点“方程式”,但是却忽略了其中乘除法的知识点。而通过试题文本,可以发现其中包含除法符号“÷”,因此判断出此试题也需要“除法”这一知识点。对于传统方法,由于试题文本受到手工设计的非神经功能的限制,无法充分利用文本内容。但是借助神经网络,可以将试题文本信息整合到NeuralCD框架中。将扩展模型记为NeuralCDM+。
NeuralCDM+的结构如图所示:
图4 NeuralCDM +结构
由于CNN在文本处理中具有提取局部信息的优势,能够从文本中获取与特定知识点高度相关的词汇。利用这一特点,作者首先预训练一个卷积神经网络,输入试题文本 来预测与该试题相关的知识点,人工标记的Q矩阵用作训练的标签。然后,取其输出的前Top-k知识点集合Vik作为预测结果。
接下来根据偏序关系将Vik与Q矩阵结合得到优化后的~Q。具体的偏序关系是:Q矩阵标注>=预测的Top-k>其他=0,偏序关系确定的依据是:尽管人工标记的Q矩阵存在缺陷,但它仍然具有很高的置信度。因此使用该偏序关系来表示一道题中各个知识点的相关度。
也就是说,对于每道试题,由Q-矩阵标记的知识点的相关性高于或等于预测的结果,而既非标注也未被预测的知识点则认为是与这道题无关。
最后采用概率模型的方式来实现这一偏序关系,并最终得到经文本预测补充的知识点相关度矩阵~Q后,代替NeuralCDM中的Q。右半部分与NeuralCDM的结构是一样的。
NeuralCD框架不仅可扩展,而且具有很强的通用性。一些传统的认知诊断模型可被视为NeuralCD的特例(如矩阵分解、IRT、MIRT等)。
例如,IRT与NeuralCD的关系可被下图概括,
图5 NeuralCD与IRT的关系
如图所示:如果将NeuralCD从多维退化至一维,知识点相关度向量Qe固定为1,并且将神经网络构成的交互函数退化为单个Sigmoid函数,模型就退化成了IRT。
如果将NeuralCD从多维退化成一个求和和一个单个Sigmoid函数,并将试题区分度hdisc固定为1,模型就退化成了MIRT,其中Q是学习到的,而不是人工标注的。
此外,作者在两个真实世界的数据集上进行了实验,一个是科大讯飞有限公司的在线学习平台,智学网,提供的私有数据集Math,该数据集包含多所高中的期末考试试题、文本和答题记录。另一个ASSIST数据集是由ASSISTments在线教学系统收集的一个公开数据集,包含数学试题和学生答题记录。但是由于ASSIST数据集没有提供试题文本,所以NeuralCDM+没有在ASSIST数据集上进行实验。表1显示了两个数据集的基本统计信息。
表1
表一中有两个特殊的指标,AVG#log和STD#log> 1
其中Log(i,j)表示学生si回答的与知识点kj相关的试题数量,AVG#log表示每个学生为每个知识点记下的平均记录数量。
Stdij表示学生si针对与知识点kj相关的试题获得分数的标准差,STD#log> 1表示每个学生在每个知识点上获得分数的平均标准差。
统计这两个信息的目的是:判断提出的静态NeuralCD模型是否适用于这两个数据集。Math数据集是由考试记录组成的,因此可以认为学生的知识水平在Math数据集中是稳定的。但是,学生对知识点的熟练度可能会发生变化。所以为了分析静态NeuralCD模型是否适用于ASSIST数据集,作者比较了Math和ASSIST数据集之间的AVG#log 和STD#log> 1这两个指标。如表1所示,虽然ASSIST数据集的AVG#log比Math大得多,但它们的STD#log> 1指标接近。所以,可以合理地假设ASSIST数据集中学生的知识状态也是稳定的,所以提出的静态NeuralCD模型适用于这两个数据集。
为了评估NeuralCD模型的性能,作者将它们与以前的方法(DINA,IRT,MIRT和PMF)进行了比较。但是由于无法获得学生真实的知识点熟练度标签,因此作者采用了间接 衡量诊断结果准确性的方法,也就是:使用学生的诊断结果来预测学生在非训练数据中试题的得分,这也是传统认知诊断模型的常规做法。作者从分类和回归两个方面使用评估指标,包括准确度,均方根误差和AUC(曲线下面积)。表2显示了所有模型对学生答题预测的实验结果。“±”之后的误差是每个模型进行5次评估的标准差。从表中可以看出,在两个数据集上,NeuralCD模型的性能相较传统模型取得了较大的提升。这说明了该框架的有效性。此外,与NeuralCDM相比,NeuralCDM+具有更好的性能,也证明了Q矩阵的改进方法是有效的。
表2 学生答题预测实验结果
为了评估NeuralCD框架的可解释性,作者进一步进行了几个实验。作者认为学生的诊断结果应该能够符合直觉上的预期:也就是说:如果学生a答对了包含知识点k的试题e,而学生b没有答对,那么学生a在知识点k上的掌握程度(Fsak)应该更有可能比b(Fsbk)大。对此,作者采用DOA来衡量这一解释性:
在此式中Z是归一化项,Fsak是学生a对知识点k的熟练程度。如果Fsak> Fsbk则δ(Fsak,Fsbk)= 1,否则δ(Fsak,Fsbk)= 0。如果试题j包含知识点k,则Ijk = 1,否则,Ijk = 0。如果学生a和b都做了试题j,则J(j,a,b)= 1,否则,J(j,a,b)= 0。
计算 模型诊断结果中 平均每个知识点的DOA值,DOA值越高说明越符合预期,也就是说在某些知识点上表现越好的学生,他的诊断知识熟练度就会越高。
在传统模型中,由于IRT,MIRT和PMF的学生向量与知识点之间没有明确的对应关系,所以只与DINA模型进行比较,此外,作者在两个简化的NeuralCDM模型上进行了实验。在第一个简化模型(表示为NeuralCDM-Qmatrix)中,知识点相关度向量是在无监督训练过程中估计的,而不是从Q矩阵直接获取的。在另一个简化模型(表示为NeuralCDM-Monotonocity)中,通过消除对全连接层的正约束,消除了单调性假设。这两个简化模型分别用于证明知识相关度向量和单调性假设的重要性。此外,作者还进行了一项额外的实验,即:随机估计学生的知识水平并计算DOA进行比较。
各个模型的结果如图所示。从图中可以看出,NeuralCDM和NeuralCDM +的DOA值显著高于基准值,这证明了它们诊断的知识熟练度是合理的。NeuralCDM-Qmatrix和NeuralCDM-Monotonicity的DOA值远低于NeuralCDM,这表明来自Q矩阵和单调性假设的信息对于获得可解释的诊断结果很重要。由于Q矩阵的使用,DINA模型的DOA值略高于随机DOA。此外,NeuralCDM在Math上的性能要比在ASSIST上好很多。这主要是由于记录中存在矛盾,具体地说就是:学生可能正确回答了某些包含知识点kj的试题,而另一些包含知识点kj的试题却答错了,原因可能是知识点熟练度的改变,或者是试题中包含的其他知识点。由于ASSIST数据集具有比Math数据集更大的AVG#log和略高的STD#log> 1,这使得ASSIST数据集中的记录矛盾很多,而较多的矛盾会降低DOA值。
图5
下面展示的是一个学生在ASSIST数据集上对NeuralCDM的诊断结果的示例。图的上半部分显示了关于五个知识点的三道试题的Q矩阵和对应的实际答题结果。图中下半部分的柱形图显示了学生在各个知识点上诊断出的熟练度,不同颜色和标记的数据点代表3道题所包含知识点的考察难度。在诊断结果中,当学生对知识点的掌握程度超过试题的要求时,更有可能答对试题。例如试题2中包含“Add Whole Numbers”和“Absolute Value”这两个知识点,难度分别为0.47和0.48,而该学生在这两个知识点上的掌握度分别为0.77和0.56,超过了难度需求,所以答对了这道题。实验结果表明:诊断的结果是符合常识认知的。
图6 案例分析
接下来,对本文所做工作作简要总结:
在本文中,作者提出了一个用于学生认知诊断的神经认知诊断框架--NeuralCD。该框架将学生和试题投射到不同的因素中,并使用神经网络学习它们之间的交互函数。应用单调性假设来保证其可解释性。作者用两个具体的框架实现:NeuralCDM和NeuralCDM+,来说明该框架的可行性与可扩展性,并通过证明NeuralCD可以覆盖某些传统模型,来说明该框架的通用性。
最后作者进一步在两个真实世界的数据集上进行了实验,实验结果表明本文提出的模型是有效且可解释的。
关于未来进一步的研究方向,有以下三个想法:首先,可以努力设计一个更有效的知识点预测模型,从而提高NeuralCDM +的性能。其次,对神经网络权重的正约束可能会限制它的近似能力,因此可以寻找一个更灵活的方法来满足单调性假设。第三,由于学生的知识状态在许多在线自主学习环境中会发生变化,因此可以将NeuralCD扩展到动态认知诊断中。
以上就是我的论文记录,另附论文ppt.