摘 要:本研究以BERT語言模型為基礎(chǔ),構(gòu)建統(tǒng)一架構(gòu)的語言模型,并通過數(shù)據(jù)預(yù)處理提升了輸入文本的質(zhì)量和一致性。在參數(shù)設(shè)定和模型消融實驗的過程中,詳細規(guī)劃了試驗參數(shù),并融入了交叉驗證、對抗訓(xùn)練及梯度懲罰等技術(shù),以期優(yōu)化模型性能。在利用基線模型對結(jié)果進行深入分析后發(fā)現(xiàn),本文所提方法提高了問題識別的準確性和效率。綜上所述,Transformer技術(shù)在通信領(lǐng)域的問題識別中應(yīng)用廣泛,為實際場景提供了更高效的解決方案,推動通信技術(shù)的發(fā)展。
關(guān)鍵詞:Transformer技術(shù);基線模型;數(shù)據(jù)預(yù)處理
中圖分類號:TP 751" " " " " 文獻標志碼:A
在現(xiàn)代通信領(lǐng)域,信息傳輸以及處理技術(shù)不斷發(fā)展,以應(yīng)對不斷增長的數(shù)據(jù)流量需求。Transformer技術(shù)是一種基于自注意力機制的深度學(xué)習(xí)模型,已經(jīng)在自然語言處理(Natural Language Processing,NLP)領(lǐng)域取得了明顯突破。其架構(gòu)獨特,能夠高效地處理長序列數(shù)據(jù),并捕捉復(fù)雜的上下文關(guān)系,在各種應(yīng)用中使用效果良好。在傳統(tǒng)通信系統(tǒng)中,數(shù)據(jù)處理通常采用規(guī)則驅(qū)動的算法以及傳統(tǒng)的統(tǒng)計方法,當處于復(fù)雜的網(wǎng)絡(luò)環(huán)境中并面對動態(tài)變化時,這些方法具有一定局限性。Transformer的自注意力機制能夠在長序列中捕捉全局信息,因此其適合用于處理通信數(shù)據(jù)中的時序信息。游雪兒等[1]提出了一種深度嵌套式Transformer網(wǎng)絡(luò),采用高光譜圖像空譜解混方法,顯示了Transformer在處理復(fù)雜圖像方面的潛力。周舟等[2]研究基于連續(xù)小波變換(Continuous Wavelet Transform,CWT)以及優(yōu)化Swin Transformer的風(fēng)電齒輪箱故障診斷方法,結(jié)合CWT與Swin Transformer優(yōu)化模型,提高了故障診斷的精確性,進一步證明了Transformer在動態(tài)系統(tǒng)分析中的有效性。
1 模型介紹
1.1 BERT語言模型
在本次研究中,利用BERT的預(yù)訓(xùn)練模型結(jié)構(gòu),對任務(wù)進行微調(diào)來訓(xùn)練一個特定領(lǐng)域的文本分類器。在微調(diào)階段,傳入相關(guān)的通信文本數(shù)據(jù)標簽后,BERT能夠?qū)⑽谋居成渲琳_的分類標簽,自動化處理、分類大量的通信數(shù)據(jù)。 在預(yù)訓(xùn)練階段,BERT利用大規(guī)模文本語料庫學(xué)習(xí)了語言的復(fù)雜關(guān)系以及上下文信息,當應(yīng)用于異常檢測時,BERT可以接受網(wǎng)絡(luò)日志、報警信息或傳感器數(shù)據(jù)作為輸入,學(xué)習(xí)區(qū)分正常/異常的通信模式(BERT結(jié)構(gòu)示例如圖1所示)。
BERT模型的輸入由標記嵌入(Token Embedding)、片段嵌入(Segment Embedding)和位置嵌入(Position Embedding)3個部分組成。其中,Token Embedding代表每個token的詞向量;Segment Embedding用于區(qū)分不同的句子或段落;Position Embedding則幫助模型理解每個token在輸入序列中的具體位置信息。這種輸入結(jié)構(gòu)設(shè)計使BERT能夠有效處理長文本序列,并準確捕捉文本中的復(fù)雜語義和上下文關(guān)系。
1.2 統(tǒng)一語言模型結(jié)構(gòu)
本文利用3種不同的語言模型目標函數(shù)共同學(xué)習(xí)1個Transformer網(wǎng)絡(luò)。1)雙向語言模型(Bidirectional Language Model,BiLM)目標函數(shù)。該模型的作用是捕捉文本中前后文的關(guān)系,理解整個文本序列的上下文信息。2)單向語言模型(Unidirectional Language Model,UniLM )目標函數(shù)。該模型只利用左側(cè)上下文進行預(yù)測,其作用是處理那些未來信息不可見的任務(wù)。3)序列至序列語言模型目標函數(shù)。該模型處理生成式任務(wù),例如機器翻譯或文本摘要,模型需要學(xué)習(xí)將輸入序列映射至輸出序列的能力。多目標函數(shù)的設(shè)計使UniLM在通信領(lǐng)域中能夠適應(yīng)不同的任務(wù)需求,包括信息提取、文本分類和序列生成等。UniLM由多層Transformer編碼器單元組成。每個編碼器單元利用多頭自注意力機制與前饋神經(jīng)網(wǎng)絡(luò)層處理輸入文本序列,逐步提取特征以及上下文表示。這些編碼器單元允許UniLM在不同的任務(wù)、輸入設(shè)置條件下學(xué)習(xí)不同層次的語義表示,滿足在通信領(lǐng)域中多樣化的數(shù)據(jù)處理需求。
2 模型構(gòu)建與文本輸出方式
2.1 模型構(gòu)建
本文利用Transformer架構(gòu),構(gòu)建了采用經(jīng)典“編碼器-解碼器”結(jié)構(gòu)的模型。此模型將輸入文本編碼為一系列上下文感知的特征向量,并根據(jù)編碼器的輸出生成自然語言問題作為目標文本。在具體實踐中,引入多頭自注意力機制,允許模型并行關(guān)注輸入文本的不同部分,以捕捉不同層次的語義信息。在該機制的自注意力層計算輸入序列中,各token與其他tokens之間的關(guān)系,生成注意力權(quán)重矩陣。同時,將自注意力機制的輸出分成多個頭,每個頭獨立進行注意力計算,然后將結(jié)果進行拼接,經(jīng)過線性變換得到最終輸出。其代碼片段如下。
class MultiHeadAttention(nn.Module):
def __init__(self, d_model,nhead):
super(MultiHeadAttention,self).__init__()
self.nhead = nhead
self.d_model = d_model
self.dk = d_model // nhead
self.q_linear = nn.Linear(d_model, d_model)
self.k_linear = nn.Linear(d_model, d_model)
self.v_linear = nn.Linear(d_model, d_model)
self.out_linear = nn.Linear(d_model, d_model)
def forward(self,query, key,value, mask=None):
bs = query.size(0)
q = self.q_linear(query).view(bs,-1,self.nhead,self.dk).transpose(1,2)
k = self.k_linear(key).view(bs,-1,self.nhead,self.dk).transpose(1,2)
v = self.v_linear(value).view(bs,-1,self.nhead,self.dk).transpose(1,2)
scores = torch.matmul(q,k.transpose(-2,-1))/ (self.dk ** 0.5)
if mask is not None:
scores = scores.masked_fill(mask == 0,-1e9)
attn = F.softmax(scores,dim=-1)
out = torch.matmul(attn,v)
out = out.transpose(1,2).contiguous().view(bs,-1,self.d_model)
out = self.out_linear(out)
return out
在代碼片段中,query.size(0)表示每次前向傳播所處理的樣本數(shù)量。通過線性變換,將輸入的query、key和value映射到d_model維度,隨后將映射結(jié)果重塑為形狀(bs,nhead,seq_len,dk),其中seq_len代表序列的長度。此步驟將每個token的表示劃分為多個頭,并為每個頭分配一個dk維度的表示。在進行注意力分數(shù)計算的過程中,先計算query與key之間的點積,再除以self.dk ** 0.5進行縮放,以避免數(shù)值過大。如果提供了用于掩蓋掉不需要關(guān)注的部分,那么將mask值為0的位置設(shè)置為非常小的值,以保證在Softmax計算過程中,這些位置的注意力權(quán)重非常接近0。
2.2 數(shù)據(jù)預(yù)處理
當處理文本數(shù)據(jù)時,空白字符(例如多余的空格、制表符以及換行符等)可能會干擾模型訓(xùn)練,導(dǎo)致模型學(xué)到錯誤的模式。在本次研究中,采用自動識別方法剔除不必要的空白字符,使文本數(shù)據(jù)更規(guī)范,減少噪聲對模型訓(xùn)練的干擾。在篇章文本處理方面,由于篇章文本通常較長,因此為了提取與答案直接相關(guān)的上下文信息,本文采用了基于答案位置的截取策略[3],從答案位置向前截取65個字符,向后截取65個字符,得到一個包括答案上下文信息的130個字符的文本片段。這種方法使模型能夠更好地捕捉問題與答案之間的關(guān)聯(lián),強化模型的訓(xùn)練效果。在答案文本處理方面,為了保留關(guān)鍵信息并提高模型的訓(xùn)練效率,本文將答案文本的長度統(tǒng)一截斷為47個字符。這種截斷策略既能夠保證答案信息的完整性,又能夠減輕模型在處理文本過程中的計算負擔(dān),加快訓(xùn)練速度。
2.3 文本輸出方式
在本次研究中,引入Beam Search算法進行文本輸出,該算法是一種能夠生成序列的啟發(fā)式搜索算法,常用于自然語言處理模型的解碼與預(yù)測任務(wù)中。文本輸出的主要目標是在給定的搜索空間內(nèi)找到最優(yōu)的序列輸出。算法基于貪婪搜索策略在每個步驟擴展多個候選項,提高生成序列的準確性。由于貪婪搜索策略每一步都選擇在當前狀態(tài)中得分最高的單一候選項,只關(guān)注當前最優(yōu)狀態(tài),忽略其他可能的優(yōu)質(zhì)序列,因此可能導(dǎo)致陷入局部最優(yōu)解。此外,算法擴展了貪婪搜索策略的搜索空間,在每一步,其不僅選擇一個候選項,還選擇前k個得分最高的候選項,這些候選項形成了“束”(beam),使算法能夠在多個候選序列中進行探索,增加找到全局最優(yōu)解的可能性。在每一步,算法會計算每個候選序列的得分。得分通常是對模型輸出的概率分布進行計算,概率分布由Softmax函數(shù)生成。在計算所有可能的候選狀態(tài)的得分后,算法會選擇得分最高的k個候選序列,這個k值稱為Beam Size。
從起始標記開始解碼,模型根據(jù)當前狀態(tài)生成候選token集合,并計算這些token的得分。利用Softmax函數(shù)將生成token的原始得分轉(zhuǎn)換為概率分布。概率值的作用是選擇候選token的優(yōu)先級,其計算過程如公式(1)所示。
(1)
式中:P(yi)為Softmax函數(shù)計算得到的第i類別的預(yù)測概率,表示模型判斷給定輸入樣本屬于第i類別的概率;ezi為第i個類別的預(yù)測分數(shù)的指數(shù)值;j=1為當對所有類別的得分進行累加時,求和的起始索引,即j從1開始遍歷所有類別,直至n類別;n為類別總數(shù);ezj為第j個類別的預(yù)測分數(shù),為對所有類別的指數(shù)值的總和。
在具體應(yīng)用中,利用公式(1)計算每個類別的指數(shù)值,計算輸入向量中的每個元素zi的指數(shù)值ezi,使所有邏輯值(Logits)轉(zhuǎn)換為正值,并放大較大Logits的影響。對所有類別的ezj進行求和,得到分母部分[4]。這個步驟保證了概率分布的歸一化,將每個類別的ezi除以總和,得到每個類別的概率P(yi)。
利用Softmax函數(shù)得到候選token的優(yōu)先級,算法重復(fù)選擇得分最高的k個候選序列,擴展到下一個步驟。這個過程持續(xù)進行,直至達到預(yù)定義的搜索深度或找到符合終止條件的目標序列(如圖2所示)。
在初始階段,顯示起始符號以及與之相關(guān)的候選token及其通過Softmax函數(shù)計算得到的概率。引入Softmax函數(shù)將原始的預(yù)測分數(shù)轉(zhuǎn)換為概率分布,使所有候選token的概率之和為1。這些概率反映出每個候選token在當前序列位置上的優(yōu)先級。在每一步選擇中,算法都會從當前的所有可能擴展中選擇得分最高的k個序列。這些序列將被“擴展”到下一步,即在每個序列的末尾添加一個新的token以及它們各自的得分和新增的token。該算法持續(xù)運行直到達到預(yù)定義的搜索深度,即序列的最大長度。最后,算法最終選擇的幾個最高得分的序列。這些序列是Beam Search算法認為最有可能或最優(yōu)的輸出。
3 問題生成結(jié)果與分析
3.1 基線模型
為了更準確地評估Transformer技術(shù)在問題生成過程中的表現(xiàn),研究人員選擇3種典型的SOTA基準模型。Softmax 函數(shù)計算示例見表1。
3.1.1 RoBERTa-wwm-ext
該模型能夠有效捕捉上下文信息,適用于文本分類與問題識別任務(wù)。將包括客戶服務(wù)記錄、故障報告等各種與通信有統(tǒng)計學(xué)意義的文本數(shù)據(jù)導(dǎo)入RoBERTa-wwm-ext模型,設(shè)置了“分類任務(wù)”“文本識別任務(wù)”并評估該模型的準確率、精確率、召回率以及F1-score。
3.1.2 隨機交叉驗證+Our Model
隨機交叉驗證模型將數(shù)據(jù)集隨機分成多個子集,輪流使用每個子集作為驗證集,剩余部分作為訓(xùn)練集,獲得模型的穩(wěn)健性評估。在本次研究中,將RoBERTa-wwm-ext模型的數(shù)據(jù)集導(dǎo)入隨機交叉驗證+Our Model模型,設(shè)置了“問題識別”任務(wù),評估指標不變。
3.1.3 隨機交叉驗證+對抗訓(xùn)練+梯度懲罰+Our Model
在訓(xùn)練過程中,該模型采用增強模型魯棒性的技術(shù),引入對抗樣本,使模型具有更強的泛化能力。在這個基礎(chǔ)上,結(jié)合梯度懲罰機制來提高模型的穩(wěn)定性,對梯度進行約束以避免模型過擬合。導(dǎo)入該模型的數(shù)據(jù)集,數(shù)據(jù)集中包括噪聲以及復(fù)雜模式的通信文本數(shù)據(jù)。模型的主要任務(wù)是進行“問題識別”,即分析充滿各種干擾的通信記錄,并找出問題。
3.2 評估結(jié)果分析
在設(shè)置模型以及試驗任務(wù)后,進行測試,并詳細記錄上述3種模型的測試結(jié)果,BLEU 評估結(jié)果見表2。
由表2可知,隨機交叉驗證+對抗訓(xùn)練+梯度懲罰+Our Model的BLEU評分指標比其他2個模型更優(yōu)秀。模型引入對抗樣本,對梯度進行約束,學(xué)習(xí)了更精細的語義表示,因此在訓(xùn)練過程中,模型魯棒性更高,泛化能力更強,避免了過擬合,能夠更好地處理復(fù)雜的輸入,提高了生成文本的準確性和BLEU分數(shù)。
BLEU-3、BLEU-4分數(shù)提高,說明經(jīng)過這些優(yōu)化后,模型能夠更好地捕捉深層次的語義信息,在詞匯方面的匹配程度更好,短語的上下文一致性更高,因此在BLEU評分中表現(xiàn)更好。
4 結(jié)論
在本次研究中,本文基于Transformer架構(gòu)構(gòu)建統(tǒng)一的語言模型結(jié)構(gòu)、精細的數(shù)據(jù)預(yù)處理以及優(yōu)化的文本輸出方式,進一步提升了問題識別的準確性。經(jīng)過本次研究,得到以下3個結(jié)論。1)BERT模型的雙向上下文理解能力顯著提升了在通信領(lǐng)域中問題識別的準確性,其語義表示能力強,提高了文本分類以及問題識別的效率。2)利用精細的數(shù)據(jù)預(yù)處理,模型在訓(xùn)練與評估階段的穩(wěn)定性更高。采取有效的預(yù)處理措施減少了噪聲數(shù)據(jù)的干擾,使BERT模型能夠更準確地提取關(guān)鍵信息。3)基于對抗訓(xùn)練以及梯度懲罰的模型優(yōu)化措施顯著提升了模型的泛化能力與魯棒性。這些優(yōu)化方法使模型在處理復(fù)雜與噪聲數(shù)據(jù)的過程中保持了更高的準確性,并且有效地挖掘了深層次的語義信息,提升了最終的BLEU評估效果。
參考文獻
[1]游雪兒,蘇遠超,蔣夢瑩,等.深度嵌套式Transformer網(wǎng)絡(luò)的高光譜圖像空譜解混方法[J].中國圖象圖形學(xué)報,2024,29(8):2220-2235.
[2]周舟,陳捷,吳明明.基于CWT和優(yōu)化Swin Transformer的風(fēng)電齒輪箱故障診斷方法[J].振動與沖擊,2024,43(15):200-208.
[3]文津,蔣凱元,韓禹洋,等.基于Transformer與圖卷積網(wǎng)絡(luò)的行為沖突檢測模型[J].信息安全研究,2024,10(8):729-737.
[4]胡帥,高峰,龔卓然,等.基于Transformer和通道混合并行卷積的高光譜圖像去噪[J].中國圖象圖形學(xué)報,2024,29(7):2063-2074.
[5]苑玉彬,吳一全.基于Transformer的無人機多目標跟蹤算法研究[J].兵器裝備工程學(xué)報,2024,45(7):11-18.