宗曉萍,陶澤澤
河北大學(xué) 電子信息工程學(xué)院,河北 保定 071002
隨著互聯(lián)網(wǎng)教育的不斷發(fā)展,通過運(yùn)用人工智能技術(shù)來促進(jìn)教育己成為必然趨勢。近年來,智能教育和在線教育平臺越來越普及,學(xué)生可以在不同時(shí)刻進(jìn)行學(xué)習(xí),并且可以觀看不同學(xué)校、老師開設(shè)的課程。然而,教育平臺上的學(xué)生人數(shù)遠(yuǎn)遠(yuǎn)超過教師數(shù)量,老師不可能追蹤每一個(gè)學(xué)生的知識狀態(tài)并提供個(gè)性化的學(xué)習(xí)路徑[1]。如何個(gè)性化每個(gè)學(xué)生的學(xué)習(xí)情況,如何讓在線教育系統(tǒng)做到因材施教,這是當(dāng)前智能教育領(lǐng)域中的重要研究課題[2],也是未來教育發(fā)展的基本趨勢。
知識追蹤的特點(diǎn)是個(gè)性化和自動(dòng)化[3],其任務(wù)是根據(jù)學(xué)生與智能輔導(dǎo)系統(tǒng)的互動(dòng)來自動(dòng)追蹤學(xué)生的知識狀態(tài)隨時(shí)間的變化過程,以便能夠準(zhǔn)確地預(yù)測學(xué)生對知識點(diǎn)的掌握情況以及學(xué)生下一次的表現(xiàn)。KT任務(wù)可以形式化為一個(gè)有監(jiān)督的序列學(xué)習(xí)問題:即給定學(xué)生的歷史交互序列,預(yù)測學(xué)生回答下一個(gè)練習(xí)題正確的概率。典型的知識追蹤方法有:貝葉斯知識追蹤(Bayesian Knowledge Tracing,BKT)[4]和深度知識追蹤(Deep Knowledge Tracing,DKT)[5]。最初的知識追蹤是基于概率的貝葉斯知識追蹤模型(BKT),本質(zhì)上是隱馬爾可夫模型(Hidden Markov Model,HMM)的一個(gè)特例,它把知識體系劃分為多個(gè)知識點(diǎn),學(xué)生對每個(gè)知識點(diǎn)的掌握情況看作隱含狀態(tài),之后根據(jù)學(xué)生的歷史答題情況來更新隱含變量的概率分布。但BKT模型存在以下幾個(gè)不足:首先需要對數(shù)據(jù)進(jìn)行標(biāo)注,其次每個(gè)知識點(diǎn)的概念是單獨(dú)表示的,BKT無法捕捉不同概念之間的相關(guān)性且無法有效表示復(fù)雜的概念狀態(tài)轉(zhuǎn)換。隨著深度學(xué)習(xí)的發(fā)展,研究人員將深度學(xué)習(xí)應(yīng)用于知識追蹤領(lǐng)域。提出了深度知識追蹤模型(DKT),它將長短期記憶網(wǎng)絡(luò)(LSTM)用于知識追蹤任務(wù)。不但比BKT 模型有更好的預(yù)測性能,而且不需要專家對習(xí)題進(jìn)行知識點(diǎn)標(biāo)注,大大節(jié)約了手工標(biāo)注數(shù)據(jù)的人力成本。然而DKT模型將學(xué)生對于知識點(diǎn)的掌握情況用一個(gè)隱藏狀態(tài)表示,并且該隱藏狀態(tài)是無法解釋的,因此DKT 模型無法詳細(xì)地輸出學(xué)生對于每個(gè)知識點(diǎn)的掌握水平。并且一個(gè)LSTM 將所有記憶存儲在一個(gè)隱藏向量中。這導(dǎo)致LSTM 很難準(zhǔn)確地記住超過數(shù)百個(gè)時(shí)間步長的序列。記憶增強(qiáng)神經(jīng)網(wǎng)絡(luò)(MANN)[6]是針對上述問題提出的一種解決方案:允許網(wǎng)絡(luò)保留多個(gè)隱藏狀態(tài)向量,分別對這些向量進(jìn)行讀寫。MANN是在傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)模型基礎(chǔ)上裝備外部記憶以及相應(yīng)的讀寫機(jī)制的一類模型。代表性模型有神經(jīng)圖靈機(jī)[7]、端到端記憶網(wǎng)絡(luò)[8]、動(dòng)態(tài)記憶網(wǎng)絡(luò)[9]等。
知識追蹤領(lǐng)域的最新進(jìn)展是2017年提出的動(dòng)態(tài)鍵值記憶網(wǎng)絡(luò)(DKVMN)[10],它借鑒了MANN 的思想,結(jié)合了 BKT 和 DKT 的優(yōu)點(diǎn),在 DKVMN 論文中,比較了DKVMN和DKT,以及一個(gè)復(fù)雜的BKT版本BKT+。發(fā)現(xiàn)DKVMN 取得了優(yōu)異的性能,是KT 領(lǐng)域最先進(jìn)的模型。除了改進(jìn)性能之外,它還有其他幾個(gè)優(yōu)于LSTM的優(yōu)點(diǎn),包括防止過擬合、參數(shù)數(shù)量更少以及通過潛在概念自動(dòng)發(fā)現(xiàn)類似的練習(xí)題。
盡管DKVMN 模型取得了比DKT 更好的性能,但是它仍然有一些基本的限制。例如,當(dāng)學(xué)生第一次就能答對一個(gè)練習(xí)題時(shí),他們的掌握程度會(huì)有很大的變化。相反,如果一個(gè)學(xué)生在做了很多次之后才答對這個(gè)練習(xí)題,那么他對這個(gè)練習(xí)題的掌握程度應(yīng)該只會(huì)有一點(diǎn)點(diǎn)變化,即每一個(gè)學(xué)生掌握知識點(diǎn)的速度不同。DKVMN無法對這種現(xiàn)象進(jìn)行建模。根據(jù)DKVMN 模型的一些局限性,提出了一種基于掌握速度的知識追蹤模型(MSKT)。本文的主要貢獻(xiàn)如下:(1)提出了一種基于掌握速度的知識追蹤模型,目前現(xiàn)有的KT 模型都無法對知識增長速度進(jìn)行動(dòng)態(tài)建模。(2)利用記憶增強(qiáng)神經(jīng)網(wǎng)絡(luò)的實(shí)用性,更好地模擬學(xué)生的學(xué)習(xí)過程。(3)可以自動(dòng)地發(fā)現(xiàn)相似的練習(xí)題。(4)在四個(gè)公開的知識追蹤數(shù)據(jù)集上對本文的模型進(jìn)行了評估,發(fā)現(xiàn)它明顯優(yōu)于DKVMN和傳統(tǒng)KT模型。
香港中文大學(xué)的施行建等[10]在2017 年根據(jù)BKT、DKT的優(yōu)勢和不足并且利用了記憶增強(qiáng)神經(jīng)網(wǎng)絡(luò)的方法,提出了動(dòng)態(tài)鍵值對記憶網(wǎng)絡(luò)(DKVMN)。他們發(fā)現(xiàn)DKVMN 具有優(yōu)異的性能,除了改進(jìn)性能之外,它還能夠輸出學(xué)生對于概念的掌握程度以及模擬練習(xí)題和概念狀態(tài)之間的轉(zhuǎn)換,是當(dāng)時(shí)KT 領(lǐng)域最先進(jìn)的模型,如圖1所示。
圖1 DKVMN結(jié)構(gòu)圖
在圖1中,Mk表示靜態(tài)矩陣(key矩陣),它用來存儲所有的知識概念。Mv表示動(dòng)態(tài)矩陣(value 矩陣),它通過刪除向量et和添加向量at來存儲并更新學(xué)生對于概念的掌握情況。如果有Q個(gè)隱含的概念,它們存儲在key矩陣Mk(Q×dv)中,學(xué)生對于概念的掌握狀態(tài)存儲在value 矩陣Mk(Q×dv)中,輸出pt表示學(xué)生答對下一道練習(xí)題的概率。通過最小化pt與真實(shí)值rt之間的標(biāo)準(zhǔn)交叉熵?fù)p失來訓(xùn)練這個(gè)模型,其公式如下:
最早的知識追蹤模型是BKT模型,它用HMM模型來更新隱含變量的概率分布。由于BKT模型的準(zhǔn)確率較低,很多研究者對BKT模型進(jìn)行了改進(jìn),這些改進(jìn)雖然使BKT 的預(yù)測性能得到了提升,但預(yù)測效果始終不如DKT。因此,在本文的實(shí)驗(yàn)中,沒有與BKT的預(yù)測性能進(jìn)行對比。
DKT模型借鑒了深度學(xué)習(xí)的方法,相比于HMM具有高維,連續(xù)的隱藏狀態(tài)表示。DKT 可以自動(dòng)學(xué)習(xí)知識點(diǎn)和練習(xí)題之間的關(guān)系且不用專家對數(shù)據(jù)進(jìn)行標(biāo)注。但DKT模型對所有知識點(diǎn)的掌握程度用一個(gè)隱藏層表示,且無法表示該隱藏層,這就導(dǎo)致了DKT模型無法追蹤預(yù)測某一個(gè)特定的知識點(diǎn)的掌握程度。相反,BKT 明確地使用一組變量來表示學(xué)生對每個(gè)練習(xí)的掌握程度。
DKVMN模型利用了記憶增強(qiáng)神經(jīng)網(wǎng)絡(luò)的思想,與傳統(tǒng)的KT 模型相比,DKVMN 取得了優(yōu)異的性能而且通過潛在概念自動(dòng)發(fā)現(xiàn)類似的練習(xí)題。
因此,本文的MSKT 模型首先結(jié)合BKT 和DKT 的優(yōu)點(diǎn),即不需要對數(shù)據(jù)進(jìn)行標(biāo)注,而且可以輸出學(xué)生對每個(gè)練習(xí)題的掌握程度。其次,MSKT 模型還借鑒了DKVMN 模型的優(yōu)點(diǎn),不但有很好的預(yù)測性能,而且可以自動(dòng)發(fā)現(xiàn)相似的練習(xí)題。最后,本文討論了DKVMN模型的一些局限性,并且根據(jù)BKT、DKT和DKVMN的優(yōu)點(diǎn),提出了一種新的知識追蹤模型。
本文的MSKT模型是基于DKVMN模型提出的,雖然DKVMN模型比BKT、DKT有更好的性能,但是它仍然有一些基本的限制。例如,它在計(jì)算刪除向量et和增加向量at時(shí),DKVMN模型不使用當(dāng)前的記憶內(nèi)容。這意味著,給定相同的輸入,它將始終對記憶進(jìn)行相同的更改。因此,這并不能準(zhǔn)確地反映學(xué)生的學(xué)習(xí)方式。在現(xiàn)實(shí)世界中,每個(gè)學(xué)生掌握知識點(diǎn)的速度不同。DKVMN無法對這種現(xiàn)象進(jìn)行建模。DKVMN 模型之所以存在這個(gè)缺陷,是因?yàn)樗捎昧擞洃浽鰪?qiáng)神經(jīng)網(wǎng)絡(luò)的思想。因?yàn)橄嚓P(guān)權(quán)重wt的計(jì)算是基于當(dāng)前的記憶內(nèi)容,而在MANN模型中,在計(jì)算刪除向量et和增加向量at時(shí),沒有使用當(dāng)前的記憶內(nèi)容。然而,在DKVMN 中,相關(guān)權(quán)重的計(jì)算是根據(jù)當(dāng)前輸入和靜態(tài)矩陣Mk得到的,而動(dòng)態(tài)狀態(tài)根本不用于此計(jì)算。根據(jù)DKVMN 模型的一些局限性,提出了一種基于掌握速度的知識追蹤模型(MSKT)。它通過簡單地使用讀向量rt(學(xué)生當(dāng)前對qt的掌握情況)和當(dāng)前輸入xt來計(jì)算更新向量并且使用分布式寫入外部記憶矩陣來克服這一限制。MSKT 會(huì)依據(jù)學(xué)生的實(shí)際答題情況進(jìn)行更新以追蹤學(xué)生知識狀態(tài),進(jìn)而可以對新的題目進(jìn)行預(yù)測。如果多個(gè)記憶片段的相關(guān)權(quán)值很高,它們將使用彼此的記憶進(jìn)行更新,這意味著不再是每個(gè)記憶片段對應(yīng)一個(gè)概念。MSKT 模型與DKVMN使用相同的讀操作,但是使用不同的寫操作,允許模型根據(jù)當(dāng)前記憶的內(nèi)容在每一步對其狀態(tài)進(jìn)行變量更改,同時(shí)仍然保持獨(dú)立的記憶片段。
MSKT是MANN的一種,它使用外部記憶矩陣Mt∈RN×dv來處理學(xué)生以往的歷史序列X=((q1,r1),(q2,r2),…,(qn,rn)),其中N是記憶片段的數(shù)量,dv是每個(gè)記憶片段的大小。在輸入序列的每個(gè)時(shí)間步長上,該模型以離散的練習(xí)標(biāo)記qt和讀向量rt(從Mt中讀取學(xué)生當(dāng)前對qt的掌握情況)作為輸入。并且用rt來計(jì)算學(xué)生成功的答出給定練習(xí)題的概率。然后根據(jù)學(xué)生實(shí)際回答rt的正確性和qt來更新記憶矩陣Mt。如圖2 所示,相同顏色的函數(shù)具有相同的權(quán)值。MSKT 模型不需要對數(shù)據(jù)進(jìn)行標(biāo)注且可以處理任何向量輸入的優(yōu)點(diǎn),而傳統(tǒng)KT 模型只適用于離散的練習(xí)標(biāo)簽。其次通過引入外部記憶,彌補(bǔ)了DKT 模型無法輸出學(xué)生對每個(gè)練習(xí)題的掌握程度。
圖2 MSKT操作圖解
本文使用了與DKVMN 論文中相同的方法來計(jì)算知識點(diǎn)權(quán)重(Knowledge Concept Weight,KCW),知識點(diǎn)權(quán)重是用來計(jì)算加權(quán)的每個(gè)知識點(diǎn)的掌握水平,進(jìn)而預(yù)測學(xué)生對練習(xí)題的作答情況。
每個(gè)練習(xí)題qt都有自己的相關(guān)權(quán)重向量wt∈RN,它表示練習(xí)題和每個(gè)潛在概念之間的相關(guān)性。首先,練習(xí)題的獨(dú)熱編碼通過習(xí)題的Embedding 矩陣,得到其Embedding 的向量表示,即kt∈ Rdk表示練習(xí)題qt對應(yīng)的連續(xù)的嵌入向量,而在傳統(tǒng)的深度知識追蹤模型中采用的是獨(dú)熱編碼的形式。其次,嵌入向量kt與鍵矩陣中的每個(gè)記憶單元做內(nèi)積,最后應(yīng)用一個(gè)Softmax 函數(shù)。其相關(guān)權(quán)重計(jì)算如下:
直觀上看,這個(gè)過程與標(biāo)準(zhǔn)的記憶增強(qiáng)神經(jīng)網(wǎng)絡(luò)尋址方法是一樣的,只是使用了靜態(tài)矩陣而不是動(dòng)態(tài)的記憶內(nèi)容。然而,本文注意到,由于鍵矩陣是靜態(tài)的,這個(gè)操作完全等價(jià)于對kt進(jìn)行線性變換,然后應(yīng)用一個(gè)Softmax 函數(shù)。也就是說,一個(gè)沒有偏置項(xiàng)的Softmax激活層。下面的讀操作和寫操作都將使用這個(gè)知識點(diǎn)權(quán)重向量wt。
本文通過計(jì)算得到的練習(xí)題知識點(diǎn)權(quán)重KCW,加權(quán)該練習(xí)題所涉及的全部知識點(diǎn)的知識向量,并將這些知識向量進(jìn)行加權(quán)求和來表達(dá)學(xué)生做該習(xí)題所涉及知識點(diǎn)的總體掌握情況,進(jìn)而根據(jù)這個(gè)總體掌握情況來預(yù)測學(xué)生回答這個(gè)練習(xí)題的情況。具體地,給定相關(guān)權(quán)重wt,當(dāng)練習(xí)題qt到來時(shí),通過每個(gè)值矩陣中記憶片段的加權(quán)和表示要讀取的內(nèi)容。其公式如下:
計(jì)算得到的rt可以看作學(xué)生對當(dāng)前練習(xí)題的總體掌握程度(每個(gè)練習(xí)題可能涉及到多個(gè)知識點(diǎn))。具體地,對于當(dāng)前的練習(xí)題qt,本文通過習(xí)題Embedding 矩陣獲得練習(xí)題的向量表示kt,由于每個(gè)練習(xí)都有自己的難度,本文將rt與kt連接起來傳遞給帶有ReLU 全連接層來獲取預(yù)測函數(shù)ft,它包含了學(xué)生的總體掌握水平和當(dāng)前練習(xí)題的難度。其公式如下:
最后ft通過一個(gè)Sigmoid 激活函數(shù)的全連接層來預(yù)測學(xué)生答對該題的概率:
學(xué)生回答完練習(xí)題qt后,根據(jù)學(xué)生回答練習(xí)題的正確性rt和qt來更新記憶矩陣Mt。相比于動(dòng)態(tài)鍵值記憶網(wǎng)絡(luò),本文在更新知識概念記憶矩陣的時(shí)候考慮了當(dāng)前的記憶內(nèi)容,而前者忽略了這個(gè)。用嵌入向量Vt來代替元組( )qt,rt,Vt表示學(xué)生完成練習(xí)題qt后獲得的知識增長。為了計(jì)算更新的記憶矩陣Mt+1,本文將每個(gè)記憶片段視為獨(dú)立的有一個(gè)隱藏狀態(tài)向量的RNN。Vt根據(jù)相關(guān)權(quán)重wt進(jìn)行分割,并分布在所有記憶片段中,使第i行記憶單元接收wt(i)vt作為輸入。其次每個(gè)記憶片段獨(dú)立計(jì)算自己的更新內(nèi)容。在本文的模型中,本文使用GRU進(jìn)行更新,因?yàn)樗萀STM更簡單,參數(shù)少,可以顯著的減少計(jì)算時(shí)間。其公式如下:
其中,Mt(i)是Mt的第i行。注意,本文對每個(gè)記憶單元使用相同的GRU 函數(shù),即所有記憶單元之間共享GRU更新的參數(shù)。其次,本文采用了與DKT和DKVMN相同的損失函數(shù),MSKT模型的訓(xùn)練是最小化預(yù)測值p與真實(shí)值y的交叉損失函數(shù):
MSKT模型與BKT模型相比,MSKT模型不需要專家對習(xí)題進(jìn)行知識點(diǎn)標(biāo)注,且能夠詳細(xì)地輸出學(xué)生對于每個(gè)知識點(diǎn)的掌握水平。
MSKT 模型與DKT 模型相比,兩者都不需要對數(shù)據(jù)進(jìn)行標(biāo)注,但MSKT模型具有更好的預(yù)測性能且不會(huì)產(chǎn)生過擬合,另外,MSKT 模型還可以追蹤預(yù)測某一個(gè)特定的知識點(diǎn)的掌握情況,而DKT卻無法做到這一點(diǎn)。
MSKT 模型與DKVMN 模型相比,兩者均結(jié)合了BKT 和DKT 的優(yōu)點(diǎn)且借鑒了記憶增強(qiáng)神經(jīng)網(wǎng)絡(luò)的思想,其次都可以自動(dòng)發(fā)現(xiàn)相似的練習(xí)題,但DKVMN 模型不能使用當(dāng)前的記憶內(nèi)容,即沒有考慮學(xué)生掌握知識的速度。而本文的MSKT不但能夠?qū)@種現(xiàn)象建模,而且比DKVMN具有更好的預(yù)測性能。
總之,本文設(shè)計(jì)的深度知識追蹤模型根據(jù)實(shí)際應(yīng)用,結(jié)合了BKT、DKT 以及DKVMN 的優(yōu)點(diǎn),并且考慮了當(dāng)前的記憶內(nèi)容,即考慮了學(xué)生掌握知識點(diǎn)的速度,來提高知識追蹤模型的性能。
為了評價(jià)MSKT的性能指標(biāo),在4個(gè)公開的知識追蹤數(shù)據(jù)集上與DKT 和DKVMN 模型進(jìn)行了實(shí)驗(yàn)對比。其結(jié)果表明MSKT 模型優(yōu)于DKT 和DKVMN,并且也可以自動(dòng)地發(fā)現(xiàn)相似的練習(xí)題。
本文使用了4 個(gè)公開的知識追蹤數(shù)據(jù)集:ASSIST-ments2009、ASSISTments2015、STATICS 和 JUNYI。這些數(shù)據(jù)集包含來自學(xué)生與各種在線智能輔導(dǎo)系統(tǒng)的交互日志。
3.1.1 ASSISTments2009
這個(gè)數(shù)據(jù)集[11]是2009 年期間在教育平臺ASSISTMENTS 上收集的。這個(gè)平臺提供了高中的數(shù)學(xué)習(xí)題。當(dāng)這個(gè)數(shù)據(jù)集第一次發(fā)布時(shí),它包含重復(fù)的記錄,因?yàn)橐恍┦褂眠@個(gè)數(shù)據(jù)集的論文有不可靠的結(jié)果[12]。從那時(shí)起,一個(gè)更新的版本已經(jīng)發(fā)布,沒有錯(cuò)誤的重復(fù),本文的實(shí)驗(yàn)中使用了更新的版本。數(shù)據(jù)集包含兩種不同的交互模式的數(shù)據(jù)集:skill-builder 和 non-skill-builder。在實(shí)驗(yàn)中使用skill-builder 數(shù)據(jù)集,因?yàn)樵谶@個(gè)數(shù)據(jù)集中,每個(gè)互動(dòng)都被標(biāo)記為一個(gè)獨(dú)特的技能ID,這使得預(yù)處理更加簡單。就像在DKVMN論文中一樣,丟棄沒有技能名稱的記錄,更新后的數(shù)據(jù)集包含4 151 名學(xué)生,110個(gè)練習(xí)標(biāo)簽,325 637個(gè)互動(dòng)。
3.1.2 ASSISTments2015
該數(shù)據(jù)集也收集自2015 年的ASSISTMENTS 教育平臺,與2009年的數(shù)據(jù)集不同,它來自一個(gè)交互模式的記錄,所有這些記錄都被使用。在預(yù)處理工程中,刪除了正確的值不是1或0的記錄,剩下的數(shù)據(jù)集包含19 840名學(xué)生、100個(gè)練習(xí)標(biāo)記和683 801個(gè)交互。
3.1.3 STATICS 2011
這個(gè)數(shù)據(jù)集[13]是從大學(xué)的工程力學(xué)課程中收集的。在力學(xué)系統(tǒng)中,每個(gè)練習(xí)都包含多個(gè)步驟。由于此數(shù)據(jù)集包含相對較少的不同練習(xí),因此將練習(xí)題的每個(gè)步驟作為模型的單獨(dú)輸入。也就是說,練習(xí)ID 和步驟ID 一起充當(dāng)輸入,因此相同練習(xí)的不同步驟將被視為單獨(dú)的輸入ID。該數(shù)據(jù)集包含333 名學(xué)生、1 223 個(gè)練習(xí)標(biāo)簽和189 297個(gè)交互。
3.1.4 JUNYI Academy 2015
該數(shù)據(jù)集[14]取自2015 年JUNYI 學(xué)院的交互日志,完整的數(shù)據(jù)集包含25萬名學(xué)生的日志,以及超過2 500萬的交互。為了減少所需的計(jì)算時(shí)間,在實(shí)驗(yàn)中,從這個(gè)數(shù)據(jù)集中隨機(jī)選擇了10 000名學(xué)生來使用,在選擇的子樣本中有720個(gè)練習(xí)和2 122 314個(gè)交互。
將數(shù)據(jù)集劃分成訓(xùn)練集、交叉驗(yàn)證集以及測試集,其中訓(xùn)練集占數(shù)據(jù)集的60%,交叉驗(yàn)證集和測試集各占20%。訓(xùn)練每個(gè)epoch 后,都要在交叉驗(yàn)證集上對模型進(jìn)行評估,其次選擇驗(yàn)證分?jǐn)?shù)最大的epoch在測試集上進(jìn)行評估。本文的模型使用Adam 優(yōu)化算法[15]進(jìn)行訓(xùn)練,學(xué)習(xí)率為0.005 并且用交叉熵作為損失函數(shù)。所有的梯度的范數(shù)都被剪裁在50 以內(nèi),這樣可以減少訓(xùn)練RNN 的困難[16]。使用Glorot[17]初始化所有可訓(xùn)練的參數(shù)。STATICS數(shù)據(jù)集的mini-batch size的大小設(shè)置為8,其余數(shù)據(jù)集的mini-batch size 的大小設(shè)置為32。發(fā)現(xiàn)當(dāng)STATICS數(shù)據(jù)集的mini-batch size為32時(shí),由于缺乏隨機(jī)噪聲,其模型性能極差。
為了評價(jià)MSKT模型的性能,使用了接收者操作特性(ROC)曲線下面積(AUC)來度量[18]。首先AUC作為性能度量在機(jī)器學(xué)習(xí)領(lǐng)域憑借其優(yōu)越的性質(zhì)受到廣泛的關(guān)注,尤其適合類不平衡問題[19]。另外,在KT領(lǐng)域的論文均使用AUC 作為評價(jià)指標(biāo),這樣實(shí)驗(yàn)結(jié)果可以很容易地與KT領(lǐng)域的論文進(jìn)行比較。本文用不同的隨機(jī)初始化方法對模型進(jìn)行6次訓(xùn)練,得到模型在測試集上的平均AUC和標(biāo)準(zhǔn)差,如表1所示。
在DKVMN的論文中,DKVMN模型在ASST2009、ASST2015和STATICS數(shù)據(jù)集上的性能優(yōu)于LSTM。然而,本文的發(fā)現(xiàn)與此相反:從表1中可以看出,本文發(fā)現(xiàn)一個(gè)普通的LSTM 稍微優(yōu)于DKVMN。本文報(bào)告的DKVMN 得分與他們報(bào)告的DKVMN 得分或多或少相同,但是本文的LSTM的表現(xiàn)明顯好于他們。假設(shè)這種差異是由于用Adam優(yōu)化訓(xùn)練模型,然而在以前的知識追蹤論文中使用的是一個(gè)標(biāo)準(zhǔn)的SGD優(yōu)化器。利用二階導(dǎo)數(shù)的優(yōu)化方法在訓(xùn)練RNN 時(shí)可以取得較好的效果[20],Adam 優(yōu)化器確實(shí)利用了二階導(dǎo)數(shù)信息。確實(shí)發(fā)現(xiàn),正如預(yù)期的那樣,MSKT模型在4個(gè)公開的數(shù)據(jù)集上的AUC 分?jǐn)?shù)都高于LSTM 和DKVMN 模型,即MSKT模型的預(yù)測性能最好。
在原始 DKVMN 論文中,DKVMN 與 LSTM 相比,DKVMN 對過擬合的抵抗性明顯更強(qiáng)。過擬合描述了這樣一種情況:模型在訓(xùn)練數(shù)據(jù)集上表現(xiàn)得很好,但是在測試集上表現(xiàn)得很差。本文比較了LSTM、DKVMN和MSKT 在訓(xùn)練期間的訓(xùn)練和驗(yàn)證AUC,以證明MSKT也能防止過擬合,如圖3所示。
表1 知識追蹤模型在測試集上的AUC
圖3 訓(xùn)練和驗(yàn)證AUC分?jǐn)?shù)
由圖3 可知,在 ASST2009 和 ASST2015 數(shù)據(jù)集上,LSTM 模型確實(shí)存在過擬合問題,因?yàn)閮H僅經(jīng)過3 或4個(gè)epoch后,其訓(xùn)練和驗(yàn)證AUC分?jǐn)?shù)就開始迅速出現(xiàn)差異。DKVMN和MSKT都有更好的表現(xiàn),在收斂之前保持相似的訓(xùn)練和驗(yàn)證的AUC 分?jǐn)?shù)。然而,在另外兩個(gè)數(shù)據(jù)集上,發(fā)現(xiàn)所有的模型都存在過擬合,但可以明確看出MSKT的過擬合程度小于DKVMN和LSTM。
在訓(xùn)練過程中,記憶增強(qiáng)模型學(xué)習(xí)每個(gè)練習(xí)題的相關(guān)權(quán)重向量,由于具有相關(guān)性的練習(xí)題將共享記憶片段,因此模型將相似的練習(xí)題放在同一個(gè)記憶片段中。這意味著相關(guān)權(quán)重向量可以用來識別相似練習(xí)題的集群,因?yàn)橄嗨频木毩?xí)題具有相似的相關(guān)權(quán)重。為了驗(yàn)證這一點(diǎn),使用MSKT 模型來識別ASST2009 數(shù)據(jù)集中的相關(guān)練習(xí)題。本文選擇使用ASST2009 數(shù)據(jù)集有兩個(gè)原因:首先它的練習(xí)題數(shù)量相對較少,這使得顯示所有練習(xí)題都比較簡單,其次這個(gè)數(shù)據(jù)集包含每個(gè)練習(xí)題的名稱。
在ASST2009數(shù)據(jù)集上,訓(xùn)練一個(gè)有N=10 個(gè)記憶片段的MSKT 模型并且提取每一個(gè)練習(xí)題的相關(guān)權(quán)重向量。使用t-SNE將向量降至二維,并且能夠保持原始的數(shù)據(jù)結(jié)構(gòu)[21],通常用于可視化高維數(shù)據(jù)點(diǎn)。其結(jié)果如圖4所示,相似的練習(xí)題用相同的顏色標(biāo)注。并且按照圖4 把相同顏色的練習(xí)題放到相同的區(qū)塊中,如圖5所示。
圖4 根據(jù)相關(guān)權(quán)重向量對練習(xí)題進(jìn)行聚類
從圖4 和圖5 中可知,MSKT 模型可以自動(dòng)地發(fā)現(xiàn)相似的練習(xí)題。例如,橙色的習(xí)題具有相關(guān)的數(shù)學(xué)運(yùn)算,它包括整數(shù)的加減法、小數(shù)的加減法以及小數(shù)與整數(shù)的加減法等。藍(lán)色的習(xí)題也具有相關(guān)的數(shù)學(xué)運(yùn)算,它包括三角形的內(nèi)角運(yùn)算、多邊形的周長、圓的面積等。
圖5 練習(xí)題ID和對應(yīng)的名稱
通過介紹典型的知識追蹤模型(BKT模型、DKT模型以及DKVMN模型)存在的一系列問題以及各自的優(yōu)勢。發(fā)現(xiàn)目前現(xiàn)有的KT模型都不能對知識增長速度進(jìn)行動(dòng)態(tài)建模。針對這一現(xiàn)象,提出了一種新的知識追蹤模型MSKT來解決這個(gè)問題,該模型可應(yīng)用于在線學(xué)習(xí)平臺來提高學(xué)生的學(xué)習(xí)效率。實(shí)驗(yàn)分析表明:MSKT模型在四個(gè)公開的知識追蹤數(shù)據(jù)集上的AUC分?jǐn)?shù)明顯高于DKVMN 和DKT。MSKT 模型還可以防止過擬合以及自動(dòng)地發(fā)現(xiàn)相似的練習(xí)題,充分證明了本文所提模型的實(shí)用性和優(yōu)越性。知識追蹤模型為教育研究者預(yù)測學(xué)生知識掌握情況提供了一個(gè)便捷的途徑,能夠創(chuàng)造出真正能夠滿足每個(gè)學(xué)生需求的個(gè)性化學(xué)習(xí)方案。