999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于注意力機制的深度知識追蹤模型研究

2021-07-21 09:12:32王佳文王夢南
太原理工大學學報 2021年4期
關鍵詞:機制技能模型

周 凱,強 彥,王佳文,王夢南

(太原理工大學 信息與計算機學院,太原 030024)

現階段電子化在線教育的主要模式為大規模開放在線課程 ,即“慕課”(massive open online courses,MOOC).慕課平臺相對傳統學校教育形式有著多種優勢,但也因為其大規模性以及線上性存在一些短板。研究者們關注的一個問題是慕課平臺在個性化指導方面的不足。參與在線教育平臺的學生固然可以自由瀏覽和選擇課程,但由于課程的參與人數眾多以及教師的課程發布與學生的課程學習并不同時,學生在學習時往往缺少傳統課堂那樣的及時反饋與指導。面對這種情況,在教育領域提出的解決方案是“智能導學系統”(intelligent tutoring system,ITS).該系統的一個預期功能是自動地制訂適合學習者的學習活動和教學策略。為了構建有效的智能導學系統,對學習者進行建模是必要的。知識追蹤(knowledge tracing)是學習者建模中的一個重要研究。

知識追蹤即基于學生的歷史練習記錄,建立可表示和預測學生對于“知識組件”(knowledge component)或者說“技能”的掌握程度的模型的任務(如圖1所示)。對知識追蹤的研究主要從20世紀90年代開始[1]。

圖1 通用知識追蹤任務Fig.1 Universal knowledge tracing task

早期知識追蹤任務應用了一些教育領域的傳統方法,例如項目反應理論(item response theory,IRT).之后,機器學習建模的方法被引入到這一領域并逐漸確定出現有的知識追蹤任務模式。較早被提出的基于機器學習的主要模型是貝葉斯知識追蹤(bayesian knowledge tracing,BKT)[2-3].

2015年起,循環神經網絡(RNN)及其變體開始在知識追蹤任務中得到應用,并且逐漸成為了該方面研究的主流方法。其主要包括PIECH et al[4]提出的基于RNN或LSTM的DKT模型,對損失函數進行了改進的DKT+模型[5],以及NAKAGAWA et al[6]提出的直接用問題ID通過嵌入表示作為輸入的深度知識追蹤模型。另外,還有SU et al[7]提出的將知識的依賴關系納入考慮的知識追蹤模型,同樣是該研究團隊提出的使用文本相似度參與注意力計算的EERNN模型[8],以及進一步地優化了記憶網絡以準確量化每個習題對于學生在做題中掌握知識點方面的影響的EKT模型[9]。

除此之外,ZHANG et al[10]于2017年提出了結合外部記憶模塊與循環神經網絡的動態鍵值對記憶網絡(dynamic key value memory networks,DKVMN)[10].它借鑒了記憶增強神經網絡的思想,用一個靜態矩陣存儲配合一個動態矩陣存儲以更新學生的知識狀態。

在序列建模領域,基于循環神經網絡的方法一直居于主導地位,然而近年來,基于注意力機制的模型開始逐漸成為主流。因此研究者也展開了使用注意力機制和循環神經網絡的混合模型或者純注意力模型進行知識追蹤的研究。

本文提出了一種基于注意力機制的知識追蹤模型,使用Transformer結構作為模型的主體框架。模型的創新之處在于:1) 使用門結構以更合理地利用輸入序列中的結果的嵌入表示;2) 模型對技能信息和題目信息進行分別編碼和合并,增加了輸入信息并替換了影響注意力得分計算的Future Mask結構[11],以更準確地反映學生的知識掌握水平。

1 相關工作

2017年,谷歌的研究團隊發表的論文中提出了Transformer模型[11]。該模型使用了序列到序列(Seq2Seq)結構,或者又被稱為編碼器-解碼器結構,被用于文本翻譯以及文本生成等多種自然語言處理任務。Transformer依靠自注意力運算構建其編解碼功能。自注意力運算是實現注意力機制的多種策略之一。相對于傳統循環或卷積網絡結構,Transformer結構具有更好的并行性能,并且計算兩個位置之間的關聯所需的操作次數不隨距離增長,在可解釋性方面也更具優勢。

隨后知識追蹤方面的研究者也提出了一些基于自注意力機制的模型。2019年,PANDEY et al[12]提出了基于自注意力機制的知識追蹤模型SAKT,使用了典型的多頭注意力結構以及位置編碼等,在預測學生回答特定問題正確率的AUC指標上取得了較好的結果,并且該模型的訓練速度要遠快于基于循環神經網絡的深度知識追蹤。之后,又有一些使用自注意力機制的更加復雜的模型被提出,例如GHOSH et al[13]提出的AKT模型,該模型使用了Rasch模型實現嵌入表示,具有問題編碼以及知識檢索的兩段結構,其知識檢索部分使用了問題編碼的表示作為輸入,計算了學習者的知識狀態。另外還有CHOI et al[14]提出的采用了編碼器-解碼器結構的SAINT模型等。可以認為,基于注意力機制的方法已經逐漸成為了知識追蹤建模的主要研究方向之一。

現有的基于注意力機制的知識追蹤模型往往只考慮練習記錄的習題ID或者技能ID之一;另外也存在一些設計上的不合理之處,導致未能充分利用自注意力機制。基于以上問題,我們做出了多處改進,提出了更優的基于Transformer結構的模型。

2 實驗方法

本模型以Transformer結構為基礎網絡,相對已有研究,對輸入部分進行了合理的改進設計并進一步引入了知識技能信息。除此之外,區別于籠統的對互動記錄的單一的編碼方式,本模型提出一種新穎的方法,即將題目與回答拆解為兩部分進行編碼,并使用門機制進一步處理回答部分的嵌入表示。

2.1 知識追蹤任務的輸入與輸出

本文提出模型輸出的結果可以看作特定學生在給定習題ID的情況下,回答正確的概率。模型的輸入為該學生的歷史練習記錄,該練習記錄包括習題ID、回答結果以及習題所屬的技能ID;模型的輸出為答對特定習題概率的預測值。

模型在訓練階段提取數據集中每個學生的從起始到第t個問題的信息進行輸入,使模型輸出對第t+1個問題正確回答的預測數值,再以其同實際第t+1個問題結果的對比作為代價,優化模型的參數。訓練完成的模型所輸出的預測值可以作為評價指標,應用于對學生掌握技能程度的評估。本模型所關注的問題是提高該預測的準確率,即:

P(rt+1|(e0,s0,r0),(e1,s1,r1),…,(et,st,rt),et+1) .

(1)

式中:e,s與r分別代表題目ID、技能ID與結果。

2.2 模型框架

模型由4部分組成:(1)嵌入表示部分;(2)基于注意力機制的編碼器;(3)基于注意力機制的解碼器;(4)結果預測部分。對于編碼器和解碼器部分,其主要由多頭注意力計算模塊以及前饋神經網絡層疊而成。整體結構如圖2所示。

2.2.1嵌入表示

對于模型輸入,需要將序列中的元素進行嵌入表示。其中共有3種嵌入表示向量。設當前所處理的學生為i,對于該學生ID下的k個問題,這3個向量組分別為由題目ID序列轉換的向量組Ei、由技能ID序列轉換的向量組Si以及由回答序列所轉換的向量組Ri,而每組中分別有k個向量。每一類向量需要預先設定各自的維度,其中考慮后續的門控運算,向量組Ri的向量維度大小應為Ei與Si的維度大小之和。

本文提出的模型使用了隨機初始化參數的嵌入表示層。特別地,對于回答序列向量組Ri中的向量,根據正確與否設定不同期望值的正態分布參數初始化方法,即當回答正確則有μ>0,反之則μ<0.

作為自注意力模塊的輸入,Ei與Si按照對應關系進行拼接處理。

位置編碼:注意力機制下的序列處理依賴位置編碼以包含序列元素的位置信息。本文提出模型的位置編碼采用了絕對位置編碼方法,即正余弦函數位置編碼[11]。對于長度為d,序列中位置為p,在位置編碼向量中維度為i的數值為:

Epos,2i=sin(p/10 0002i/d),
Epos,2i+1=cos(p/10 0002i/d) .

(2)

這一系列值組成了位置編碼向量。其中i∈{0,1,2…dmodel/2}.生成位置編碼后將其以加算方式同嵌入表示向量合并。

2.2.2結果控制門

為了能有效地利用練習記錄中結果部分的信息,本模型采用了門機制處理該部分的嵌入表示。關于注意力運算中的得分機制,考慮一條序列中出現兩次回答同一知識點下題目的情況:兩次都回答正確的情形相對一次正確一次錯誤的情形,在涉及題目的注意力運算上應該得到較大的自注意力運算值,從而對輸出正確的預測有更多貢獻。

以往的知識追蹤研究中,對于練習記錄中的習題ID,n類題目的習題有n種狀態;當合并結果的狀態時,考慮一般而言結果只有對錯兩種的情況,則任意一項完成的練習記錄擴展到2n種狀態。DKT[4]中采用One-hot方式對練習記錄進行編碼時,會使用2n維度的矩陣,即使是使用嵌入表示的模型也通常是直接擴展編碼的狀態數[12]。

為了優化在嵌入表示以及點積注意力機制下的計算效果,本模型采用門機制替代簡單擴展的方式,即對于多頭注意力模塊的值(V)部分的輸入,有:

(3)

式中:Eei,si為拼接的題目與技能信息的嵌入表示向量,Pi為位置編碼,Eri為結果的嵌入表示,⊙為哈達瑪積運算。有別于題目ID與技能ID的嵌入表示,Eri不需要結合位置編碼。

2.2.3多頭注意力運算

多頭注意力模塊是編碼器和解碼器的核心部分。本模型采用了縮放的點積計算注意力,即:

(4)

通常自注意力運算中的查詢(query)、鍵(key)與值(value)用Q、K與V表示,分別來自于進行線性運算后的題目信息嵌入表示向量。Q與K都來自于題目ID與技能ID進一步處理得到的向量,而V來自于前者與結果向量進行門運算之后得到的結果,即

(5)

式中:W為線性變換矩陣,本模型采用8組不同的W將輸入部分劃分為8個頭,以捕捉映射到多個線性空間的更豐富的特征。使用自注意力機制計算注意力得分(attention score)之后,該得分以系數的形式同經過門轉換與線性運算的向量相乘,并將各頭拼接合并,最終將單個元素的輸入向量轉換成了序列中各元素的向量組形式的表示。編碼器和解碼器的塊數被設置為2,即將自注意力結構及后續的前饋神經網絡結構重復兩次。其輸入到第二塊的Q、K、V為前驅前饋神經網絡輸出的線性映射。

特別地,考慮一般Transformer中存在的Future Mask操作,即為了不在預測時泄漏后續信息,而對解碼器部分的輸入進行上三角矩陣掩膜運算[11]。在知識追蹤任務中使用自注意力結構時,由于編碼器和解碼器的輸入同源,所以之前提出的一些模型必須在所有的多頭注意力運算部分加入Future Mask[14],這種方式顯然會導致序列自注意力信息的流失。因此在本模型中,考慮到知識追蹤任務的數據集樣本量并不龐大,故可犧牲部分并行運算能力,不以Future Mask的方式,而是在輸入部分進行信息屏蔽,使自注意力部分得到充分計算,即每個訓練樣本逐次向后截取一條數據集樣本中的一部分,每一次前向傳播計算單獨一道練習題的預測正確率,以得到更好的效果。

其他結構中模型使用了兩層的前饋神經網絡,以ReLU作為激活函數:

FFN(x)=max(0,xW1+b1)W2+b2.

(6)

模型在子層之間使用了殘差連接,并且為了消除梯度消失和梯度爆炸的影響,使用層歸一化(Layer Normalization):

sub_layer_output=
LayerNorm(x+(SubLayer(x))) .

(7)

解碼器的輸出會經過一個全連接層運算以及Sigmoid壓縮函數,最終輸出對于解碼器的查詢輸入題目回答正確的預測(Q).在模型的訓練階段,使用最小化二分類交叉熵損失(binary cross entropy loss)作為損失函數,計算輸出和標簽的誤差并執行反向傳播優化模型參數。其中輸出的預測值范圍為[0,1],而數據集標簽取值為{0,1}.

3 實驗及分析結果

本文在4個知識追蹤公共數據集上對提出的模型進行了實驗,并與4種基準模型進行對比。

3.1 數據集與預處理

本文實驗所使用的公共數據集如下。

ASSISTments 2009:該數據集收集自在線學習平臺ASSISTments.本文所使用的是其修正過的一個版本,即去掉了重復項的“skill-builder”數據集。該數據集收集自2009-2010學年,其中存在著一個練習題對應多個技能的情況。該數據集包含4 151個學生在124個知識點上的325 637條回答記錄。

ASSISTments 2012:同樣是ASSISTments平臺收集的2012-2013學年的數據集。該數據集中每一種練習題只對應一個技能。該數據集包含27 485個學生在265個知識點上的2 709 436條回答記錄。該數據集是數據樣本量較大的一個數據集。

ASSISTments 2017:來自于ASSISTments平臺2017年競賽的數據集。該數據集包含686個學生在102個知識點上的942 816條回答記錄。該數據集是平均每個學生回答數最多的一個數據集。

Statics2011:該數據集來自于一門統計學課程。其包含333個學生在1 223個知識點上的189 927條回答記錄。

本實驗所做的數據預處理主要有:按照學生ID進行分組;對ID進行映射以壓縮數值;去掉包含無效值的項,去除序列長度小于10的記錄;按照長度對序列進行排列,使每個訓練批次中的序列長度盡可能相同。

對于一個訓練批次中的長度不齊的項,標記出填充掩碼(padding mask)向量組并輸入模型,即對于因對齊而填充無效值的位置,在多頭注意力模塊計算時需要在該位置上的值加上絕對值極大的負值,而使其注意力得分幾乎為0.

3.2 模型實現

本文實驗在以下工作環境進行:Ubuntu 18.04 LTS操作系統,主機使用2.90 GHz Intel(R) Xeon(R)W-2102 CPU和NVIDIA GTX Titan XP GPU.

模型使用PyTorch框架實現。采用留出法以4∶1的比例隨機抽取并劃分出訓練集與不參與訓練的測試集。在訓練過程中,使用Adam優化器,學習率參數設置為1×10-4;習題ID與技能ID的嵌入表示向量維度為128;前饋神經網絡層的隱層維度為100;多頭注意力模塊的頭數為8,塊數為2;批次樣本數為32;最大迭代次數設置為100.

3.3 實驗結果與分析

知識追蹤任務的常用指標為預測學生回答特定問題正確率的AUC值。如前所述,本模型的輸出為特定題目上的回答正確的預測值,以數據集中做出正確回答的題目結果標記為1,以訓練完成參數下的模型,計算測試集集合上的AUC值。為了驗證本模型的表現性能,與基于隱馬爾可夫模型的BKT模型[2]、基于循環神經網絡的DKT模型[4]、DKVMN模型[10]以及同樣基于注意機制的SAKT模型[12]在4個公共數據集上的測試表現進行了對比,結果如表1所示。

可以看出,所提出的方法在4個數據集上的AUC指標都優于使用循環神經網的模型,并且得益于更多的模型參數,在樣本量大的ASSISTments 2012數據集上表現突出。通過對比可以發現,基于深度學習的方法要優于使用隱馬爾可夫模型的BKT模型。另外,相比基于One-Hot編碼方式對技能進行編碼而直接描述每個技能掌握程度的DKT模型,使用嵌入表示的模型表現更好。對比同樣基于注意力機制但只使用解碼器結構的SAKT模型,本文采用編碼器-解碼器結構并做出多種優化的模型在平均AUC上得到了5%的提升。

本研究對于所提出的結果控制門結構與控制輸入的方式進行了消融實驗。其中一個對于練習互動記錄模型,以翻倍嵌入表示編碼狀態的方式替代結果控制門,另一個模型以在所有的多頭注意力模塊應用Future Mask的方式替代了解碼器輸入部分逐個輸入待判斷題目的方式進行了實驗。結果如表2所示。

表2 消融實驗AUC值比較Table 2 AUC of ablation study comparison

可以認為,在處理數據集結果信息的步驟中,使用門結構更為合理,并且以逐元素的方式進行輸入也明顯優于輸入整個序列再使用Future Mask的方法。其原因在于,以往的注意力知識追蹤模型在編碼器和解碼器的所有注意力模塊中使用Future Mask的方式,失去了序列中位置靠前的元素與位置靠后的元素自注意力計算的信息,尤其對編碼器有一定影響。

在訓練中發現,基于注意力機制的模型相比基于循環神經網絡的模型,通常有著更快的收斂速度和更少的內存占用,說明其在更大規模的數據集上有著更好的應用潛力。然而在解碼器部分逐個輸入待判斷題目的方式相比在所有的多頭注意力模塊上使用Future Mask的方式會明顯地降低模型的訓練速度。因此,設計不影響自注意力計算的Future Mask也許會是一個改進。

3.4 學習者技能掌握程度可視化

圖3為模型對一條來自ASSISTments 2009數據集的學生練習記錄序列預測的熱力圖可視化表示。

圖3 序列預測結果的熱力圖示例Fig.3 Heatmap of a sequence prediction

該學生回答了4個技能上的32個問題。這4個技能分別為:圓柱表面積(91)、從圖中得出線性方程(106)、方程斜率(108)以及多項式系數(112).該圖的縱坐標分別為這四個技能的ID,橫坐標刻度代表了該學生回答序列的單個題目與結果,其習題ID已經對應到了技能ID,而1代表實際回答正確,0代表實際回答錯誤。圖塊顏色深淺表示了預測回答正確的幾率。在本文提出的模型中,實際預測的粒度是學生在特定問題ID的回答正確率,但按照慣例憑借其對應關系以技能ID的方式表示。通過指定預測輸入的方式,可以得到在一次回答之后最近一次出現的非直接相關技能題目的預測準確率變化。考慮到提出的模型包含有技能ID的嵌入表示的輸入,實際也可以按照DKT的方式進行技能級別的預測表示。

可以看出,模型對于正確率的預測較符合一般人對知識點掌握程度的直觀感受。模型結果作為學習者建模的一項特征源,能夠輔助在線學習系統對學生的評估工作。

4 結束語

本文提出了一種基于Transformer結構的新型知識追蹤模型。該模型可以依據練習記錄,動態更新學生的知識掌握程度狀態并轉化為知識技能評估,其結果可以作為智能導學系統的一項重要參考。該模型相對以往的基于注意力機制的模型,主要有兩個改進:使用了結果控制門;優化了注意力模塊的輸入形式,引入了技能ID的信息。這些改進提高了預測的性能,并對基于注意力機制的知識追蹤研究有所啟發。

由于輸入部分的處理,相對普遍的自注意力運算方法,本文提出的模型訓練失去了一定的并行運算能力,因此一個可改進之處在于設計合理的Future Mask以重新應用到模型之中。另外,考慮嵌入表示部分存在進行預訓練的潛能,構建數據集中技能的知識圖譜并使用Node2Vec等方法提供預訓練向量,或者引入習題文本信息的嵌入表示也許是一種可行的方法。近年來,一些研究團隊進行了一些基于循環神經網絡和序列注意力模型結合知識圖譜的研究[15]。因此,探索結合注意力機制與知識圖譜進行預訓練的方法是一個可期待的研究方向。

猜你喜歡
機制技能模型
一半模型
高級技能
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
自制力是一種很好的篩選機制
文苑(2018年21期)2018-11-09 01:23:06
秣馬厲兵強技能
中國公路(2017年19期)2018-01-23 03:06:33
拼技能,享豐收
3D打印中的模型分割與打包
破除舊機制要分步推進
中國衛生(2015年9期)2015-11-10 03:11:12
畫唇技能輕松
Coco薇(2015年11期)2015-11-09 13:03:51
主站蜘蛛池模板: 色哟哟国产精品一区二区| 91在线日韩在线播放| 国产一区亚洲一区| 丰满的熟女一区二区三区l| 欧美区一区| 日韩天堂视频| 国产成人高精品免费视频| 国产精品专区第1页| 国产精品久久久久婷婷五月| 婷婷亚洲综合五月天在线| 青青草综合网| 亚洲欧美成人综合| 亚洲综合中文字幕国产精品欧美| 天天综合网色| 午夜视频在线观看区二区| 国产日韩欧美中文| 免费观看欧美性一级| 人妻丰满熟妇AV无码区| 久操线在视频在线观看| 91亚洲视频下载| 无码一区中文字幕| 欧美劲爆第一页| 日韩大片免费观看视频播放| 欧美色视频网站| 在线视频亚洲色图| 第一区免费在线观看| 亚洲V日韩V无码一区二区| 国产凹凸一区在线观看视频| 国产日产欧美精品| 无码国内精品人妻少妇蜜桃视频| 亚洲V日韩V无码一区二区| 成人精品亚洲| 久久黄色视频影| 日韩精品一区二区三区中文无码| 亚洲精品视频网| 91外围女在线观看| 中文无码影院| 亚洲欧美日韩精品专区| 国产成人喷潮在线观看| 亚洲天堂精品视频| 自偷自拍三级全三级视频| 国产杨幂丝袜av在线播放| 美女内射视频WWW网站午夜 | 国产99精品久久| 色综合中文综合网| 综合人妻久久一区二区精品 | 国产在线91在线电影| 热这里只有精品国产热门精品| 美女无遮挡免费视频网站| 国产欧美日韩视频一区二区三区| 国产精品手机视频一区二区| 综合色在线| 国产在线观看91精品亚瑟| 亚洲第一区精品日韩在线播放| 玖玖免费视频在线观看| 亚洲高清中文字幕| 青草精品视频| 青青久久91| 亚洲一区二区约美女探花| 在线观看国产精美视频| 国产视频大全| 国产SUV精品一区二区6| 亚洲色图欧美视频| 一区二区在线视频免费观看| 久久这里只有精品66| 特级aaaaaaaaa毛片免费视频| 91精品综合| 国产成人乱无码视频| 熟妇人妻无乱码中文字幕真矢织江 | 久久99国产综合精品女同| 一级香蕉人体视频| 亚洲伦理一区二区| 国产精品第| 亚洲第一成年免费网站| 国产一区二区三区免费| 日韩毛片基地| 欧美精品在线免费| 亚洲综合片| 欧美成a人片在线观看| 中文字幕调教一区二区视频| 国产成人精品三级| 国产三级毛片|