• 智慧教育经典ML模型---DKVMN模型工作机制


    1. DKVMN工作机制

    在这里插入图片描述

    概述

          蓝色分量描述获取注意权值的过程,绿色分量描述更新值记忆的过程,红色分量描述预测的过程。⊗和⊕分别表示按元素进行的乘法和加法。
    
    • 1

    1.1 获取注意力权重

    • 接收问题 q t q_t qt

    • 从KC嵌入矩阵 A A A R Q × d k R^{Q×d_k} RQ×dk 提取 q t q_t qt 的嵌入向量 记作 k t k_t kt

    • 查询DKVMN模型中的密钥存储矩阵 M k M_k Mk 查询结果为该题目应该在每个知识点上投入的权重 w t w_t wt R N R^N RN ,计算方式如下

      w t i = S o f t m a x ( M i k k t ) w_{ti}=Softmax(M^k_ik_t) wti=Softmax(Mikkt)

    1.2 对该题目用户的做对概率做预测(读过程)

    • DKVMN模型读取t时刻值存储器 M t v M^v_t Mtv中的潜在知识状态,形成读取向量

      r t = Σ i = 1 N w t i ( M t i v ) T r_t=Σ^N_{i=1}w_{ti}(M^v_{ti})^T rt=Σi=1Nwti(Mtiv)T

      其中 M t i v M^v_{ti} Mtiv M t v M^v_t Mtv的第i个行向量 表示第i个学生的知识储备状态

    • 将读取向量 r t r_t rt与KC嵌入向量 k t k_t kt垂直拼接在一起生成一个特征向量 f t f_t ft, 并计算做对该题的概率

      f t = t a n h ( W f [ r t , k t ] + b f ) f_t=tanh(W_f[r_t,k_t]+b_f) ft=tanh(Wf[rt,kt]+bf)

      p t = P ( a t ) = σ ( W p f t + b p ) p_t=P(a_t)=σ(W_pf_t+b_p) pt=P(at)=σ(Wpft+bp)

    1.3 更新V值内存(写操作) (更新 M t v M^v_t Mtv矩阵)

    • 输入元组 ( q t , a t ) (q_t,a_t) (qt,at) 表示t时刻输入的题目与用户做题情况

    • 输入 w t w_t wt权重

    • 从KC响应矩阵 B ∈ R 2 Q × d v B∈R^{2Q×d_v} BR2Q×dv中检索 ( q t , a t ) (q_t,a_t) (qt,at)的嵌入向量,记作 v t ∈ R d v v_t∈R^{d_v} vtRdv

      • 代表在标签为at的KC q t q_t qt上工作后的知识增长。
    • 当更新内存的时候,一些内存首先用之前的擦除向量 e t ∈ R d v e_t∈R^{d_v} etRdv擦除 (擦除记忆类似于LSTM细胞的遗忘功能)

    • 将新向量加入到内存中 a t ∈ R d v a_t∈R^{d_v} atRdv每个值内存槽更新如下所示

      e t = σ ( W e V t + b e ) e_t=σ(W_eV_t+b_e) et=σ(WeVt+be)

      a t = t a n h ( W a v t + b a ) a_t=tanh(W_av_t+b_a) at=tanh(Wavt+ba)

      M ‾ t + 1 , i v = M t i v × ( 1 − w t i e t ) T \overline{M}^v_{t+1,i}=M_{ti}^v×(1-w_{ti}e_t)^T Mt+1,iv=Mtiv×(1wtiet)T

      M t + 1 , i v M_{t+1,i}^v Mt+1,iv = M ‾ t + 1 , i v =\overline{M}_{t+1,i}^v =Mt+1,iv + w t i a t T +w_{ti}a^T_t +wtiatT

    (其中第三行×为元素级乘法,即两个向量里面每个元素两两相乘)

  • 相关阅读:
    【英语语法】 yet
    Spring观察者模式 - 事件监听机制(发布订阅模式)
    SQL分层查询
    react antd下拉选择框选项内容换行
    注释Java
    韩国突发:将批准比特币ETF
    Docker系列--在容器中安装JDK的方法(有示例)
    GEEM2引擎微端架设基本教程
    Mybatis中Mapper.xml详解
    Vue3 源码解读系列(十一)——插槽 slot
  • 原文地址:https://blog.csdn.net/qq_42392049/article/details/126574345