Deep Knowledge Tracing

摘要(Abstract)

知识追踪是一种基于计算机的给学生知识掌握情况进行建模的方法,这篇文章中使用了RNN进行建模。使用 RNN 主要是因为这类网络不需要对领域知识进行明确编码,并且能够捕捉到更多信息.
从模型中学到的信息可以帮助进行教学设计、帮助改进学生作业的结构.

简介(Introduction)

  1. 使用可汗学院、Coursera 和 EdX 的数据.
  2. 知识追踪可以准确预测学生在未来的表现,对模型进行改进意味着能够根据学生自身的需求对其需要学习的资源进行推荐,过易过难的内容都可以先跳过.
  3. 一对一的教师指导可以帮助学生相较一般学生来说提高 2 个标准差的分数(two-sigma problem*),而机器学习方法能够将这样的教学惠及所有学习者.
  4. 之前的绝大部份工作是基于一阶马尔可夫模型.
  5. 本文提出了名为深度知识追踪(Deep Knowledge Tracing,DKT)的方法,这种基于 RNN 的方法可以表示随时间变化的隐含知识状态,通过使用大规模的神经元,使得网络能够从数据中学到表示学生知识的隐变量,而不需要人工进行硬编码.
  6. 本研究的主要贡献在于:
    • 提出一种将学生交互作为 RNN 输入的全新方法
    • 在 AUC 上取得了比之前最好基准要好 25%的结果
    • 证明了模型不需要领域专家进行注解
    • 发现了练习带来的影响,并且能够对教学带来改进
  7. 知识追踪的任务可以总结为以下几个步骤:
    • 将学生具体的作业作为观测变量标记为 X0~Xt,并对下一个作业进行结果预测
    • Xt一般被组织为{qt,at}的形式,其中 qt代表第 t 个题目有没有回答,而 at代表该题是否回答正确
    • 在进行预测时,模型提供需要回答的题目编号,而预测的就是该题是否能够被回答正确
    • 图片展示了一个学生在八年级数学上的表现,结果是以同类型题目作为一组进行展示的
      Q4fWm6.png

* Bloom found that the average student tutored one-to-one using mastery learning techniques performed two standard deviations better than students who learn via conventional instructional methods

相关工作(Related Work)

  1. 人类如何进行学习这个问题已经在教育、心理学、神经科学和认知科学领域被广泛讨论,从宏观层面来讲包括影响、动机甚至认同感,如今这些影响因素都被放入到微观层面进行讨论.
  2. 在认知科学领域有两个因素和人类的思维以及学习过程相关,一个是递归(recursive),另一个是推理(analogy).

贝叶斯知识追踪(Bayesian Knowledge Tracing,BKT)

  1. 贝叶斯知识追踪是对学生学习进行时序建模方法中最流行的一种.
  2. BKT 将学习者隐性的知识掌握状态表示成一组二元变量,代表每个单独知识点的掌握情况。根据学习者回答问题的正确情况,使用隐马尔科夫模型(HMM)对这些二元变量的概率进行更新.
  3. 最初的研究没有考虑学习的遗忘率问题,最近的研究加入了猜测概率、先验知识概率以及问题难度概率.
  4. 知识追踪本身存在一些难点:1、学生的答案正确与否可能和他是否真的掌握知识点有出入;2、题目可能包含多个知识点,这与模型所预期的每个题目单个知识点的设计相违背;3、满足模型要求的题目种类有限.

其他的动态概率模型(Other Dynamic Probabilistic Models)

  1. 研究者使用部分可观察马尔可夫决策过程(Partially Observable Markov Decision Processes,POMDPs)对学习者行为进行建模.
  2. 使用 POMDPs 可能造成状态空间呈指数式增长.
  3. 最近一些研究对状态空间进行了限制,但是这又造成练习方式上的局限.
  4. 表现因子分析*(Performance Factors Analysis,PFA)和学习因子分析**(Learning Factors Analysis,LFA)在预测能力上都表现出了和 BKT 相媲美的水准.
  5. 为在预测结果上取得比单一系统更好的效果,很多方法都采用了将 BKT 和 PFA 进行整合的策略.使用 AdaBoost、随机森林、线性回归、逻辑回归以及前馈神经网络的模型都表现出了相较 BKT 和 PFA 更佳的性能。不过由此也带来了需要给具体概念打标签的问题.
  6. 有人在最近的工作中加入了项目反应理论(Item Response Theory,IRT),但是这个方法相较之前的方法来说限制更多,成本也更高.

* Performance Factors Analysis models and predicts student performance using a logistic regression equation that models changes in performance in terms of the number of student successes and failures that have occurred for each skill.
** LFA has three components: a statistical model that quantifies the skills, the difficulty factors that may affect student performance in the tutor curriculum, and a combinatorial search that does model selection.

循环神经网络( Recurrent Neural Networks)

  1. RNN 依靠系统输入以及前置的状态共同影响,RNN 对隐状态有更高维度、连续以及特征表示的形式.

深度知识追踪(Deep Knowledge Tracing,DKT)

  1. 使用了两种 RNN 模型:(1)、使用 sigmoid 的传统 RNN;(2)、使用 LSTM.

模型(Model)

  1. 传统的 RNN 建立了从输入序列(x1,…,xT)到输出序列(y1,yT)的映射,要完成这样的转换需要计算一系列的隐状态(h1,…,hT),它们可以被看作是在之前的观测中对相关联信息的连续编码,并且它们对预测也大有帮助.
  2. QIAP4f.png
  3. QIAAgg.png
  4. 变量说明:Whx是输入权重矩阵,Whh是递归权重矩阵,h0为初始状态,Wyh为输出权重矩阵,bh和 by分别为隐变量和输出单元的偏差.
  5. LSTM 相较普通 RNN 更加复杂,在 LSTM 的隐变量单元中的信息都将被保留,直到遗忘门(forget gate)被打开.
  6. QIE1ot.png

输入和输出时间序列(Input and Output Time Series)

  1. 为训练 RNN 或者 LSTM,我们需要将学生答题情况转换为固定长度的输入向量 xt.
  2. 对于数据量较小的数据集,我们需要将学生的作答情况转换成定长的输入向量 xt,这些向量将被转换为学生交互元组 ht={qt,at}的独热编码形式,这个元组代表了习题的回答与否以及正确与否,所以 xt∈{0,1}2M(因为独热编码的表示方式,前 M 为是否回答习题,后 M 为正确与否).
  3. 对于数据量较大的数据集,独热编码会变得无法使用,所以采用压缩感知算法将高维稀疏的输入数据压缩到低维空间.

优化(Optimization)

  1. 模型使用了负对数似然函数对观测到的数据进行训练,δ(qt+1)代表了在 t+1 时间习题是否回答的独热编码,l 代表了二元交叉熵,损失函数为 l(yTδ(qt+1),at+1),那么对于单个学生的损失函数为
    QIuBTJ.png
  2. 模型使用了小批量(minibatch)的随机梯度下降(stochastic gradient descent),为防止训练过程中的过拟合,我们对 ht使用了 dropout,但是在计算下个隐状态 ht+1的时候并未使用.
  3. 本文中使用的所有模型都是使用了 200 维的隐变量以及大小为 100 的 mini-batch.

教育应用(Educational Applications)

改进教学(Improving Curricula)

发现习题之间的关系( Discovering Exercise Relationships)

数据集(Datasets)

  1. 共有三种数据集:模拟数据集(simulated data)、可汗学院数据集(Khan Academy Data)以及 Assistments 基准数据集(Assistments benchmark dataset).
  2. 对每种数据集都做了 AUC 计算,对于非模拟数据集还做了 5 折交叉验证,并且在所有情况下都计算了超参数,并且最后与 BKT 进行了比较
    QIKRCn.png
  3. 模拟数据集:我们模拟了虚拟学生对虚拟概念进行学习,并且在条件可控的情况下测试预测的结果。所有的学生都被安排了序列相同的 50 个题目作为测试,每个题目都有单独的概念以及它的难度值。根据项目反应理论(Item Response Theory,IRT),在学生掌握 α 概念且题目难度为 β 的情况下,学生答对题目的概率为QIllj0.png其中 c 代表的猜对的概率(设定为 0.25),学生通过不断学习他们已答过的题目来提升概念的掌握水平。为理解不同模型对未标记数据的整合情况,我们没有提供隐含的概念,而只是简单提供练习的序号并且这题是否回答正确的数据.
  4. 可汗学院数据:在匿名条件下收集了 69 个不同练习类型,总共 47495 名学生的 140 万份练习数据.
  5. 基准数据集:这是目前公开的最大规模的知识追踪数据集.

结果(Results)

  1. 在三个数据集上,DKT 相较之前的方法都取得了非常明显的进步,比如使用了 LSTM 对可汗学院数据集进行建模,取得了 0.85 的 AUC,这比采用 BKT 的 0.63 要好上不少。在 Assistments 数据集上也提升了 25%
    QI8ljI.png
  2. 对于隐概念,DKT 模型在每轮学习后都能提升概念的掌握情况,但是 BKT 模型就对这类未标记概念完全没有处理.
  3. 对于人工数据的预测精准度意味着使用 DKT 模型对数据集中的隐含结构进行提取成为了可能,比如我们就使用模型对五种隐概念进行了聚类.
  4. 对于两个相同类型的题目,就算他们在题目顺序上相隔很远,但是最终也能发现它们之间具有强烈的相关性.
  5. 比较了两种概率,一种是学生刚回答完 A 之后回答 B 的转移概率,另一个是在不使用 DKT 模型的情况下,学生在回答正确 A 之后回答正确 B 的概率.

讨论(Discussion)

  1. 新模型的好处在于不需要领域专家的标注,因为模型能够自行对相匹配的概念进行学习,同时模型能够对所有能被向量化的学生输入进行处理。但是它也存在问题,那就是训练所需数据量极大,所以它对在线学习环境下的匹配程度较好,但是可能不适合线下的小型教室教学环境.
  2. 未来的研究可以加入更多特征,比如加入提示、空间重复、学生遗忘等因素.

Deep Knowledge Tracing

论文链接:
https://stanford.edu/~cpiech/bio/papers/deepKnowledgeTracing.pdf

这篇论文描述了使用 RNN 对学生掌握知识的情况进行追踪,比如构建二元组使用独特编码对学生输入进行表示,并且使用多种方法对数据进行建模,最后在三个数据集上进行验证,均取得了远超传统方法的成绩