From d2c91e4a5452903e4eb90e7df5c55ac1b57dba8a Mon Sep 17 00:00:00 2001 From: redamancy <1520902893@qq.com> Date: Sun, 26 Nov 2023 15:41:33 +0800 Subject: [PATCH 1/5] Update DKVMN docs --- docs/DKVMN.md | 9 +++++++++ docs/_static/DKVMN.png | Bin 0 -> 105859 bytes 2 files changed, 9 insertions(+) create mode 100644 docs/_static/DKVMN.png diff --git a/docs/DKVMN.md b/docs/DKVMN.md index b075e78..96d9643 100644 --- a/docs/DKVMN.md +++ b/docs/DKVMN.md @@ -1,5 +1,14 @@ # Dynamic Key-Value Memory Networks for Knowledge Tracing(DKVMN) +## Introduction + +Dynamic Key-Value Memory Networks (DKVMN) can exploit the relationships between underlying concepts and directly output a student’s mastery level of each concept. Unlike standard memory-augmented neural networks that facilitate a single memory matrix or two static memory matrices, DKVMN has one static matrix called key, which stores the knowledge concepts and the other dynamic matrix called value, which stores and updates the mastery levels of corresponding concepts. + +## Model + +![model](_static/DKVMN.png) + + If the reader wants to know the details of DKVMN, please refer to the Appendix of the paper: *[Dynamic Key-Value Memory Networks for Knowledge Tracing](https://arxiv.org/pdf/1611.08108v1.pdf)*. ```bibtex diff --git a/docs/_static/DKVMN.png b/docs/_static/DKVMN.png new file mode 100644 index 0000000000000000000000000000000000000000..1aa7ede33a866482413be4454e847b47eea97b7e GIT binary patch literal 105859 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 z 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 G=>Gw+$-p%L literal 0 HcmV?d00001 From 702df70b76cf5976c2a6c32f0b382c486f677668 Mon Sep 17 00:00:00 2001 From: redamancy <1520902893@qq.com> Date: Tue, 28 Nov 2023 10:45:27 +0800 Subject: [PATCH 2/5] Update DKVMN docs --- docs/DKVMN.md | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/docs/DKVMN.md b/docs/DKVMN.md index 96d9643..05919da 100644 --- a/docs/DKVMN.md +++ b/docs/DKVMN.md @@ -1,8 +1,31 @@ # Dynamic Key-Value Memory Networks for Knowledge Tracing(DKVMN) ## Introduction +Dynamic Key-Value Memory Networks (DKVMN) can exploit the relationships between underlying concepts and directly output a student’s mastery level of each concept. Unlike standard memory-augmented neural networks that facilitate a single memory matrix or two static memory matrices, DKVMN has one static matrix called key, which stores the knowledge concepts and the other dynamic matrix called value, which stores and updates the mastery levels of corresponding concepts. DKVMN initializes a static matrix called a key matrix to store latent KCs and a dynamic matrix called a value matrix to store and update the mastery of corresponding KCs through read and write operations over time. As shown in Model part, an embedding matrix is first defined to obtain the embedding vector $k_t$ of the exercises. A correlation weight $w_t$ is then obtained by taking the inner product between the exercise embedding $k_t$ and the key vectors $M^k$, followed by the softmax activation: +$$ +\boldsymbol{w}_t=\operatorname{Softmax}\left(k_t M^k\right), +$$ +where the correlation weight $w_t$ represents the correlation between the exercises and all latent KCs. In the read operation, DKVMN predicts student performance based on the student’s knowledge mastery. Specifically, DKVMN reads students’ mastery of the exercise $r_t$ with reference to the weighted sum of all memory vectors in the value matrix using the correlation weight. The read content and the input exercise embeddings are then concatenated together and passed to a fully connected layer to yield a summary vector $f_t$, which contains both the student’s knowledge mastery and the prior difficulty of the exercise. Furthermore, the student’s performance can be predicted by applying another fully connected layer with a sigmoid activation function to the summary vector: +$$ +\begin{aligned} +\boldsymbol{r}_t & =\sum_{i=1}^N w_t(i) M_t^v(i), \\ +\boldsymbol{f}_t & =\tanh \left(\boldsymbol{W}_f\left[\boldsymbol{r}_t, k_t\right]+\boldsymbol{b}_f\right), \\ +p_t & =\sigma\left(\boldsymbol{W}_p \boldsymbol{f}_t+\boldsymbol{b}_p\right), +\end{aligned} +$$ +where $W_f$ and $W_p$ are the weights, $b_f$ and $b_p$ are bias terms. In the write operation, after an exercise has been answered, DKVMN updates students’ knowledge mastery (i.e., the value matrix) based on their performance. Specifically, the learning interaction ($e_t$, $a_t$) is first embedded with an embedding matrix $B$ to obtain the student’s knowledge growth $v_t$. Then DKVMN calculates an erase vector $erase_t$ from $v_t$ and decides to erase the previous memory with reference to both the erase vector and the correlation weight $w_t$. Following erasure, the new memory vectors are updated by the new knowledge state and the add vector $add_t$, which forms an erase-followed-by-add mechanism that allows forgetting and strengthening knowledge mastery in the learning process: +$$ +\begin{aligned} +& \text { erase }_t=\sigma\left(\boldsymbol{W}_e \boldsymbol{v}_t+\boldsymbol{b}_e\right), \\ +& \widetilde{M}_t^v(i)=M_{t-1}^v(i)\left[1-w_t(i) \text { erase }_t\right], \\ +& \boldsymbol{a d d}_t=\tanh \left(\boldsymbol{W}_d \boldsymbol{v}_t+\boldsymbol{b}_d\right), \\ +& M_t^v(i)=\widetilde{M}_t^v(i)+w_t(i) \boldsymbol{a d d}_t, +\end{aligned} +$$ +where $W_e$ and $W_d$ are the weights, $b_e$ and $b_d$ are bias terms. + + -Dynamic Key-Value Memory Networks (DKVMN) can exploit the relationships between underlying concepts and directly output a student’s mastery level of each concept. Unlike standard memory-augmented neural networks that facilitate a single memory matrix or two static memory matrices, DKVMN has one static matrix called key, which stores the knowledge concepts and the other dynamic matrix called value, which stores and updates the mastery levels of corresponding concepts. ## Model From f7e98d696731136986a4cf2e335de20bd5f78f97 Mon Sep 17 00:00:00 2001 From: redamancy <1520902893@qq.com> Date: Tue, 28 Nov 2023 10:50:16 +0800 Subject: [PATCH 3/5] Update DKVMN docs --- docs/DKVMN.md | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/docs/DKVMN.md b/docs/DKVMN.md index 05919da..278b128 100644 --- a/docs/DKVMN.md +++ b/docs/DKVMN.md @@ -2,26 +2,26 @@ ## Introduction Dynamic Key-Value Memory Networks (DKVMN) can exploit the relationships between underlying concepts and directly output a student’s mastery level of each concept. Unlike standard memory-augmented neural networks that facilitate a single memory matrix or two static memory matrices, DKVMN has one static matrix called key, which stores the knowledge concepts and the other dynamic matrix called value, which stores and updates the mastery levels of corresponding concepts. DKVMN initializes a static matrix called a key matrix to store latent KCs and a dynamic matrix called a value matrix to store and update the mastery of corresponding KCs through read and write operations over time. As shown in Model part, an embedding matrix is first defined to obtain the embedding vector $k_t$ of the exercises. A correlation weight $w_t$ is then obtained by taking the inner product between the exercise embedding $k_t$ and the key vectors $M^k$, followed by the softmax activation: -$$ -\boldsymbol{w}_t=\operatorname{Softmax}\left(k_t M^k\right), -$$ + +$$\boldsymbol{w}_t=\operatorname{Softmax}\left(k_t M^k\right),$$ + where the correlation weight $w_t$ represents the correlation between the exercises and all latent KCs. In the read operation, DKVMN predicts student performance based on the student’s knowledge mastery. Specifically, DKVMN reads students’ mastery of the exercise $r_t$ with reference to the weighted sum of all memory vectors in the value matrix using the correlation weight. The read content and the input exercise embeddings are then concatenated together and passed to a fully connected layer to yield a summary vector $f_t$, which contains both the student’s knowledge mastery and the prior difficulty of the exercise. Furthermore, the student’s performance can be predicted by applying another fully connected layer with a sigmoid activation function to the summary vector: -$$ -\begin{aligned} + +$$\begin{aligned} \boldsymbol{r}_t & =\sum_{i=1}^N w_t(i) M_t^v(i), \\ \boldsymbol{f}_t & =\tanh \left(\boldsymbol{W}_f\left[\boldsymbol{r}_t, k_t\right]+\boldsymbol{b}_f\right), \\ p_t & =\sigma\left(\boldsymbol{W}_p \boldsymbol{f}_t+\boldsymbol{b}_p\right), -\end{aligned} -$$ +\end{aligned}$$ + where $W_f$ and $W_p$ are the weights, $b_f$ and $b_p$ are bias terms. In the write operation, after an exercise has been answered, DKVMN updates students’ knowledge mastery (i.e., the value matrix) based on their performance. Specifically, the learning interaction ($e_t$, $a_t$) is first embedded with an embedding matrix $B$ to obtain the student’s knowledge growth $v_t$. Then DKVMN calculates an erase vector $erase_t$ from $v_t$ and decides to erase the previous memory with reference to both the erase vector and the correlation weight $w_t$. Following erasure, the new memory vectors are updated by the new knowledge state and the add vector $add_t$, which forms an erase-followed-by-add mechanism that allows forgetting and strengthening knowledge mastery in the learning process: -$$ -\begin{aligned} + +$$\begin{aligned} & \text { erase }_t=\sigma\left(\boldsymbol{W}_e \boldsymbol{v}_t+\boldsymbol{b}_e\right), \\ & \widetilde{M}_t^v(i)=M_{t-1}^v(i)\left[1-w_t(i) \text { erase }_t\right], \\ & \boldsymbol{a d d}_t=\tanh \left(\boldsymbol{W}_d \boldsymbol{v}_t+\boldsymbol{b}_d\right), \\ & M_t^v(i)=\widetilde{M}_t^v(i)+w_t(i) \boldsymbol{a d d}_t, -\end{aligned} -$$ +\end{aligned}$$ + where $W_e$ and $W_d$ are the weights, $b_e$ and $b_d$ are bias terms. From c3567706f159ec9f0469528f34886b892d3f151e Mon Sep 17 00:00:00 2001 From: redamancy <1520902893@qq.com> Date: Tue, 28 Nov 2023 10:52:10 +0800 Subject: [PATCH 4/5] Update DKVMN docs --- docs/DKVMN.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/DKVMN.md b/docs/DKVMN.md index 278b128..8a4a063 100644 --- a/docs/DKVMN.md +++ b/docs/DKVMN.md @@ -3,24 +3,24 @@ ## Introduction Dynamic Key-Value Memory Networks (DKVMN) can exploit the relationships between underlying concepts and directly output a student’s mastery level of each concept. Unlike standard memory-augmented neural networks that facilitate a single memory matrix or two static memory matrices, DKVMN has one static matrix called key, which stores the knowledge concepts and the other dynamic matrix called value, which stores and updates the mastery levels of corresponding concepts. DKVMN initializes a static matrix called a key matrix to store latent KCs and a dynamic matrix called a value matrix to store and update the mastery of corresponding KCs through read and write operations over time. As shown in Model part, an embedding matrix is first defined to obtain the embedding vector $k_t$ of the exercises. A correlation weight $w_t$ is then obtained by taking the inner product between the exercise embedding $k_t$ and the key vectors $M^k$, followed by the softmax activation: -$$\boldsymbol{w}_t=\operatorname{Softmax}\left(k_t M^k\right),$$ +$\boldsymbol{w}_t=Softmax\left(k_t M^k\right),$ where the correlation weight $w_t$ represents the correlation between the exercises and all latent KCs. In the read operation, DKVMN predicts student performance based on the student’s knowledge mastery. Specifically, DKVMN reads students’ mastery of the exercise $r_t$ with reference to the weighted sum of all memory vectors in the value matrix using the correlation weight. The read content and the input exercise embeddings are then concatenated together and passed to a fully connected layer to yield a summary vector $f_t$, which contains both the student’s knowledge mastery and the prior difficulty of the exercise. Furthermore, the student’s performance can be predicted by applying another fully connected layer with a sigmoid activation function to the summary vector: -$$\begin{aligned} +$\begin{aligned} \boldsymbol{r}_t & =\sum_{i=1}^N w_t(i) M_t^v(i), \\ \boldsymbol{f}_t & =\tanh \left(\boldsymbol{W}_f\left[\boldsymbol{r}_t, k_t\right]+\boldsymbol{b}_f\right), \\ p_t & =\sigma\left(\boldsymbol{W}_p \boldsymbol{f}_t+\boldsymbol{b}_p\right), -\end{aligned}$$ +\end{aligned}$ where $W_f$ and $W_p$ are the weights, $b_f$ and $b_p$ are bias terms. In the write operation, after an exercise has been answered, DKVMN updates students’ knowledge mastery (i.e., the value matrix) based on their performance. Specifically, the learning interaction ($e_t$, $a_t$) is first embedded with an embedding matrix $B$ to obtain the student’s knowledge growth $v_t$. Then DKVMN calculates an erase vector $erase_t$ from $v_t$ and decides to erase the previous memory with reference to both the erase vector and the correlation weight $w_t$. Following erasure, the new memory vectors are updated by the new knowledge state and the add vector $add_t$, which forms an erase-followed-by-add mechanism that allows forgetting and strengthening knowledge mastery in the learning process: -$$\begin{aligned} +$\begin{aligned} & \text { erase }_t=\sigma\left(\boldsymbol{W}_e \boldsymbol{v}_t+\boldsymbol{b}_e\right), \\ & \widetilde{M}_t^v(i)=M_{t-1}^v(i)\left[1-w_t(i) \text { erase }_t\right], \\ & \boldsymbol{a d d}_t=\tanh \left(\boldsymbol{W}_d \boldsymbol{v}_t+\boldsymbol{b}_d\right), \\ & M_t^v(i)=\widetilde{M}_t^v(i)+w_t(i) \boldsymbol{a d d}_t, -\end{aligned}$$ +\end{aligned}$ where $W_e$ and $W_d$ are the weights, $b_e$ and $b_d$ are bias terms. From 06ed017c46fa789dad10ecef082682e41a6a440d Mon Sep 17 00:00:00 2001 From: redamancy <1520902893@qq.com> Date: Tue, 28 Nov 2023 11:00:38 +0800 Subject: [PATCH 5/5] Update DKVMN docs --- docs/DKVMN.md | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/docs/DKVMN.md b/docs/DKVMN.md index 8a4a063..ef59ca9 100644 --- a/docs/DKVMN.md +++ b/docs/DKVMN.md @@ -3,24 +3,30 @@ ## Introduction Dynamic Key-Value Memory Networks (DKVMN) can exploit the relationships between underlying concepts and directly output a student’s mastery level of each concept. Unlike standard memory-augmented neural networks that facilitate a single memory matrix or two static memory matrices, DKVMN has one static matrix called key, which stores the knowledge concepts and the other dynamic matrix called value, which stores and updates the mastery levels of corresponding concepts. DKVMN initializes a static matrix called a key matrix to store latent KCs and a dynamic matrix called a value matrix to store and update the mastery of corresponding KCs through read and write operations over time. As shown in Model part, an embedding matrix is first defined to obtain the embedding vector $k_t$ of the exercises. A correlation weight $w_t$ is then obtained by taking the inner product between the exercise embedding $k_t$ and the key vectors $M^k$, followed by the softmax activation: -$\boldsymbol{w}_t=Softmax\left(k_t M^k\right),$ +```math +\boldsymbol{w}_t=Softmax\left(k_t M^k\right), +``` where the correlation weight $w_t$ represents the correlation between the exercises and all latent KCs. In the read operation, DKVMN predicts student performance based on the student’s knowledge mastery. Specifically, DKVMN reads students’ mastery of the exercise $r_t$ with reference to the weighted sum of all memory vectors in the value matrix using the correlation weight. The read content and the input exercise embeddings are then concatenated together and passed to a fully connected layer to yield a summary vector $f_t$, which contains both the student’s knowledge mastery and the prior difficulty of the exercise. Furthermore, the student’s performance can be predicted by applying another fully connected layer with a sigmoid activation function to the summary vector: -$\begin{aligned} +```math +\begin{aligned} \boldsymbol{r}_t & =\sum_{i=1}^N w_t(i) M_t^v(i), \\ \boldsymbol{f}_t & =\tanh \left(\boldsymbol{W}_f\left[\boldsymbol{r}_t, k_t\right]+\boldsymbol{b}_f\right), \\ p_t & =\sigma\left(\boldsymbol{W}_p \boldsymbol{f}_t+\boldsymbol{b}_p\right), -\end{aligned}$ +\end{aligned} +``` where $W_f$ and $W_p$ are the weights, $b_f$ and $b_p$ are bias terms. In the write operation, after an exercise has been answered, DKVMN updates students’ knowledge mastery (i.e., the value matrix) based on their performance. Specifically, the learning interaction ($e_t$, $a_t$) is first embedded with an embedding matrix $B$ to obtain the student’s knowledge growth $v_t$. Then DKVMN calculates an erase vector $erase_t$ from $v_t$ and decides to erase the previous memory with reference to both the erase vector and the correlation weight $w_t$. Following erasure, the new memory vectors are updated by the new knowledge state and the add vector $add_t$, which forms an erase-followed-by-add mechanism that allows forgetting and strengthening knowledge mastery in the learning process: -$\begin{aligned} +```math +\begin{aligned} & \text { erase }_t=\sigma\left(\boldsymbol{W}_e \boldsymbol{v}_t+\boldsymbol{b}_e\right), \\ & \widetilde{M}_t^v(i)=M_{t-1}^v(i)\left[1-w_t(i) \text { erase }_t\right], \\ & \boldsymbol{a d d}_t=\tanh \left(\boldsymbol{W}_d \boldsymbol{v}_t+\boldsymbol{b}_d\right), \\ & M_t^v(i)=\widetilde{M}_t^v(i)+w_t(i) \boldsymbol{a d d}_t, -\end{aligned}$ +\end{aligned} +``` where $W_e$ and $W_d$ are the weights, $b_e$ and $b_d$ are bias terms.