摘要
这篇文章提出了AKT模型, 使用了单调性注意力机制, 考虑过去的做题记录来决策未来的做题结果, 另外使用了Rasch 模型来正则化习题和概念的嵌入。
AKT方法
1上下文感知表示和知识检索
通过两个encoder使用单调性注意力机制,分别将原始的习题嵌入 \(\{\mathbf{x}_1,...,\mathbf{x}_t\}\) 编码为 \(\{\mathbf{\hat{x}}_1,...,\mathbf{\hat{x}}_t\}\) , 以及原始的习题-反馈嵌入 \(\{\mathbf{y}_1,...,\mathbf{y}_{t-1}\}\)编码为 \(\{\mathbf{\hat{y}}_1,...,\mathbf{\hat{y}}_{t-1}\}\) , 该部分为上下文感知的嵌入部分, 是基于 学生在做题的时候的理解和学习都是因人而异的 这一直觉。
知识检索部分将 \(\mathbf{\hat x}_{1:t}\) 以及 \(\mathbf{\hat y}_{1:t-1}\) 为输入,输出对于当前问题检索到的知识状态,
2单调性注意力机制
引入单调性注意力机制的原因为:学习过程是时序的,伴随着记忆力的衰减;并且很久之前的表现相较于近期的表现来说重要程度更小,因此引入该机制,可以反应出以下直觉: 学生面对新题目时,过去概念上不太相关的题目以及很久远的题目,它们与当前的题目并不会很相关 。该机制计算注意力的权重时,加入了一个乘法指数衰减项:
其中
虽然有很多建模时间关系的方式,比如NLP中的position embedding,等等,但是文中后面经过实验,上面这种建模方法效果比较好。
上下文感知距离衡量 :一个直观做法是直接用绝对距离,\(d(t,\tau)) = |t-\tau|\) , 但是这种距离不带有上下文感知,并且忽略了过去的联系,为了能够反应这种关系提出了一种新的上下文感知的距离度量:
3 反馈预测
这里还是常用的交叉熵,不多提了
4 基于Rasch模型的嵌入
Rasch类似于IRT,将答对问题的概率用两个参数来建模:问题难度和学习者能力。
我们将概念 \(c_t\) 下的问题 \(q_t\) 嵌入表示为:
其中 \(\mathbf{c}_{c_t}\) 是概念的嵌入,\(\mathbf{d}_{c_t}\) 是涵盖这个概念的习题变化的总结, \(\mu_{q_t}\)是难度系数,问题-反馈对\((q_t,r_t)\) 也被类似的表示:
\(\mathbf{e}_{(c_t,r_t)}\) 为概念-反馈嵌入,$ \mathbf{f}_{(c_t,r_t)}$ 为变化向量。
这个模型的选择反映了我们的第三个直觉: 标注为相同概念的习题是相关的,但是个体困难程度不应该被忽略
整体架构图:
可视化
为了提供解释性,对多头注意力权重进行了可视化,可以看到不同的head捕获到不同的特性,有的关注局部,有的关注全体,等等