国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于多任務學習的方言語種識別

2019-12-18 07:22秦晨光趙子鑫
計算機研究與發(fā)展 2019年12期
關鍵詞:多任務語種方言

秦晨光 王 海 任 杰 鄭 杰 袁 璐 趙子鑫

1(西北大學信息科學與技術學院 西安 710127)2(陜西師范大學計算機學院 西安 710119)(qcgnwu@stumail.nwu.edu.cn)

聯(lián)合國教科文組織統(tǒng)計,世界上1/3的語言面臨消亡,每2周就消失1種,我國現存方言80余種,方言語種保護迫在眉睫.因此,研究方言語音,對保護、利用方言,推進方言類智能應用程序的發(fā)展,如微軟小娜(Cortana)、小米小愛等,都有重要意義.隨著深度學習神經網絡技術在語音識別領域的廣泛應用[1-3],本文從方言語種識別角度切入,解決方言研究的首要問題.

本文的主要貢獻有3個方面:

1)設計基于LSTM的單任務方言語種識別模型,并通過調參優(yōu)化該單任務模型的表現性能;

2)提出基于參數軟共享的多語種任務方言語種識別模型和基于參數硬共享的輔助任務方言語種識別模型;

3)通過多任務學習聯(lián)合訓練神經網絡,驗證了本文提出的這2種多任務學習模型相較于單任務方言語種識別模型將方言語種識別準確率提高了5%左右.

1 相關工作

方言作為一種語音信號是語音識別、自然語言處理的一個重要分支[4],其主流研究方法從隱Markov模型到基于深度學習模型的應用.如今,深度學習神經網絡在語音識別領域被廣泛應用,并取得了顯著的效果[3].在此基礎上不斷優(yōu)化神經網絡模型的推理結果是語音識別研究的重要目標,文獻[5]對經典的深度模型進行壓縮和裁剪,優(yōu)化了模型在移動端的尺寸和推理時間.除此之外,改變神經網絡結構、改進建模策略、調整模型訓練參數等方法都能提升深度神經網絡的模型效果[6].方言語種識別作為方言研究工作的首要環(huán)節(jié),沒有方言語種識別作為基礎研究保障,方言翻譯、方言轉寫、方言識別等工作就無法順利進行[7].因此,提高方言語種識別準確率,優(yōu)化方言語種識別神經網絡是語音識別研究的關鍵環(huán)節(jié).文獻[8]運用多任務學習提高自然語言處理模型的泛化能力,并取得了一定的效果,但目前尚未在方言語種識別任務中進行應用.

語音音頻是與說話人時間相關的一串音頻序列,已有研究方法基于循環(huán)神經網絡(recurrent neural networks,RNN),長短期記憶網絡(long short-term memory network,LSTM)解決與之相關的研究問題[9].本文首先應用LSTM網絡構建方言語種識別單任務模型,通過調整參數(如學習率、網絡層數、神經元數目)優(yōu)化模型效果.進一步,本文考慮到不同地域的方言語種存在信息相關性,而多任務學習神經網絡可以充分利用多個相關任務的相關領域信息[10],具體提出了2種基于多任務學習的方言語種識別方法,分別是基于參數軟共享[11]的多語種任務方言語種識別方法,以及基于參數硬共享方式[12]的方言區(qū)域任務為輔助任務的方言語種識別方法.在神經網絡的后向傳播過程中通過共享層共享不同任務之間的隱藏信息,通過聯(lián)合訓練提高模型識別方言語種的準確率.

2 單任務方言語種識別模型

神經網絡模型的構建涉及數據采集、特征提取、搭建神經網絡、訓練模型以及推理測試模型效果.本文所用數據采用了科大訊飛AI挑戰(zhàn)大賽提供的方言數據集.

2.1 特征處理

語音識別研究通常提取MFCC[13](mel-frequency cepstral coefficients)和Fbank[14](filter bank)特征.如圖1所示,Fbank比MFCC少了一步離散余弦變換(DCT),因此具有更多的原始信息.所以本文針對方言音頻,選擇提取40維Fbank特征,并以此作為神經網絡模型的輸入.應用深度學習框架pytorch,將數據處理成[data,label](數據及其對應的標簽),方便進行數據批訓練.

Fig.1 The feature extraction of MFCC and Fbank圖1 MFCC和Fbank特征提取對比圖

2.2 單任務LSTM網絡模型

2.2.1 單任務方言語種識別模型

基于方言音頻的時間序列特性,本文結合神經網絡已有研究成果,首先搭建了1個基于LSTM模型的單任務神經網絡(single-task language network,SLNet).該模型由5層神經網絡構成,網絡結構如圖2所示:

Fig.2 Single task neural network SLNet圖2 單任務神經網絡SLNet

SLNet具體包含:輸入層、LSTM層、全連接層1、全連接層2以及輸出層.搭建SLNet神經網絡模型流程為:

1)對原始音頻數據進行特征提取(如2.1節(jié)所示),并將數據整理為[data,label]格式,輸入到單任務方言語種識別模型SLNet中.

2)依次通過pytorch封裝好的LSTM層和2層全連接層.

3)通過神經網絡的前向傳播過程更新網絡的權重.

4)利用softmax函數運算,計算樣本分屬每一類的概率:

(1)

其中,softmaxj表示分類到第j類的概率,k表示一共有多少類,cj,ci分別表示每個張量的值.由于softmax比較適合機器學習分類問題,因此定義此處所計算的softmax損失為該單任務語種識別模型的損失函數loss,其計算方法:

loss=-lnsoftmaxj.

(2)

5)通過神經網絡迭代訓練,以降低損失函數值,記錄并觀察迭代周期和訓練輪次,直至loss收斂.

6)保存每次迭代訓練的模型,比較預測標簽與樣本原始標簽的差異,計算在訓練集和驗證集的語種識別正確率.

7)加載訓練好的模型,對測試集進行分類預測,觀察并記錄該模型在測試集上的表現效果.

2.2.2 SLNet模型優(yōu)化

進一步,從全連接層數維度、神經元數目、學習率等方面對SLNet模型進行優(yōu)化.具體方法為

① 全連接層數.依次增加全連接層的層數由2層到8層.

② 神經元數目.隱藏層神經元由128增加到4 096.

③ 學習率.改變學習率從0.01,0.02,…,0.1.

本文采用控制變量法,在改變一類參數的時候,保持其他參數變量不變.針對改變的參數,重新訓練神經網絡并考量更新后的網絡表現性能.具體實驗結果將在4.1節(jié)展示.

3 2種多任務方言語種識別模型

多任務學習(multi-task learning,MTL)在語音識別和計算機視覺等領域取得了很大的成功,MTL通過共享多個任務之間的關聯(lián)性信息來提升模型效果.本文基于多任務學習策略,分別提出了基于多語種任務的方言語種識別模型和基于方言區(qū)域任務為輔助任務[15-16]的方言語種識別模型.

3.1 多語種任務方言語種識別

不同種屬的方言音頻信號在音素、語音、語法、語調、詞匯等方面有很大的差異但同時也存在一定程度的相似性.而這些隱含的相似信息往往與文化特征有著密切的聯(lián)系,對方言語種種屬分類準確率的提升提供了額外的輔助功能.因此,利用多任務學習的參數共享機制[17-18],通過神經網絡模型讓不同種屬方言在一定程度上關注到彼此的隱含相關特性.挖掘并利用此類信息對于優(yōu)化單任務網絡的模型效果有很大的幫助.

本文將識別每種方言作為一個單獨的任務,考慮到不同任務之間在種屬、來源、音調等特性是任務相關的,進而依據多任務學習方法搭建相應的多任務學習神經網絡.

根據上述思路設計了一種基于多語種任務的方言語種識別神經網絡(multi-task language network,MTLNet),其模型框架如圖3所示:

Fig.3 Multilingual dialect language recognition model MTLNet圖3 MTLNet多語種方言語種識別模型

MTLNet包含n個子任務,將識別每種方言定義為一個單獨的任務,n個任務依次定義為Task1,Task2,…,Taskn.第2節(jié)所述的最優(yōu)單任務方言語種識別網絡作為搭建多任務學習網絡的基線網絡,以此基線網絡的模型結構作為每個單獨子任務的模型.每個任務會有一個子任務的輸出,在多任務網絡MTLNet的最后將多個子任務的預測結果輸入到同一個隱藏層里,通過隱層的參數軟共享計算所有子任務loss平均值lossavg,根據神經網絡的反饋機制更新權值參數,多次的迭代訓練不斷地降低網絡lossavg,讓網絡具有更好的學習能力,能夠有更好的表現性能.lossavg計算方式:

(3)

其中,LTi表示任務i的損失loss值,n表示任務總數即方言數目.

在MTLNet中,從單任務中提取Fbank特征,輸入到該任務的LSTM模型中,并輸出對應的loss.方言語種與MTLNet任務的對應關系如表1所示.

將10個單任務模型的loss輸入到共享隱藏層中,如圖3所示的Sheared Layer.經過共享層實現參數共享,聯(lián)合訓練多個任務,將lossavg通過SGD優(yōu)化器,反向傳播更新梯度參數,不斷迭代訓練直至神經網絡收斂.

通過分類準確率acc對模型效果進行評估,分類準確率等于分類正確的方言個數與總方言個數的比值.在單任務模型中,單任務分類準確率accs計算方法:

(4)

其中,r表示分類正確的方言條數,A表示總的方言數目.

Table 1 Correspondence Between Dialect Language and Task表1 方言語種與任務的對應關系表

多任務方言識別模型中計算多任務方言分類準確率accm的方法:

(5)

其中,rti表示識別任務i類語種的正確個數,Ati表示任務i類方言音頻的總個數,n表示任務個數.

3.2 區(qū)域輔助任務方言語種識別

中國方言根據地域屬性可以劃分為七大方言區(qū)域,分別是:官話方言、客家方言、湘方言、吳方言、粵方言、閩方言和贛方言.不同區(qū)域的方言會有各自的特點,彼此之間也會有交叉聯(lián)系.例如數目較多的官話方言具有輔音韻尾比較少、語調數目較少等特點;湘方言具有元音鼻化等特點;而官話方言和湘方言在詞匯方面又基本大同小異.

本文以識別方言區(qū)域作為輔助任務,為主任務方言語種識別提供隱含信息,采用基于參數硬共享的多任務學習模式,構建基于輔助任務的多任務學習神經網絡(auxiliary-task language network,ATLNet).多任務學習參數硬共享指的是多個任務具有共同的數據來源和網絡輸入,且多個任務之間共享隱藏層信息,整個網絡聯(lián)合訓練所有任務的損失值.最后通過每個任務的輸出結果評估ATLNet的表現效果.

根據方言所屬區(qū)域,為不同方言數據打上區(qū)域標簽.方言種類與方言區(qū)域對應關系如表2所示:

Table 2 Label of the Dialect Area表2 方言區(qū)域標簽表

Fig.4 Auxiliary task model ATLNet圖4 輔助任務模型ATLNet

主任務方言語種識別任務和輔助任務方言區(qū)域識別任務采用相同的數據來源及特征提取方法.本文設計ATLNet網絡結構如圖4所示:

輔助任務方言語種識別網絡從上到下依次是輸入層、LSTM層、全連接層、共享層和輸出層,在輸入層的兩側分別表示主任務和輔助任務的標簽信息輸入.按照模型信息流依次執(zhí)行,在共享層實現參數硬共享,分別計算主任務和輔助任務的損失,分別定義主任務lossm和輔助任務lossa.然后對2個任務的loss值求和:

losssum=lossm+lossa.

(6)

通過聯(lián)合losssum對網絡進行反向傳播和梯度更新.最后,執(zhí)行訓練腳本訓練多任務神經網絡并保存模型.

4 實驗分析

本文實驗硬件平臺為安裝有NVIDIA GTX 1060的高性能服務器,運行Ubuntu 16.04 LTS操作系統(tǒng),所有深度學習模型基于pytorch0.4框架實現.

實驗數據集來自科大訊飛AI開發(fā)者大賽提供的10類方言數據.數據集共包括10種方言,每種方言包含40個本地人的6 h的朗讀風格語音數據.數據以采樣率16 kHz、16 b量化的PCM格式存儲.數據集包含訓練集、驗證集和測試集3個部分.訓練集每種方言有5 000句語音,包含30個說話人,其中15位男性和15位女性,每個說話人200句語音;驗證集和測試集中每種方言分別包含5個說話人.驗證集數據根據語音段的時長分為≤3 s的短時數據和>3 s的長時數據.訓練集、驗證集、測試集的說話人均沒有重復.

對不同數據進行標簽標注:閩南話(0)、客家話(1)、上海話(2)、合肥話(3)、陜西話(4)、寧夏話(5)、河北話(6)、長沙話(7)、南昌話(8)、四川話(9).用HTK工具提取40維的Fbank特征作為神經網絡的輸入.(隱Markov模型工具包(HTK)是一個用于構建和操作隱Markov模型的便攜式工具包.HTK主要用于語音識別研究,也被用于許多其他應用,包括語音合成、字符識別和DNA測序的研究.HTK正在全球數百個網站上使用.)

4.1 單任務語種識別模型性能分析

針對第2節(jié)提出的單任務語種識別模型,按照標簽從小到大順序依次加入方言語種,且每增加一類方言重新訓練一次網絡,并記錄了每種情況下測試集的語種識別準確率,作為實驗初始模型(baseline model).隨后,通過增加全連接層數,提升模型準確率.如圖5所示,對比了初始模型及擁有不同全連接層模型在測試集上的表現效果,實驗結果顯示,發(fā)現一定程度增加全連接層數對網絡的優(yōu)化性能是有所提高的.但層數和準確率并非正比關系,當全連接層為FC5時,效果最優(yōu)達到75.03%.

Fig.5 Accuracy in increasing the numbers of FC layers圖5 增加全連接層對識別準確率的影響

進一步,對全連接層為FC5的單任務方言語種識別模型進行隱層神經元參數優(yōu)化.如圖6所示,神經元的變化是將隱藏層的神經元數目從128開始增加至4 096.這樣的增加變化對單任務語種識別模型的準確率結果影響如圖6所示:

Fig.6 Accuracy in increasing the numbers of neurons圖6 增加神經元數目對識別準確率的影響

由圖6結果發(fā)現,一定程度上增加神經元對于方言語種識別模型的識別結果呈現一個穩(wěn)步上升的態(tài)勢,同時推理時間也會隨之增加,說明神經元數目增加導致模型的推理變得復雜.此外,在本文中神經元數目增加到3 072時訓練時間明顯增長且推理時間明顯變長.因此,實驗發(fā)現并不能一味地增加神經元的數目,當神經元數目過大會導致網絡的訓練非常緩慢而且會出現內存不足(CUDA out of memory)的問題.本文最終確定合理的神經元數目為2 048.

本文對學習率(learning rate,LR)參數進行調整,從0.01逐次增加到0.1,對每次變化的新網絡模型性能進行記錄評估.實驗結果如圖7所示,記錄了隨著學習率的變化對語種識別準確率和模型推理時間的影響.

Fig.7 Accuracy in changing the learning rate圖7 調整學習率對識別準確率的影響

Fig.8 The loss trend with train epoch圖8 迭代周期損失函數曲線

由圖7可知,由于LR過低時導致的過擬合問題,以及LR過高時引起的高偏差現象,導致模型的穩(wěn)定性不好.由此本文選定LR=0.05,此時準確率最高可達75.36%.

根據圖7調試參數實驗,最終確定單任務方言語種識別模型的網絡參數為:隱層神經元2 048個、初始學習率0.05、5個全連接層.

經過初步確定參數之后,結合上述3組實驗的訓練過程.本文進一步通過收集該組參數配置下,網絡模型的訓練迭代周期及相對應的loss變化對語種識別準確率高低和推理時間長短的影響.訓練迭代周期(epoch)和訓練loss變化曲線如圖8所示:

由圖8可以看出,訓練第0輪開始時損失函數loss值在1.3左右,隨著迭代周期的增加loss在不斷減小,且從第10次迭代開始變得平緩,表示已經開始收斂.表明10~15這個迭代周期已經比較合理,如果繼續(xù)訓練可能會導致模型過擬合.

進一步,在迭代周期下統(tǒng)計模型語種識別準確率和損失函數loss的變化,并繪制曲線如圖9所示:

Fig.9 Accuracy and loss trend with train epoch圖9 迭代周期損失函數和準確率曲線

通過圖9發(fā)現,剛開始訓練時,損失函數值很大且識別準確率很低,隨著迭代周期的增加,損失函數loss降低,識別準確率增加,且二者在10~14輪這同一時期基本趨于平穩(wěn).表明模型性能已經漸漸趨于平穩(wěn),這個時期的參數指標則是我們最終確定的參數范圍.

同理,收集損失函數值和訓練時間結果,并將其曲線繪制在同一坐標系,結果如圖10所示:

Fig.10 Training time and loss trend with train epoch圖10 迭代周期損失函數和訓練時間曲線

綜合圖8~10曲線顯示,本文發(fā)現損失函數降低到0.15左右網絡開始收斂且損失函數值保持在穩(wěn)定狀態(tài),故當通過迭代訓練將網絡損失降低至0.15附近停止訓練,此時的迭代周期為12~14之間.對比損失函數loss和識別準確率以及訓練時間的關系,發(fā)現損失函數越小準確率越高,但是在一定程度二者會同時趨于穩(wěn)定.又因為隨著不斷迭代損失函數值才能降低,因此訓練時間在持續(xù)增加.綜合考慮訓練時間、損失函數和準確率三者的變化,當loss曲線逐漸收斂趨勢平穩(wěn)之后2~3個迭代周期是最佳停止時間,同時滿足了模型對性能和時間的要求.

4.2 多任務語種識別模型性能分析

4.2.1 多語種任務模型性能分析

針對3.1節(jié)所述內容,現將單個語種的識別任務作為多語種識別的子任務,并聯(lián)合訓練多任務神經網絡.每次添加一個新的子任務(任務維度由2線性增加到10),并重新訓練改進后的神經網絡.如圖11所示,將多語種任務方言語種識別模型同單任務方言語種識別模型進行對比.

Fig.11 Inference accuracy between single &multi-task圖11 單任務模型和多任務模型識別準確率對比

由圖11可知,單任務網絡數據維度的增加和多任務網絡任務維度的增加都會提高模型識別準確率.對于單任務模型,準確率的提高源于輸入數據維度增加使訓練的樣本更充足;對于基于語種任務的多任務學習模型,不同語種之間通過參數軟共享的方式學習隱含信息,從而提高了模型的表現性能.與此同時,基于語種的多任務語種識別模型比同等維度的單任務方言語種識別模型有更好的識別效果,平均性能提高約5%.

4.2.2 區(qū)域輔助任務方言語種識別性能分析

根據3.2節(jié)所述方法,對方言數據增加方言區(qū)域標簽,由此每條方言數據會同時擁有語種標簽和方言區(qū)域標簽,預測每個任務的標簽與每個任務的真實標簽的誤差就是每個任務的loss.通過多任務學習參數硬共享聯(lián)合訓練這2個主輔任務,在方言測試集得到如表3的實驗結果:

Table 3 The Accuracy of Auxiliary Task Model表3 輔助任務模型準確率結果 %

由表3結合圖11可以看出,主輔任務聯(lián)合的多任務學習模型比主任務方言語種識別任務和輔助任務方言區(qū)域識別任務二者各自的單任務模型的識別準確率都有提高.并且方言語種識別作為主要任務,其準確率較單任務方言語種識別模型和基于多語種任務的方言語種識別模型都有提高,且效果更好,識別準確率達80.2%.

5 結束語

針對中國方言的多樣性、復雜性、相似性,本文首先應用了LSTM神經網絡搭建方言語種識別基線系統(tǒng),并通過調參優(yōu)化該單任務方言語種識別模型.進一步提出2種基于多任務學習方法的改進模型,分別是基于多語種任務的方言語種識別模型和基于方言區(qū)域識別任務為輔助任務的方言語種識別模型.本文經過一系列實驗發(fā)現,多任務模型在方言語種識別問題上比單任務模型識別準確率更高,平均提高5%.且基于輔助任務的方法比基于多語種任務方法在此問題上效果更好.這2種方法的有效利用將有助于推進方言識別研究.

猜你喜歡
多任務語種方言
方嚴的方言
數字時代的注意困境:媒體多任務的視角*
結合自監(jiān)督學習的多任務文本語義匹配方法
方言
《波斯語課》:兩個人的小語種
面向多任務的無人系統(tǒng)通信及控制系統(tǒng)設計與實現
哪些方言有利于經商
基于Reworks操作系統(tǒng)的信息交互軟件設計
談方言在人物塑造中的作用
走出報考小語種專業(yè)的兩大誤區(qū)
井研县| 中卫市| 项城市| 阆中市| 开封市| 平阴县| 绥棱县| 嘉黎县| 佛教| 安庆市| 温宿县| 社旗县| 西充县| 秦皇岛市| 石城县| 华容县| 成都市| 错那县| 蕉岭县| 永定县| 民权县| 浮梁县| 巴彦县| 石台县| 龙井市| 玉田县| 澳门| 井研县| 柳州市| 鲁山县| 七台河市| 荥经县| 苏尼特左旗| 桑植县| 佛坪县| 五河县| 思南县| 井陉县| 平陆县| 同心县| 平罗县|