论文笔记 Context-Aware Attentive Knowledge Tracing


摘要

这篇文章提出了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单调性注意力机制

引入单调性注意力机制的原因为:学习过程是时序的,伴随着记忆力的衰减;并且很久之前的表现相较于近期的表现来说重要程度更小,因此引入该机制,可以反应出以下直觉: 学生面对新题目时,过去概念上不太相关的题目以及很久远的题目,它们与当前的题目并不会很相关 。该机制计算注意力的权重时,加入了一个乘法指数衰减项:

\[\alpha_{t,\tau} = \frac{exp(s_{t,\tau})}{\sum_{\tau^{\prime}}exp(s_{t, \tau\prime})} \]

其中

\[s_{t,\tau}=\frac{exp(-\theta·d(t,\tau))·\mathbf{q}_t^Tk_\tau}{\sqrt{D_k}} \]

虽然有很多建模时间关系的方式,比如NLP中的position embedding,等等,但是文中后面经过实验,上面这种建模方法效果比较好。

上下文感知距离衡量 :一个直观做法是直接用绝对距离,\(d(t,\tau)) = |t-\tau|\) , 但是这种距离不带有上下文感知,并且忽略了过去的联系,为了能够反应这种关系提出了一种新的上下文感知的距离度量:

\[d(t,\tau)) = |t-\tau|·\sum^{t}_{t^\prime=\tau+1}\gamma_{t,t^\prime}\\ \gamma_{t,t^\prime}=\frac{exp(\frac{q_t^Tk_{t^\prime}}{\sqrt{D_k}})} {\sum_{1\le\tau^\prime\le t}exp(\frac{q_t^Tk_{t^\prime}}{\sqrt{D_k}})} \]

3 反馈预测

这里还是常用的交叉熵,不多提了

4 基于Rasch模型的嵌入

Rasch类似于IRT,将答对问题的概率用两个参数来建模:问题难度和学习者能力。

我们将概念 \(c_t\) 下的问题 \(q_t\) 嵌入表示为:

\[\mathbf{x}_t = \mathbf{c}_{c_t} + \mu_{q_t}·\mathbf{d}_{c_t} \]

其中 \(\mathbf{c}_{c_t}\) 是概念的嵌入,\(\mathbf{d}_{c_t}\) 是涵盖这个概念的习题变化的总结, \(\mu_{q_t}\)是难度系数,问题-反馈对\((q_t,r_t)\) 也被类似的表示:

\[\mathbf{y_t} = \mathbf{e}_{(c_t,r_t)} +\mu_{q_t}·\mathbf{f}_{(c_t,r_t)} \]

\(\mathbf{e}_{(c_t,r_t)}\) 为概念-反馈嵌入,$ \mathbf{f}_{(c_t,r_t)}$ 为变化向量。

这个模型的选择反映了我们的第三个直觉: 标注为相同概念的习题是相关的,但是个体困难程度不应该被忽略

整体架构图:

可视化

为了提供解释性,对多头注意力权重进行了可视化,可以看到不同的head捕获到不同的特性,有的关注局部,有的关注全体,等等

另外使用t-SNE可视化了问题嵌入,有比较明显的聚类特征,同时困难度也有所体现:


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM