1 简介

SAINT: Separated Self-AttentIve Neural Knowledge Tracing. 一个基于transformer的知识跟踪模型。

本文根据《Towards an Appropriate Query, Key, and Value Computation for Knowledge Tracing》翻译总结。

知识跟踪:基于每个学生过去的学习活动,预测学生对未来一个主题的理解。比如EdNet数据集,给了每个学生过去所有练习题的情况(练习题的类别、学生是否回答正确、花费的时间等),预测学生是否能正确回答下一个练习题。追踪每个学生理解的状态,可以依据学生的能力和需要进行有效的资源分配。

深度学习之前,传统的知识跟踪方法包括贝叶斯知识跟踪(Bayesian Knowledge Tracing (BKT))、协同过滤(Collaborative Filtering (CF))。BKT将学生的知识状态表示成一个二值元组,其中每一个值表示学生是否理解一个单独的概念。使用隐马尔科夫模型,将这些值更新为学生实际的答案(response)。

目前应用在知识跟踪上的注意力机制有如下两个限制,如下图:(1)以前模型的注意力层太浅,不能捕捉不同练习题(exercise)和答案(response)之间复杂的关系。(2)合适的构建queries, keys and values还没有被充分发掘。比如目前都是练习题为queries,交互为keys和values。

什么是Transformer是唯一的深度学习架构吗 transform knowledge_ci

为此,SAINT如下图,有如下贡献:
1)SAINT中,exercise embedding sequence 和the response embedding sequence分别独立的进入encoder 和decoder。
2)SAINT使用深度自注意力有效的捕捉了练习题和答案之间复杂的关系。
3)SAINT比目前优秀的模型完成了AUC的1.8%的提升。

2 模型建设

2.1 问题定义

什么是Transformer是唯一的深度学习架构吗 transform knowledge_Self_02

那么问题表示成如下形式,回答第i个exercise是否准确的概率:

什么是Transformer是唯一的深度学习架构吗 transform knowledge_Self_03

2.2 输入表示

SAINT采用E_1,E_2……E_k和R_1, R_2…… R_(k-1)作为输入,预测第k个response。

输入特征如下:

什么是Transformer是唯一的深度学习架构吗 transform knowledge_Self_04

2.3 深度自注意力Encoder-Decoder

什么是Transformer是唯一的深度学习架构吗 transform knowledge_Self_05

Encoder的输出是O。公式如下:

什么是Transformer是唯一的深度学习架构吗 transform knowledge_Self_06

2.3.1 多头注意力网络:

Q_in、K_in、V_in、分别代表多头注意力网络的queries, keys 、values。

什么是Transformer是唯一的深度学习架构吗 transform knowledge_ci_07

什么是Transformer是唯一的深度学习架构吗 transform knowledge_Self_08

什么是Transformer是唯一的深度学习架构吗 transform knowledge_Self_09

2.3.2 Feed-Forward Networks

位置敏感的feed-forward networks,添加了非线性到模型。

什么是Transformer是唯一的深度学习架构吗 transform knowledge_Self_10

2.3.3 Encode

什么是Transformer是唯一的深度学习架构吗 transform knowledge_Self_11

2.3.4 Decode

什么是Transformer是唯一的深度学习架构吗 transform knowledge_数据集_12

2.4 其他变体

什么是Transformer是唯一的深度学习架构吗 transform knowledge_Self_13

我们也探讨了其他3个变体,如上图所示。
1)Lower Triangular Masked Transformer with Interaction sequence (LTMTI)
2)Upper Triangular Masked Transformer with Interaction sequence (UTMTI)
3)Stacked variant of SAKT [14] (SSAKT)

3 实验结果

采用的数据集是EdNet,该数据集有santa(一个英语教育手机应用)收集。
我们将数据集分为:the train set (439,143 users, 51,117,443 responses), the validation set (62,734 users, 7,460,486 responses) and the test set (125,470 users, 14,329,076 responses)。

实验结果如下:
Multilayer Perceptron (MLP) [7], Neural Collaborative Filtering (NCF) [7], Neural Pedagogical Agent (NPA) [12] and Self-Attentive Knowledge Tracing (SAKT)。

什么是Transformer是唯一的深度学习架构吗 transform knowledge_ci_14