本發(fā)明涉及一種基于知識蒸餾與連寫預訓練的改進transformer的盲漢轉換方法,屬于自然語言處理。
背景技術:
1、作為殘障人群的重要代表,盲人構成了一個龐大的群體。他們的生活健康狀況是“健康中國”倡議亟需關注的焦點之一。我國盲人人數居全球之首,占據全球盲人總數的20%。數字化盲文工作的有效展開將極大地改善盲人的生活品質,增強他們在社會中的融入感。因此,推進盲文數字化工程勢在必行。提升盲文的推廣度和社會認可度是解決之道,使其成為盲人學習的強有力工具。數字化盲文為盲人提供了更加便捷、高效的學習途徑,有助于他們更好地接受教育。此外,數字技術還可以助力盲人更好地融入社會,通過互聯(lián)網等渠道參與各類社交和文化活動??偟膩碚f,致力于盲文數字化工程是促進盲人全面融入社會、提升其生活品質的重要一步?,F今盲漢轉換方法主要分為基于規(guī)則與基于大模型兩類,前者具有準確率不足的缺點,而后者的模型參數量過大,不利于離線搭載于邊緣化設備。因此,如何提升盲漢轉換模型翻譯準確率與降低模型轉換的復雜度已經成為亟待解決的問題。
技術實現思路
1、本發(fā)明的目的是為了提升盲漢轉換模型翻譯準確率與降低模型轉換的復雜度的技術問題,提出一種基于知識蒸餾與連寫預訓練的改進transformer盲漢轉換方法。
2、本發(fā)明的目的是通過以下技術方案實現的:
3、本發(fā)明的一種基于知識蒸餾與連寫預訓練的改進transformer盲漢轉換方法,應用于盲文重構字節(jié)對切分模型中,其中,盲文重構字節(jié)對切分模型包括基于字節(jié)切分的編碼器和基于硬化軟輸出的轉碼器;包括以下步驟:
4、步驟1:利用盲文重構字節(jié)對切分模型對盲漢對照數據集進行數據清洗,從而獲得預訓練集;
5、步驟1.1:將原始盲漢對照數據集的漢語分詞進行拼音化后轉為盲文單元ascii碼的標簽為yj=(y1,y2,...,yn),將處理得到的盲漢對照數據集用于訓練盲文重構字節(jié)對切分模型,并將盲文語句xj=(x1,x2,...,xn)輸入至網絡中,并以flag作為標志符區(qū)分網絡中參與訓練的部分,從而,獲得盲文重構字節(jié)對切分模型。
6、步驟1.2:利用padding(填充占位符)對盲文語句進行最大長度n的數據對齊,并對原始盲文語句采用one-hot編碼,形成盲文句子矩陣;
7、步驟1.3:利用編碼器-轉碼器結構將輸入χ重構為輸出y;將編碼器采用6層transformer-encoder組成的bert定義為te網絡,當flag為0時,將盲文句子輸入至te網絡,并利用公式(1)所示的占位符索引損失函數對te網絡進行迭代訓練,直至達到用戶預設精度將flag至為1;
8、
9、其中,χj=te(xj)為輸入χ通過編碼器后所得輸出,λ為平衡參數;代表計算矩陣第一列元素的加權求和,φ(xj)代表檢索χj矩陣,當某一行的第一列元素值最大時,將該行插入xj的對應位置,用于保證兩個矩陣維數一致。
10、步驟1.4:將轉碼器網絡采用6層transformer-decoder組成定義為td網絡,并將te網絡與td網絡所串聯(lián)的網絡定義為te-td網絡;當flag為1時,將盲文句子輸入至te-td網絡中,并利用公式(2)所示的基于硬值軟輸出下的漢明損失函數對te-td網絡進行迭代訓練,直至達到用戶預設精度結束訓練;將te網絡作為最終的字節(jié)對切分模型;
11、
12、其中,||·||h表示增強網絡的決斷力的漢明距離,μ與v表示平衡網絡學習權重的正則化參數,γ(·)函數定義如式(3)所示,用于將軟標簽硬值化;
13、
14、步驟1.5:從訓練集中提取盲文句子形成如(4)所示的xi,通過字節(jié)對切分模型所獲得的標簽將xi中的每一個詞實現字節(jié)對的切分形式構造如式(5)所示的預訓練集;
15、
16、其中,m為句子最大長度,不足部分用padding補齊;
17、步驟2:利用相對距離掩碼映射構建編碼器模型,將編碼器模型定義為由用戶指定數量的改進encoder模塊串聯(lián)組成,將每個encoder模塊定義為包含相對距離掩碼注意力網絡及可學習參數殘差前饋網絡;利用知識蒸餾方法將步驟1所述預訓練集傳至編碼器模型進行預訓練。
18、步驟2.1:采用如式(6)所示的相對距離掩碼注意力模塊獲得如式(7)所示的中間向量;
19、
20、其中,x={x1,x2,...,xn},為哈達瑪乘積;attention(q,k,v)編碼矩陣行向量間的關系權重,賦予網絡雙向關注盲文信息能力,ψ(xtx)=[aij],ψ(·)表示相對距離映射函數表示為標點信息掩碼矩陣,定義如式(8)所示,punlist為標點符號表,將x通過此處掩碼是為了屏蔽padding部分與標點符號對注意力分數的影響;
21、
22、步驟2.2:將如式(7)所示的中間向量接入如式(9)所示的分組前饋連接網絡對注意力分數進行編碼整合;
23、
24、其中,g為自定義超參數分組數,m為batch數。split函數用于將拆分為g個向量,concat函數用于將g個向量合并為一個向量。
25、步驟2.3:利用如式(10)所示的殘差方法構建可學習參數殘差連接模塊;通過超參數調節(jié)殘差上下界,并通過迭代動態(tài)平衡連接權重用于保護盲文編碼信息;
26、
27、其中,χk與分別為步驟2.2與2.1的向量,φ(input)表示注意力層及分組前饋層所代表的廣義函數,γ1與γ2分別為可學習參數,u與s為用戶自定義超參數,u為上界,s為下界;
28、步驟2.4:將步驟1所述的盲文重構字節(jié)對切分模型作為教師模型定義為tn(·)。將步驟2所述的編碼器作為學生模型定義為sn(·),采用如式(11)所示的知識蒸餾方法對學生模型采用如式(12)所示的非均勻交叉蒸餾損失函數進行知識蒸餾預訓練;
29、
30、其中,t為用戶預設蒸餾溫度。w的維度為v×vcb_size,vcb_size為根據訓練集創(chuàng)造的詞典大小,w用于將學生模型輸出轉換為維度為vcb_size的概率分布;α1與α2均為平衡因子,α1表示為硬標簽損失,α2用于防止輸出概率密度趨于均勻分布;
31、步驟3:構建基于雙向篩選注意力集中網絡的解碼器,將步驟1和步驟2預訓練完畢的編碼器與解碼器進行串聯(lián)形成改進transformer網絡;并采用自定義范數損失函數及盲漢對照數據集對改進transformer網絡進行迭代訓練,直至達到用戶預設精度;
32、步驟3.1:對步驟2所述的知識蒸餾結束的編碼器學生模型參數進行保存;并將輸入盲文句子定義為如式(13)所示的xi,將編碼器輸出定義為如式(14)所示的其中i表示盲漢訓練集中的第i句話;
33、
34、步驟3.2:構建解碼器,用于將盲文句子xi和編碼器輸出所對應的正確中文翻譯為如式(15)所示的將作為解碼器輸入至如式(16)所示的相對距離掩碼注意力模塊得到如式(17)所示的注意力分數矩陣用于捕捉xi中詞向量間依存權重關系的注意力向量;
35、
36、其中,為哈達瑪乘積,mask為下三角屏蔽矩陣用于在訓練過程中屏蔽未來信息,對mask定義如式(18)所示,ψ為相對距離映射函數,
37、步驟3.3:利用式(19)所示的分組線性變換殘差連接模塊進行整合編碼,形成如式(20)所示的li;
38、
39、其中,bnγ,β為批歸一化操作;
40、
41、步驟3.4:將編碼器輸出與li通過雙向篩選注意力集中網絡進行融合,進一步的利用式(21)和式(22)將注意力分布于稀疏的矩陣用于獲得最大權重max(γ1,γ2),從而,增強網絡決斷力,并利用式(23)獲得松緊度值;
42、
43、其中,γ1,γ2為可學習參數,為篩選函數定義如式(22)所示;
44、
45、θ函數定義如(23)所示;
46、
47、其中,θ(m)為矩陣元素松緊度函數,計算得到的松緊度值越大,代表該矩陣元素經softmax函數作用后的注意力權重分布將更稀疏;
48、步驟3.5:利用松緊度值作為輸入通過式(24)得到如式(25)所示的預測向量
49、
50、其中,k代表第i句話中的第k個詞預測為詞匯表中索引為v的字的概率,選取最大概率的預測字作為網絡翻譯的中文句子的第·個字,從而實現翻譯;
51、步驟3.6:利用如式(26)所示的自定義范數損失函數對預測向量和范化后進行學習;
52、
53、其中,||·||f為frobenius范數,||·||p為ιp范數,κ為正則超參數,用于增強網絡決斷力,避免輸出趨于均勻分布;
54、有益效果:
55、本發(fā)明的一種基于知識蒸餾與連寫預訓練的改進transformer的盲漢轉換方法基于盲文重構的字節(jié)對切分模型,采用逆信息重構網絡,無需單獨構建數據集。由于本模型基于神經網絡的,因此能夠基于抽象特征提取實現切分,克服傳統(tǒng)bpe切分網絡過于依賴語料庫分布以及需要人工調節(jié)切分次數的問題。
56、本發(fā)明的一種基于知識蒸餾與連寫預訓練的改進transformer的盲漢轉換方法基于相對距離掩碼映射的預訓練網絡,相對距離映射模塊在attention矩陣計算中引入了相對距離權重。由于盲文與漢文具有相同的語序,因此傳統(tǒng)attention矩陣嵌入絕對距離向量的方法會將網絡注意力分散到不必要的復雜語義關系中,而忽略了同一詞單元內的音節(jié)建模問題。相對距離權重能夠迫使網絡關注更鄰近的token,從而使得網絡更關注來自同一盲文連寫單元的詞匯。不同于傳統(tǒng)殘差連接,基于上下界的可學習參數殘差連接可由用戶自定義超參數避免無窮大問題,同時可由網絡動態(tài)平衡殘差權重以保護淺層或深層信息。
57、本發(fā)明的一種基于知識蒸餾與連寫預訓練的改進transformer的盲漢轉換方法基于連寫信息還原的網絡預訓練步驟,傳統(tǒng)預訓練步驟可以幫助網絡快速建模語義信息,但是無法幫助網絡學習盲文連寫規(guī)則,本預訓練步驟對于盲漢轉換任務具有更強的針對性。利用雙向篩選注意力集中網絡融合編碼器與解碼器輸出,相比一般注意力分數計算模塊能夠賦予矩陣元素更集中的鍵值對更大的權值,從而集中網絡注意力。并利用自定義范數損失函數,本損失的正則項能夠由用戶自定義p范數,避免網絡輸出趨于均勻分布,從而增強網絡決斷力。從而,有效提升盲漢轉換模型翻譯準確率與降低模型轉換的復雜度。