張 暢 韓繼紅 張玉臣 李福林
(信息工程大學(xué) 鄭州 450000)
隨著人工智能技術(shù)的飛速發(fā)展,人臉等生物特征在身份認(rèn)證和識(shí)別領(lǐng)域得到廣泛的應(yīng)用。研究表明,人敲擊鍵盤的“節(jié)奏”可以作為身份認(rèn)證和識(shí)別的行為特征[1]。通常把按鍵事件發(fā)生的時(shí)間間隔作為擊鍵行為特征,一般包括從前一按鍵釋放到后繼按鍵按下的時(shí)長(zhǎng)UD time、從前一按鍵按下到后繼按鍵按下的時(shí)長(zhǎng)DD time(或稱digraph)、從前一按鍵釋放到后繼按鍵釋放的時(shí)長(zhǎng)UU time、按鍵從按下到釋放的時(shí)長(zhǎng)Hold time、n(n≧2)個(gè)按鍵事件從第1個(gè)按鍵按下到第n個(gè)按鍵按下的時(shí)長(zhǎng)n-graph等。擊鍵行為研究一般分為固定文本和自由文本兩大類,如果擊鍵事件序列對(duì)應(yīng)文本內(nèi)容和長(zhǎng)度都相同,屬于固定文本研究;如果內(nèi)容和長(zhǎng)度不確定,則屬于自由文本研究。
人們研究擊鍵行為已有40多年。期間,固定文本研究文獻(xiàn)較多,取得了很好的分類效果,而自由文本研究的文獻(xiàn)偏少,且分類效果一直不佳[2]。近期,Acien等人[2]用孿生網(wǎng)絡(luò)模型大幅提升了自由文本擊鍵事件序列的分類效果。本文在Acien的工作的基礎(chǔ)上展開深入研究,探索分類效果好且具有可解釋性的模型。
自由文本擊鍵事件序列因?yàn)殒I值不確定、長(zhǎng)度不一,所以無法得到像固定文本一樣“整齊”的特征向量。常見的自由文本擊鍵事件序列特征有:(1)以按鍵組合的n-graph均值為特征[3–6];(2)以基于n-graph均值的按鍵或按鍵組合的排序?yàn)樘卣鱗7,8];(3)以分組組合的用時(shí)均值為特征,例如把鍵盤劃分成左手區(qū)、右手區(qū)和空格3組[9,10],以這3組按鍵事件的時(shí)間間隔為特征,或者按元音、輔音、標(biāo)點(diǎn)、功能鍵等劃分按鍵[11],以元、輔音等分組按鍵事件的時(shí)間間隔為特征。上述方法中,文獻(xiàn)[5]和文獻(xiàn)[6]在Clarkson II自由文本數(shù)據(jù)集獲得了15.3%和7.8%的等錯(cuò)誤率(Equal Error Rate, EER),但得到這樣的結(jié)果需要至少200個(gè)digraph的測(cè)試樣本和10000個(gè)digraph 的訓(xùn)練樣本,因此不適用于短自由文本擊鍵事件序列的分類。因?yàn)樽杂晌谋緭翩I事件序列的特征不“整齊”,很長(zhǎng)一段時(shí)期,自由文本擊鍵事件序列的分類效果遠(yuǎn)不及固定文本。
近期該問題有了轉(zhuǎn)機(jī):生成模型POHMM[12]把擊鍵事件序列看作被試者受“積極”、“消極”兩種隱狀態(tài)的影響對(duì)鍵入文本的響應(yīng),如果有覆蓋全面的訓(xùn)練集,理論上可以消除文本內(nèi)容差異對(duì)分類的影響,但采集這樣全的樣本數(shù)據(jù)并不現(xiàn)實(shí)。蘆效峰等人[13]嘗試用卷積神經(jīng)網(wǎng)絡(luò)+循環(huán)神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的深度神經(jīng)網(wǎng)絡(luò)模型做自由文本擊鍵事件序列的分類,在Buffalo 數(shù)據(jù)集中使用相同鍵盤的75個(gè)被試者的數(shù)據(jù)上,取得了3.04%的EER。作者聲稱其研究不足之處在于使用的數(shù)據(jù)量小。另外,這種方法解決的是閉集識(shí)別問題。Acien等人[2]用Aalto University自由文本數(shù)據(jù)集[14]的6萬多被試者的數(shù)據(jù)訓(xùn)練基于長(zhǎng)短時(shí)記憶網(wǎng)(Long-Short Term Memory,LSTM)的孿生神經(jīng)網(wǎng)模型TypeNet,在剩余10多萬被試者的數(shù)據(jù)上測(cè)試,獲得了2.2%的EER,分類效果明顯優(yōu)于POHMM。Morales等人[15]在Acien工作的基礎(chǔ)上,提出用SetMargin Loss訓(xùn)練TypeNet模型。和Acien采用的Contrastive loss和Triplet loss不同,SetMargin Loss使得同類特征序列集圍成的面積小,而不同類特征序列的間距離大。該做法使TypeNet模型能夠更好地適應(yīng)類內(nèi)變化,取得了1.85%的EER。
Acien和Morales的實(shí)驗(yàn)結(jié)果驗(yàn)證了TypeNet網(wǎng)絡(luò)結(jié)構(gòu)的有效性,即用雙層LSTM將擊鍵事件序列對(duì)應(yīng)的特征序列映射到表征空間(embedding space),基于孿生網(wǎng)絡(luò)結(jié)構(gòu)采用對(duì)比學(xué)習(xí)方法,使得在表征空間上,屬于同一人的特征序列的歐氏距離小,不同人的特征序列的歐氏距離大。TypeNet的表征空間是128維,使用歐氏距離度量表征向量(embedding)的相似度,所以表征空間的維度缺乏可解釋性。本文用多層感知機(jī)替換TypeNet模型中的對(duì)比損失函數(shù),來度量表征向量的相似度。具體做法是:把孿生網(wǎng)絡(luò)模型的分支輸出的表征向量差的絕對(duì)值作為多層感知機(jī)的輸入,多層感知機(jī)輸出作為孿生網(wǎng)絡(luò)模型輸入特征序列對(duì)的相似度量值,激活函數(shù)為sigmoid,采用交叉熵?fù)p失函數(shù)訓(xùn)練模型。為了解釋表征向量,把多層感知機(jī)的輸入X(即表征向量)的元素xi作為自變量,輸出y作為因變量,用多元多項(xiàng)式模擬多層感知機(jī)的輸入X和輸出y之間的關(guān)系y=f(X)=f(x1,x2,...,xN)。根據(jù)多元多項(xiàng)式f分析X各維度與相似度量的關(guān)系。
TypeNet模型[2]的分支的輸入為長(zhǎng)度為M的特征序列。特征序列的元素是一個(gè)5元組:<按鍵值、按鍵的Hold time、本按鍵與后一按鍵的UD time、本按鍵與后一按鍵的DD time、本按鍵與后一按鍵按鍵的U U t i m e>。若特征序列長(zhǎng)度N>M,則截?cái)鄟G棄超出長(zhǎng)度M的部分;如果N 本文最初嘗試用和TypeNet模型一樣的分支結(jié)構(gòu),即兩層L S T M,得到的訓(xùn)練效果遠(yuǎn)不及TypeNet模型,之后轉(zhuǎn)而用單層LSTM網(wǎng)絡(luò)作分支結(jié)構(gòu),得到測(cè)試準(zhǔn)確率超出了用contrastive loss訓(xùn)練的TypeNet模型近5個(gè)點(diǎn)。下面介紹改進(jìn)的模型TypeNet II。 單層LSTM的輸出是128維,若不降維處理,分支輸出的表征向量也是128維。為了降低模型的復(fù)雜度,在確保分類準(zhǔn)確率的前提下,應(yīng)盡量降低表征向量的維度(分支的Dense層的作用類似于bottleneck layer),所以本文也嘗試了一些比128小的維度。實(shí)驗(yàn)中,表征向量維度取值范圍為{128, 64,32, 3, 2}。 為了弄清楚比較層各維度與相似度量的關(guān)系,本文用多元多項(xiàng)式模擬決策層(原理如圖2所示)。多元多項(xiàng)式的自變量對(duì)應(yīng)于比較層的各維度,因變量是決策層的輸出,亦模型的輸出。將大量特征序列對(duì)輸入訓(xùn)練好的模型產(chǎn)生因變量和自變量數(shù)據(jù)集,在此數(shù)據(jù)集上用嶺回歸學(xué)習(xí)多元多項(xiàng)式f(X)=f(x1,x2,...,xN),根據(jù)多項(xiàng)式分析比較層對(duì)決策層輸出的影響。 圖1 TypeNet II的結(jié)構(gòu) 圖2 決策層的多元多項(xiàng)式回歸模型 和Morales一樣,本文用Aalto University自由文本數(shù)據(jù)集的68000個(gè)被試者的數(shù)據(jù)訓(xùn)練TypeNet II,在剩余數(shù)據(jù)中選5000個(gè)被試者的數(shù)據(jù)測(cè)試分類效果。從Acien和Morales的文獻(xiàn)中無法得知這些數(shù)據(jù)來自哪些具體被試者。本文隨機(jī)抽取符合上述數(shù)量的數(shù)據(jù)作為訓(xùn)練和測(cè)試數(shù)據(jù)。實(shí)驗(yàn)分兩部分:實(shí)驗(yàn)1訓(xùn)練TypeNet II模型,并和Morales提出的模型的分類效果進(jìn)行比較;實(shí)驗(yàn)2用多元多項(xiàng)式模擬TypeNet II模型的決策層,用參與訓(xùn)練TypeNet II模型的10000個(gè)被試者的數(shù)據(jù)學(xué)習(xí)得到多元多項(xiàng)式f1,用未參與模型訓(xùn)練的10000個(gè)被試者的數(shù)據(jù)學(xué)習(xí)得到多元多項(xiàng)式f2, 比較f1和f2的系數(shù)以驗(yàn)證多元多項(xiàng)式回歸的泛化性,最后結(jié)合多元多項(xiàng)式分析比較層與決策層輸出的關(guān)系。實(shí)驗(yàn)代碼的地址為:https://github.com/zcmail/TypeNet_II。 圖3展示了TypeNet II模型訓(xùn)練過程中的訓(xùn)練(train)和驗(yàn)證(val)準(zhǔn)確率。模型輸出小于0.5判定輸入特征序列對(duì)屬于同一人,反之,不屬于同一人。圖4反映表征向量維度為128和64時(shí)模型的準(zhǔn)確率高,維度為3和2時(shí)準(zhǔn)確率低,維度為32時(shí)準(zhǔn)確率最低。表2展示經(jīng)過100個(gè)epoch的訓(xùn)練,采用不同表征向量維度的模型取得的最佳驗(yàn)證準(zhǔn)確率。根據(jù)圖4,本文選擇測(cè)試了表征向量為128和64維的模型的分類效果。測(cè)試時(shí),根據(jù)每個(gè)被試者的特征模板確定分類閾值(不一定是0.5)。表3展示TypeNet II模型和TypeNet模型的分類效果??梢钥闯?,表征向量為128維時(shí),TypeNet II的分類效果超過了目前已知最好的方法(即Morales的方法[1])。 表1 TypeNet II模型的主要超參數(shù) 表2 TypeNet II模型不同表征向量維度對(duì)應(yīng)的最佳訓(xùn)練驗(yàn)證準(zhǔn)確率 表3 模型的分類效果 圖3 TypeNet II模型的訓(xùn)練和驗(yàn)證準(zhǔn)確率 圖4 分類效果隨負(fù)樣本類數(shù)量的變化情況 表4 兩個(gè)表征向量維度下P tr上 多元多項(xiàng)式f 不同自由度對(duì)應(yīng)的R2 表5 兩個(gè)表征向量維度下P tr上多元2階項(xiàng)式嶺回歸結(jié)果 為了驗(yàn)證在Ptr上 訓(xùn)練得到的多元二項(xiàng)式f的泛化能力,本文在Str以外的10000個(gè)被試者的特征序列對(duì)數(shù)據(jù)集Pte上做了同樣的工作,得到的多元2階多項(xiàng)式回歸結(jié)果如表8—表10所示。綜合表6、表7、表9、表10可以得:在Pte上,表征向量為128維的模型的決策層的多元二項(xiàng)式回歸系數(shù)大于0.5的有16項(xiàng)(表9),這16項(xiàng)和Ptr上學(xué)習(xí)得到多元二項(xiàng)式(表6)基本一致。由于多元二項(xiàng)式的項(xiàng)多,逐個(gè)分析難度大,所以本文把比較層的維度分為兩類:把表6的16項(xiàng)對(duì)應(yīng)的維度作主要維度,剩余的為其他維度。同樣地,表征向量為64維的模型的決策層的多元二項(xiàng)式回歸系數(shù)絕對(duì)值大于0.4的有7項(xiàng),除了二次項(xiàng)v18×v19外,這6項(xiàng)和Ptr上學(xué)習(xí)得到回歸式(表7)基本一致,本文把這6項(xiàng)對(duì)應(yīng)的維度作為主要維度。 表6 P tr上表征向量為128維,多元2階多項(xiàng)式系數(shù)絕對(duì)值超過0.5的項(xiàng) 表7 P tr上表征向量為64維,多元2階多項(xiàng)式系數(shù)絕對(duì)值超過0.4的項(xiàng) 表8 兩個(gè)表征向量維度下P te上多項(xiàng)式嶺回歸結(jié)果 表9 P te上表征向量為128維,多元2階多項(xiàng)式系數(shù)絕對(duì)值超過0.5的項(xiàng) 表10 P te上表征向量為64維,多元2階多項(xiàng)式系數(shù)絕對(duì)值超過0.4的項(xiàng) 這里比較分析比較層的主要維度和其他維度對(duì)決策層輸出的影響。圖5和圖6是將Str之外10000個(gè)被試者的特征序列對(duì)分別輸入表征向量維度為128和64的TypeNet II模型得到比較層的數(shù)值的小提琴圖。圖中第1、第3、第5列分別屬于同一人的特征序列對(duì)得到的其他維度、主要維度以及所有維度取值的均值,第2、4、6列分別對(duì)應(yīng)不同人的特征序列對(duì)得到的均值。圖5和圖6表明:(1)屬于同一人的特征序列對(duì)得到的值要低于不同人的特征序列對(duì)得到的值;(2)主要維度取值的均值的分布相對(duì)分散。 圖5 表征向量維度為128的TypeNet II模型得到比較層的數(shù)值的小提琴圖 圖6 表征向量維度為64的TypeNet II模型得到比較層的數(shù)值的小提琴圖 為了進(jìn)一步分析比較層各維度與決策層輸出(相似度量)的關(guān)系,下面選用表征向量維度為64的模型,分析從Str以外的數(shù)據(jù)中抽取2個(gè)被試者(175380, 179773)的樣本對(duì)應(yīng)的特征序列。圖7(a)是相似度量正確的被試者175380的特征序列對(duì)對(duì)應(yīng)的比較層取值,圖7(b)是相似度量錯(cuò)誤的被試者175380的特征序列對(duì)對(duì)應(yīng)的比較層取值,圖7(c)是相似度量正確的被試者175380和其他被試者的特征序列對(duì)應(yīng)的比較層取值。被試者175380的第7和第8個(gè)特征序列對(duì)的 s core超過了0.96,第6和第7個(gè)特征序列對(duì)的 s core超過了0.6,這是兩個(gè)錯(cuò)誤的相似度量。和圖7一樣,圖8是被試者179773的比較層取值情況。圖8(b)展示被試者179773的第5個(gè)特征序列和其他被試者的特征序列的s core為0.08,第14個(gè)特征序列和其他被試者的特征序列的s core為0.16,第1個(gè)特征序列和其他被試者的特征序列的s core為0.23,這是3個(gè)錯(cuò)誤的相似度量。圖7和圖8的橫坐標(biāo)的最后一個(gè)刻度是 s core。對(duì)比圖7(c)和圖8(c),除了取值變化的幅度稍大外,兩者的線型走勢(shì)沒有明顯相似之處,但它們對(duì)應(yīng)的決策層的輸出都超過0.95。圖7(b)相對(duì)于圖7(a)取值的幅度變化稍大一些,和圖7(c)的線型走勢(shì)沒有相似之處,但圖7(b)和圖7(c)對(duì)應(yīng)的決策層的輸出都超過0.6。圖8(b)相對(duì)于圖8(c)取值的幅度變化稍小,和圖8(a)沒有明顯相似之處,但圖8(b)對(duì)應(yīng)的 s core都低于0.5。以上分析表明決策層的輸入和輸出之間是非線性關(guān)系。 另外,圖7和圖8中,比較層的一些維度取值始終是0,例如,v_33, v_53等,還有一些維度取值絕大多數(shù)為0,少許為較小的數(shù)(1e-2),例如v_9,v_62等。其原因是分支輸出的表征向量的這些維度取值為0或者絕大多數(shù)取值為0。 實(shí)驗(yàn)1的結(jié)果表明,和TypeNet模型的分支不同,TypeNet II模型雖然只用了單層LSTM,但分類效果超過了Acien和Morales提出的方法。模型的表征向量維度是128和64維時(shí),分類效果差別不大,當(dāng)維度降到32或更小維度時(shí),分類效果出現(xiàn)了明顯下降。圖7和圖8表明模型的表征向量是64維時(shí),部分表征向量維度沒有提供對(duì)樣本分類有用的信息,表明模型的表征向量維度還可以繼續(xù)壓縮。 圖7 被試者175380的特征序列對(duì)應(yīng)的比較層和模型輸出的可視化 圖8 被試者179773的特征序列對(duì)應(yīng)的比較層和模型輸出的可視化 實(shí)驗(yàn)2的結(jié)果表明TypeNet II模型中,特征序列的表征向量差的絕對(duì)值可以用來判斷特征序列是否屬于同一被試者。比較層和決策層的輸出呈非線性關(guān)系,用多元二項(xiàng)式模擬該關(guān)系可達(dá)到92%以上的準(zhǔn)確率。整體上,多元二項(xiàng)式系數(shù)大的項(xiàng)對(duì)應(yīng)的比較層的維度的取值大于其他維度,且分布較為分散。說明這些維度的值對(duì)決策層的輸出的影響較大。但要注意,多元二項(xiàng)式某項(xiàng)的系數(shù)大并不一定意味著該項(xiàng)對(duì)應(yīng)的維度對(duì)決策層的影響大,因?yàn)橛锌赡茉摼S度值始終為0。 基于孿生網(wǎng)絡(luò)的TypeNet模型采用歐氏距離度量特征向量在表征空間的相似度。由于表征空間每個(gè)維度沒有明確含義而缺乏可解釋性。和TypeNet不同,TypeNet II的分支使用單層LSTM,用多層感知機(jī)度量?jī)蓚€(gè)分支輸出表征向量差的絕對(duì)值體現(xiàn)出來的輸入特征序列的相似度,其分類效果超過了現(xiàn)有方法。用多元二項(xiàng)式模擬TypeNet II模型中的多層感知機(jī),爾后基于多元二項(xiàng)式,可以分析多層感知機(jī)輸入和輸出之間的關(guān)系,對(duì)模型作出的分類判斷進(jìn)行解釋。本文下一步可以做以下幾個(gè)方面的工作:(1)結(jié)合一些特殊的擊鍵事件序列樣本,解釋TypeNet II模型如何消除特征序列的鍵值和長(zhǎng)度差異對(duì)分類的影響;(2)嘗試用在自然語言任務(wù)中取得很大成功的transformer處理特征序列;(3)擊鍵行為特征在一些安全級(jí)別較高的領(lǐng)域得到了應(yīng)用[17],但一般不作為獨(dú)立的身份認(rèn)證或識(shí)別因子[18],可以將其作為基于口令的認(rèn)證密鑰交換協(xié)議[19,20]的安全增強(qiáng),從而降低口令遭受猜測(cè)和字典攻擊的風(fēng)險(xiǎn)。3.1 TypeNet II模型
3.2 決策層的多元多項(xiàng)式回歸
4 實(shí)驗(yàn)及結(jié)果
4.1 實(shí)驗(yàn)1
4.2 實(shí)驗(yàn)2
4.3 結(jié)果分析
5 結(jié)束語