1. 前言

1.1 知识追踪在做什么

知识追踪根据学生的历史学习交互,动态建模学生的知识状态,并预测学生下一次回答某道题的正确概率。

一般将学生 ii 的历史交互序列表示为:

Si=(e1,c1,r1),(e2,c2,r2),,(eT,cT,rT)\mathcal{S}_i= (e_1,c_1,r_1), (e_2,c_2,r_2), \ldots, (e_T,c_T,r_T)

其中:

  • ete_t :第 tt 次交互对应的题目;

  • ctc_t :题目关联的知识概念;

  • rt0,1r_t\in{0,1} :学生的作答结果。

传统知识追踪模型通常直接将每次交互输入模型,并利用作答结果更新学生状态。

但这里存在一个容易被忽略的问题:

学生的每一次作答,都能够被当作可靠的知识状态更新证据吗?

答案显然是否定的。

1.2 学习交互并不总是可靠

真实教育场景中的交互数据可能包含:

  • 学生猜测后偶然答对;

  • 学生掌握知识但因粗心答错;

  • 学生随意点击答案;

  • 题目本身存在歧义;

  • 题目标注或答案记录错误;

  • 平台日志中存在噪声。

如果模型将这些异常交互与正常交互同等处理,就可能错误更新学生的知识状态。

例如:

学生已经连续正确回答某知识点的问题 某一次因为粗心回答错误

知识追踪模型将这次错误视为知识退步 导致 学生知识状态程度被错误降低很多

HD-KT 正是从这个问题出发:在进行知识追踪之前,先检测并处理可能存在的异常学习交互。它并不是替换现有知识追踪模型,而是一个可以与不同 KT 主干结合的交互去噪框架。

2. 要解决什么问题

2.1 知识追踪的隐含假设

传统知识追踪通常采用如下处理方式:

xt=(et,ct,rt)ht=f(ht1,xt)\begin{aligned} x_t=(e_t,c_t,r_t) \\ h_t=f(h_{t-1},x_t) \end{aligned}

也就是说,无论第 tt 次作答是否可靠,它都会参与知识状态更新。

然而,在包含猜测、粗心和坏题的数据中,这个假设并不成立。

2.2 HD-KT 的任务

HD-KT 希望为每次交互学习一个异常标记: zt0,1z_t\in{0,1}其中:

  • zt=0z_t=0 :正常交互;

  • zt=1z_t=1 :异常交互。

经过异常检测后,模型得到一个去噪后的交互序列,随后再将去噪序列输入基础知识追踪模型。

因此,HD-KT 解决的核心问题不是:

如何重新设计一个更复杂的知识追踪网络?

而是:

如何在知识状态更新前,识别并屏蔽不可靠的学习交互?

2.3 为什么异常交互难以检测

异常交互通常没有人工标签。

数据只会记录:学生 ID、题目 ID、知识点、作答结果、时间

但不会直接记录:

这次答对是不是猜的?/ 这次答错是不是粗心?/ 这道题是不是存在问题?

因此,HD-KT 无法直接进行有监督的二分类,而需要从学生的行为序列中自动推断异常。

论文为此提出两个判断视角:

  1. 当前交互是否破坏了学生知识状态的正常变化规律

  2. 当前交互是否违背了该学生长期形成的行为画像

3. 整体模型

hdkt.png

HD-KT的整体流程可以概括为:先从原始学习交互中提取知识状态信号和学生画像信号,再通过异常检测器判断每次交互是否可靠,最后将去噪后的序列输入KT骨干模型进行预测。

交互表示模块:将学生的题目、知识点和作答结果编码为学习交互序列,作为后续异常检测和KT预测的输入。

知识状态引导的异常检测器:从学生当前知识状态出发,判断某次作答是否与已有掌握水平明显不一致;论文中用序列自编码/变分建模思想刻画正常状态变化。

学生画像引导的异常检测器:利用学生长期历史行为形成个体画像,通过注意力机制捕捉与该学生稳定行为模式不一致的交互。

一致性去噪模块:综合两个检测器的判断,只过滤双方都认为异常的交互;Gumbel-Softmax用于让“保留/过滤”这种离散选择可以端到端训练。

4. 交互编码

4.1 原始交互

对于学生 ss 在时刻 tt 的学习交互 (et,kt,rt)(e_t,k_t,r_t),HD-KT 分别编码题目信息和知识表现。首先,将题目 ete_t 映射为题目嵌入:

xet=etWEx_{e_t}=e_t\mathcal{W}^E

题目嵌入用于保留具体题目的难度、题型和质量等题目级差异。即使两道题关联同一个知识点,它们对学生造成的认知要求也可能不同,因此只使用知识点信息不足以完整描述一次学习行为。

随后,模型将知识点 ktk_t 与作答结果 rtr_t 组合成长度为 2C2C 的联合 one-hot 向量:

at,i={1,i=kt+Crt0, otherwise a_{t, i}=\left\{\begin{array}{ll} 1, & i=k_{t}+C r_{t} \\ 0, & \text { otherwise } \end{array}\right.

这种编码为每个知识点分别设置“答对”和“答错”两种状态,使模型能够区分同一知识点上的正向与负向学习行为。对应的知识表现嵌入为:

xat=atWAx_{a_t}=a_t\mathcal{W}^A

最后,HD-KT 拼接题目表示与知识表现表示,并通过投影层得到统一的交互向量:

xt=[xetxat]W1+b1\mathbf{x}_{t}=\left[\mathbf{x}_{e_{t}} \| \mathbf{x}_{a_{t}}\right] \mathbf{W}_{1}+\mathbf{b}_{1}

其中,题目表示描述“学生回答了什么”,知识表现表示描述“学生在相关知识点上回答得如何”。

二者结合后,模型既能保留具体题目的个体差异,又能在共享知识点的不同题目之间学习共同的知识表现规律。

此外,HD-KT 单独为每名学生学习全局学生嵌入:

xs=sWSx_s=s\mathcal{W}^S

用于刻画学生长期行为画像。该表示不会替代当前交互编码,而是作为学生画像引导异常检测器的长期参照,用于判断当前行为是否偏离该学生的一贯表现。

5. 模块详解

5.1 知识状态引导的异常检测器

知识状态引导的异常检测器用于判断当前交互是否破坏了学生知识状态的正常演化规律。首先,HD-KT 使用 Bi-LSTM 对学生的交互序列 XsX_s 进行双向编码:

HsL,HsR=BiLSTM(Xs,Θ1),Hs=HsLHsR\mathbf{H}_s^{L},\mathbf{H}_s^{R} = \operatorname{BiLSTM} \left( \mathbf{X}_s,\Theta_1 \right), \qquad \mathbf{H}_s = \mathbf{H}_s^{L} \oplus \mathbf{H}_s^{R}

其中, \oplus 表示逐元素相加, Hs=[h1,,hT]H_s=[h_1,\ldots,h_T] 表示上下文的知识状态序列。由于同时融合正向和反向信息,每个 hth_t​ 能够结合当前交互前后的学习行为刻画其局部状态。

随后,模型利用 VAE 对知识状态序列进行正则化重构:

μ=MLPμ(Hs),σ=MLPσ(Hs),H^sN(μ,σ2) \boldsymbol{\mu} = \operatorname{MLP}_{\mu} \left( \mathbf{H}_s \right), \qquad \boldsymbol{\sigma} = \operatorname{MLP}_{\sigma} \left( \mathbf{H}_s \right), \qquad \widehat{\mathbf{H}}_s \sim \mathcal{N} \left( \boldsymbol{\mu}, \boldsymbol{\sigma}^{2} \right)

5.1.1 变分自编码器(VAE)

变分自编码器(Variational Autoencoder,VAE)是一种生成式表示学习模型。与普通自编码器将输入压缩为确定性向量不同,VAE 将输入映射为潜在变量的概率分布。对于知识状态 ht\mathbf h_t​,编码器分别预测潜在分布的均值和标准差:

μt=fμ(ht),σt=fσ(ht)\mu_t =f_{\mu}(h_t), \quad \sigma_t=f_{\sigma}(h_t)

随后,通过重参数化技巧从该分布中得到潜在表示:

zt=μt+σtϵt,ϵtN(0,I)z_t=\mu_t+\sigma_t \odot {\epsilon}_t, \quad {\epsilon}_t \in \mathcal{N}(0,I)

其中:

ϵt\boldsymbol{\epsilon}_t​ 表示从标准高斯分布中采样得到的随机噪声向量: ϵtN(0,I)\boldsymbol{\epsilon}_t \sim \mathcal N(\mathbf 0,\mathbf I)

在 VAE 的重参数化中: zt=μt+σtϵt\mathbf z_t = \boldsymbol{\mu}_t + \boldsymbol{\sigma}_t \odot \boldsymbol{\epsilon}_t

它的作用是提供随机性。这样模型不需要直接从参数化分布 N(μt,σt2)\mathcal N \left( \boldsymbol{\mu}_t, \sigma_t^2 \right) 中采样,而是先从固定的标准高斯分布中采样 ϵt\boldsymbol{\epsilon}_t​,再通过均值和标准差变换得到 zt\mathbf z_t​。

其中:

  • μt\boldsymbol{\mu}_t​:决定潜在分布的中心;

  • σt\boldsymbol{\sigma}_t​:决定潜在分布的尺度;

  • ϵt\boldsymbol{\epsilon}_t​:提供随机扰动;

  • \odot:逐元素乘法。

这么做的关键原因是,随机性被放在与模型参数无关的 ϵt\boldsymbol{\epsilon}_t​ 中,因此梯度仍然可以传递到 μt\boldsymbol{\mu}_t​ 和 σt\boldsymbol{\sigma}_t​。

并由解码器重构原始知识状态:

h^t=fdec(zt)\widehat{\mathbf h}_t = f_{\mathrm{dec}}(\mathbf z_t)

VAE 的训练目标包括重构损失和 KL 散度约束。重构损失要求模型保留输入状态中的主要信息,KL 散度则约束潜在分布接近标准高斯分布,使潜在空间更加连续和规则。

在异常检测中,VAE通常更容易重构数据中大量出现的主要模式。若大部分学习交互是正常的,则正常知识状态通常能够被较好地重构,而偏离主要演化规律的状态可能表现出较大的原始—重构差异。HD-KT 正是利用这一性质,将重构状态作为正常知识状态模式的参照,进一步判断当前学习交互是否可能异常。

VAE 通过重构损失和 KL 散度约束学习数据中占主导地位的稳定状态模式:

LRec=1Tt=1Thth^t22+LKL.\mathcal{L}^{\mathrm{Rec}} = \frac{1}{T} \sum_{t=1}^{T} \left\| \mathbf{h}_t - \widehat{\mathbf{h}}_t \right\|_2^2 + \mathcal{L}^{\mathrm{KL}}.

两项分别发挥不同作用:

  • 重构项:保留主要知识状态信息;

  • KL 项:压缩和规则化状态空间,抑制偶然的不规则变化,它将潜变量分布约束在规则的高斯空间附近,防止 VAE 直接记忆原始状态。

对于正常交互,原始状态 hth_t​ 与重构状态 h^t\hat h_t​ 通常较为一致;而异常交互可能产生偏离主要演化模式的状态表示。为学习二者之间的复杂差异,模型将原始状态与重构状态拼接,并使用大小为 2×12\times1 的卷积核进行比较:

Ct=Conv([h^tht],Θ2),αt=σ(CtW2)\mathbf{C}_t = \operatorname{Conv} \left( \left[ \widehat{\mathbf{h}}_t \Vert \mathbf{h}_t \right], \Theta_2 \right) ,\quad \boldsymbol{\alpha}_t = \sigma \left( \mathbf{C}_t\mathbf{W}_2 \right)

这个 CNN 主要不是在时间维度上卷积,而是在学习:

原始状态和重构状态在各个潜在维度上的对应差异。

相比简单欧氏距离,CNN 可以为不同维度学习不同的比较方式。例如:

  • 某些维度的差异更重要;

  • 某些维度允许较大波动;

  • 某些维度组合出现差异时才说明异常。

其中, αtR2\alpha_t\in\mathbb R^2 的两个维度分别表示状态一致与状态不一致。最后,模型利用 Gumbel-Softmax 获得接近离散的异常判断 α^t\hat\alpha_t​,从而在保持可微训练的同时完成正常与异常状态的选择。

5.1.2 Gumbel-Softmax

HD-KT 的两个异常检测器最终需要对当前交互作出“一致”或“不一致”的近似二值判断。然而,直接使用 argmax\arg\max 或离散采样会导致计算过程不可导,使下游知识追踪损失无法反向更新异常检测器;仅使用普通 Softmax 虽然可以保留梯度,但输出通常是平滑概率,无法形成明确的交互保留或屏蔽决策。

因此,HD-KT 引入 Gumbel-Softmax 对异常类别进行可微离散化:

α^t,i=exp(logαt,i+giτ)j=12exp(logαt,j+gjτ)\widehat{\alpha}_{t,i} = \frac{ \exp\left( \frac{\log \alpha_{t,i}+g_i}{\tau} \right) }{ \sum_{j=1}^{2} \exp\left( \frac{\log \alpha_{t,j}+g_j}{\tau} \right) }

其中, gig_i​ 为 Gumbel 噪声, τ\tau 为温度参数。当 τ\tau 较大时,输出分布更加平滑;当 τ\tau 逐渐减小时,输出会接近 one-hot 向量。由此,模型能够在前向过程中获得近似离散的异常选择,同时在反向传播过程中保留梯度,从而实现异常检测模块与下游知识追踪模型的端到端联合优化

5.2 学生画像引导的异常检测器

知识状态的显著变化并不必然意味着异常,它也可能来自真实学习、遗忘或题型变化。因此,HD-KT进一步引入学生画像引导的异常检测器,从个体长期特征角度判断当前行为是否反常。

对于第 tt 次交互,模型将当前交互表示 xtx_t​ 与上下文化知识状态 hth_t​ 拼接,并与学生长期画像 hsh_s​ 进行匹配:

βt=σ(tanh([xtht]W3+hsW4)W5)β_t=σ(\tanh([x_t∥h_t]W_3+h_sW_4)W_5)

其中, [xtht]W3[x_t\Vert h_t]W_3​ 表示当前学习行为, hsW4h_sW_4​ 表示学生长期画像。二者在同一潜在空间中进行非线性匹配,从而得到当前行为与学生画像的一致性分数。

该结构具有加性注意力的形式:学生画像充当查询向量,序列中每个时刻的学习行为充当被匹配对象。需要注意的是,该模块并未在所有时间步之间进行 Softmax 归一化,因此更准确地说,它是一种基于注意力形式的画像—行为兼容性评分器。

输出向量 βtR2\beta_t\in\mathbb R^2 的两个维度分别表示当前行为与学生画像一致和不一致。模型同样通过 Gumbel-Softmax 得到近似二值结果 β^t\hat\beta_t​。最终,只有知识状态检测器和学生画像检测器同时认为当前交互不一致时,HD-KT 才将该交互识别为异常,从而降低误删真实学习行为的风险。