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

?

自監(jiān)督聚類重訓(xùn)練的語音表示學(xué)習(xí)

2022-06-09 00:50:10張文林劉雪鵬楊緒魁
模式識別與人工智能 2022年5期
關(guān)鍵詞:音素類別語音

張文林 劉雪鵬 牛 銅 楊緒魁 屈 丹

語音表示學(xué)習(xí)的目的是從語音信號中提取特征,并使用學(xué)習(xí)到的向量表示語音信號.一個好的語音表示應(yīng)當(dāng)包含語音信號中各種不同層次的信息,如音素或類音素、說話人信息、詞語、語種等,以便于將語音表示用于后續(xù)的連續(xù)語音識別、說話人識別、語種識別等下游任務(wù)中[1].從語音信號中提取語音表示,能有效降低下游任務(wù)的學(xué)習(xí)難度,減少其對標(biāo)注數(shù)據(jù)量的要求.

目前人類使用的語言有近7 000種,很多語言的語音數(shù)據(jù)十分匱乏,缺少語言學(xué)專家知識,甚至沒有文字系統(tǒng).對這些小語種語言構(gòu)建語音識別系統(tǒng),往往需要依賴代價極大的語音數(shù)據(jù)收集及人工標(biāo)注工作.為了解決這一問題,學(xué)者們轉(zhuǎn)向使用“無監(jiān)督預(yù)訓(xùn)練+微調(diào)”的方法構(gòu)建小語種語音識別系統(tǒng).首先在大量無標(biāo)注的語音數(shù)據(jù)上學(xué)習(xí)一個好的語音表示模型,然后利用少量的標(biāo)注數(shù)據(jù)對下游任務(wù)進(jìn)行微調(diào),得到與大量標(biāo)注數(shù)據(jù)直接訓(xùn)練性能相當(dāng)?shù)南到y(tǒng),其中第一階段的預(yù)訓(xùn)練過程涉及無監(jiān)督的語音表示學(xué)習(xí)技術(shù).相比有監(jiān)督學(xué)習(xí)方法,無監(jiān)督的語音表示學(xué)習(xí)方法最大優(yōu)勢在于可利用大量的無標(biāo)注語音數(shù)據(jù),甚至是多語言數(shù)據(jù).在如今的大數(shù)據(jù)時代,獲取無標(biāo)注數(shù)據(jù)相對容易.

自監(jiān)督學(xué)習(xí)是無監(jiān)督學(xué)習(xí)的一個分支,基本思想是通過構(gòu)造輔助任務(wù),從無監(jiān)督數(shù)據(jù)自身構(gòu)造監(jiān)督信息進(jìn)行訓(xùn)練,從而學(xué)習(xí)對下游任務(wù)有價值的表示.近年來,自監(jiān)督語音表示學(xué)習(xí)取得一定進(jìn)展,已成為智能語音處理領(lǐng)域熱門的研究方向之一,語音自監(jiān)督表示學(xué)習(xí)方法主要通過掩蔽語音幀重建或前后幀對比預(yù)測等預(yù)訓(xùn)練任務(wù)進(jìn)行學(xué)習(xí),模型提取的語音表示能在說話人識別、音素分類、自動語音識別(Automatic Speech Recognition, ASR)、情感分類等多種下游任務(wù)中,取得與有監(jiān)督方法相當(dāng)?shù)慕Y(jié)果.

目前,語音的自監(jiān)督表示學(xué)習(xí)方法主要有基于對比損失的表示學(xué)習(xí)方法和基于重建的表示學(xué)習(xí)方法兩類.

基于對比損失的表示學(xué)習(xí)方法是對比預(yù)測編碼(Contrastive Predictive Coding, CPC)[2].通過當(dāng)前幀預(yù)測鄰近的幾幀,同時對比來自其它序列的幀或來自更遙遠(yuǎn)時間的幀,使時間上距離相近的表示被拉得更近,時間上距離較遠(yuǎn)的表示被推得更遠(yuǎn).典型方法是wav2vec系列模型.Schneider等[3]首次提出wav2vec,將CPC損失直接用于語音表示學(xué)習(xí).wav2vec是無監(jiān)督預(yù)訓(xùn)練在具有完全卷積模型的語音識別中的首次應(yīng)用,并已在基于語音識別的下游任務(wù)中驗(yàn)證有效性.Baevski等[4]提出改進(jìn)方法——vq-wav2vec,結(jié)合wav2vec與BERT(Bidirectional En-coder Representations from Transformers)[5],并使用矢量量化對提取的表示進(jìn)行量化,可學(xué)習(xí)離散的語音表示.更進(jìn)一步地,Baevski等[6]提出wav2vec 2.0,基于vq-wav2vec的思路,結(jié)合掩碼語言模型(Masked Language Model)[5]訓(xùn)練具有上下文表示的離散語音單元.目前,wav2vec 2.0是低資源語音識別領(lǐng)域中使用最廣泛的語音預(yù)訓(xùn)練方法之一,具有良好的跨語言特性[7],并可與自訓(xùn)練等方法結(jié)合,實(shí)現(xiàn)基于少量標(biāo)注語料的半監(jiān)督語音識別[8].

基于重建的表示學(xué)習(xí)方法利用部分語音幀對其它語音幀進(jìn)行還原重建,根據(jù)最小化重建損失得到語音表示.這類方法的典型方法有自回歸預(yù)測編碼(Autoregressive Predictive Coding, APC)[9-10]和BERT式掩蔽重構(gòu)[5]等.APC采用自回歸模型對聲音序列進(jìn)行編碼,根據(jù)當(dāng)前幀對未來幀進(jìn)行預(yù)測重建.BERT式掩蔽重構(gòu)基于掩蔽語言模型,根據(jù)未掩蔽語音幀的編碼重構(gòu)掩蔽的語音幀,學(xué)習(xí)得到較好的語音表示.

近年來,借鑒自然語言處理領(lǐng)域中的BERT等預(yù)訓(xùn)練模型,在語音處理領(lǐng)域也涌現(xiàn)很多基于BERT式掩蔽重構(gòu)的語音表示學(xué)習(xí)方法.Liu等[11]提出Mockingjay,使用掩蔽聲學(xué)模型(Masked Acoustic Model, MAM)任務(wù)對模型進(jìn)行訓(xùn)練.Mockingjay中的掩蔽聲學(xué)模型僅對語音幀進(jìn)行時間維度上的掩蔽.Liu等[12]在文獻(xiàn)[11]的基礎(chǔ)上提出TERA (Trans-former Encoder Representations from Alteration),將語音幀的掩蔽擴(kuò)展到時間、通道和幅度三個維度,使學(xué)習(xí)的語音表示能包含更多的信息.Chi等[13]將ALBERT(A Lite BERT)[14]參數(shù)共享的思想引入語音表示網(wǎng)絡(luò)的構(gòu)建,提出AALBERT(Audio ALBERT),在保證模型性能的同時有效減少模型參數(shù).

本文主要討論基于無標(biāo)注數(shù)據(jù)的語音表示學(xué)習(xí)方法.事實(shí)上,在無監(jiān)督數(shù)據(jù)的利用方面,噪聲學(xué)生訓(xùn)練(Noisy Student Training)[15]是一種目前常用的方法,基本思想是迭代自訓(xùn)練,即首先使用少量有標(biāo)注數(shù)據(jù)訓(xùn)練得到初始教師模型,利用教師模型生成無標(biāo)注數(shù)據(jù)的偽標(biāo)注,然后利用偽標(biāo)注數(shù)據(jù)和標(biāo)注數(shù)據(jù)聯(lián)合訓(xùn)練學(xué)生模型.在訓(xùn)練學(xué)生模型過程中,為了提高表示的穩(wěn)健性,對輸入的語音數(shù)據(jù)進(jìn)行隨機(jī)擾動[16-18].噪聲學(xué)生訓(xùn)練基本出發(fā)點(diǎn)是對于一個好的表示模型,擾動后語音得到的表示應(yīng)與擾動前語音得到的表示一致.Park等[19]將噪聲學(xué)生訓(xùn)練方法用于半監(jiān)督語音識別,取得不錯效果.Xu等[8]證明基于教師-學(xué)生訓(xùn)練的自訓(xùn)練方法與基于wav2vec 2.0的自監(jiān)督預(yù)訓(xùn)練方法在下游語音識別任務(wù)上具有互補(bǔ)性,兩者結(jié)合可進(jìn)一步提高半監(jiān)督語音識別的效果.然而,原始的噪聲學(xué)生訓(xùn)練方法是一種半監(jiān)督學(xué)習(xí)方法,仍需少量的標(biāo)注語料以訓(xùn)練初始的教師模型,因此往往只用于下游任務(wù)的微調(diào)階段,在預(yù)訓(xùn)練階段仍需要借助自監(jiān)督方法學(xué)習(xí)語音表示.

現(xiàn)有的基于掩蔽重建的自監(jiān)督語音表示學(xué)習(xí)方法對語音幀添加掩蔽,最小化重建損失以訓(xùn)練模型.這些方法的共同缺點(diǎn)是未較好利用語音幀本身包含的音素類別信息.音素(Phoneme)是根據(jù)語音的自然屬性劃分的最小語音單位,在對輸入語音進(jìn)行分幀處理的過程中,一幀通常為25 ms或10 ms,對于同個音素分割產(chǎn)生的語音幀,從發(fā)音的角度上看,應(yīng)屬于一類.這種隱藏的類別信息并未直接利用在現(xiàn)有的無監(jiān)督預(yù)訓(xùn)練方法中.

因此,本文提出基于自監(jiān)督聚類重訓(xùn)練的語音表示學(xué)習(xí)方法,在現(xiàn)有的基于掩蔽重建的自監(jiān)督方法的基礎(chǔ)上,構(gòu)造偽音素標(biāo)簽以引入音素類別預(yù)測任務(wù),較好地利用語音數(shù)據(jù)中隱藏的音素類別信息.具體思路是:基于當(dāng)前的預(yù)訓(xùn)練語音表示模型,通過無監(jiān)督聚類的方法構(gòu)造語音表示單元的音素類別標(biāo)簽,結(jié)合重建任務(wù)與音素類別標(biāo)簽預(yù)測任務(wù),更新語音表示模型.在模型更新過程中,借鑒噪聲學(xué)生訓(xùn)練方法的思想,對輸入語音信號進(jìn)行隨機(jī)噪聲擾動,得到較穩(wěn)健的語音表示.基于多個數(shù)據(jù)集上的音素識別、說話人識別等下游任務(wù)測試表明,本文方法達(dá)到與現(xiàn)有模型相當(dāng)甚至更優(yōu)的性能,同時模型訓(xùn)練和推理所需的計算資源和時間較少.

1 自監(jiān)督聚類重訓(xùn)練的語音表示學(xué)習(xí)方法

1.1 聚類-重訓(xùn)練基本框架

無監(jiān)督語音表示任務(wù)的關(guān)鍵在于如何有效利用無標(biāo)注語音數(shù)據(jù)得到包含其主要信息的高層表示.針對這一問題,基于重建損失的語音表示學(xué)習(xí)方法認(rèn)為一個好的語音表示應(yīng)可較好重建原始的語音信號.因此,利用自編碼器的思想,通過一個編碼器得到語音表示,通過一個解碼器根據(jù)語音表示重構(gòu)原始語音信號,進(jìn)而通過最小化重構(gòu)信號和原始信號之間的誤差(稱為重構(gòu)誤差)優(yōu)化語音表示模型.在重建任務(wù)訓(xùn)練過程中,現(xiàn)有方法未利用語音的音素類別信息.

而在基于噪聲學(xué)生訓(xùn)練的半監(jiān)督語音識別中,使用另一種有效的無標(biāo)注數(shù)據(jù)利用方法,即將無標(biāo)注數(shù)據(jù)對應(yīng)的標(biāo)注視為隱藏變量,通過一個類似于EM算法(Expectation-Maximization Algorithm)的迭代過程優(yōu)化聲學(xué)模型的參數(shù),具體做法如下.

1)使用標(biāo)注數(shù)據(jù)訓(xùn)練一個初始模型,作為教師模型.

2)通過教師模型對無標(biāo)注的數(shù)據(jù)進(jìn)行識別,將識別結(jié)果視為偽標(biāo)注(類似于EM算法中的E步).

3)對于無標(biāo)注數(shù)據(jù),將偽標(biāo)注視為正確標(biāo)簽,結(jié)合標(biāo)注數(shù)據(jù),通過最小化標(biāo)簽預(yù)測任務(wù)的交叉熵?fù)p失函數(shù)更新模型參數(shù),得到學(xué)生模型(類似于EM算法中的M步).

4)將新的學(xué)生模型作為教師模型,重復(fù)1)、2),得到不斷精確的偽標(biāo)注(類別信息)和識別模型.

在上述過程中,基于一致性準(zhǔn)則,通過對輸入信號添加隨機(jī)噪聲擾動以提高學(xué)生模型的魯棒性.

受到上述噪聲學(xué)生訓(xùn)練方法的啟發(fā),為了在無監(jiān)督表示學(xué)習(xí)過程中充分利用語音幀自身隱含的類別信息,本文結(jié)合語音重建任務(wù)和偽標(biāo)簽預(yù)測任務(wù),提出聚類-重訓(xùn)練框架.基本思想是:基于現(xiàn)有表示模型(教師模型),利用無監(jiān)督聚類得到隱含的語音幀類別信息,進(jìn)而基于該類別信息構(gòu)造標(biāo)簽預(yù)測任務(wù),結(jié)合已有的基于重建損失的表示學(xué)習(xí)任務(wù),重訓(xùn)語音表示模型(學(xué)生模型).將上述過程不斷迭代以得到最優(yōu)表示模型.下面將利用EM算法框架從理論上證明方法的有效性.

令x為某一幀語音信號,y為其音素類別標(biāo)簽,對于無標(biāo)注語音數(shù)據(jù),x為觀測變量,y為隱藏變量,采用EM算法估計語音表示模型的參數(shù)θ.根據(jù)EM算法原理,在第k次迭代中E步在給定當(dāng)前模型的參數(shù)θ(k-1)的條件下,估計隱藏變量的最大后驗(yàn)概率,即計算

q(y|x;θ(k-1))=p(y|x;θ(k-1)).

在M步最大化觀測變量與隱藏變量聯(lián)合概率的對數(shù)期望值,即優(yōu)化目標(biāo)函數(shù)

最大化上述目標(biāo)函數(shù)相當(dāng)于最小化

L(θ)=-Q(θ,θ(k-1))=

(1)

其中后驗(yàn)概率p(y|x;θ)表示對應(yīng)音素分類任務(wù)的輸出.將q(y|x;θ(k-1))視為類別軟標(biāo)簽,式(1)右側(cè)第1項(xiàng)相當(dāng)于音素分類預(yù)測問題的交叉熵?fù)p失函數(shù).在本文的聚類-重訓(xùn)練框架中,將當(dāng)前模型(參數(shù)為θ(k-1))視為教師模型,利用教師模型的輸出和聚類算法得到概率分布q(y|x;θ(k-1))的近似值,即

其中,Enc(x)表示語音信號x對應(yīng)的編碼表示,Ci表示聚類結(jié)果中的第i個類別.上述近似值本質(zhì)上就是將聚類結(jié)果作為硬標(biāo)簽的獨(dú)熱編碼.

利用自編碼器對語音信號的概率分布p(x;θ)進(jìn)行建模.令Enc為編碼器網(wǎng)絡(luò),Dec為解碼器網(wǎng)絡(luò),假設(shè)給定編碼表示Enc(x)的條件下,x服從均值為Dec(Enc(x))、方差為σ2I的高斯分布,則式(1)右側(cè)第2項(xiàng)可寫為

(2)

其中,N表示高斯分布,α表示與方差σ2I相關(guān)的常數(shù).

式(2)對應(yīng)L2重構(gòu)損失函數(shù).將上述高斯分布替換為拉普拉斯分布,即得到L1重構(gòu)損失函數(shù).

綜上所述,最小化目標(biāo)函數(shù)式(1)的第1項(xiàng)對應(yīng)標(biāo)簽預(yù)測任務(wù)的交叉熵?fù)p失函數(shù),第2項(xiàng)對應(yīng)重構(gòu)任務(wù)的重構(gòu)損失函數(shù),結(jié)合二者求解學(xué)生模型的參數(shù)θ,本質(zhì)上是在給定當(dāng)前教師模型參數(shù)θ(k-1)的條件下執(zhí)行EM算法中的M步,對模型參數(shù)進(jìn)行更新,得到新的參數(shù)θ=θ(k).這也就從理論上證明本文方法的有效性.

上述聚類-重訓(xùn)練框架的基本流程如圖1所示.

圖1 聚類-重訓(xùn)練框架流程圖

對于無標(biāo)注數(shù)據(jù)集

Dpre={x1,x2,…,xn},

其中xi表示第i條語音數(shù)據(jù),由mi幀組成,將其第j幀記為xi,j,則

xi=[xi,1,xi,2,…,xi,mi].

首先訓(xùn)練得到預(yù)訓(xùn)練模型M0后,以預(yù)訓(xùn)練模型M0作為教師模型Mt,執(zhí)行如下步驟.

1)利用教師模型,提取數(shù)據(jù)Dpre中各語音幀對應(yīng)的語音表示,使用K-means算法對語音表示進(jìn)行聚類.

2)使用聚類分配的類別標(biāo)簽構(gòu)造偽標(biāo)簽集合

Y={y1,y2,…,yn},

其中yi表示第i條語音數(shù)據(jù)對應(yīng)的偽標(biāo)簽序列,將其中第j幀的偽標(biāo)簽記為yi,j,則

yi=[yi,1,yi,2,…,yi,mi].

3)使用無標(biāo)注數(shù)據(jù)和偽標(biāo)簽構(gòu)造新的數(shù)據(jù)集Dret,Dret中每條語音信號的標(biāo)簽由其語音幀對應(yīng)的偽標(biāo)簽序列組成,記為

Dret={(x1,y1),(x2,y2),…,(xn,yn)}.

4)在數(shù)據(jù)集Dret上,結(jié)合偽標(biāo)簽預(yù)測任務(wù)和已有自監(jiān)督學(xué)習(xí)中的重建任務(wù)(如CPC、APC等)重新訓(xùn)練學(xué)生模型Ms.

5)將學(xué)生模型Ms作為新的教師模型,重復(fù)1)~4)進(jìn)行迭代訓(xùn)練.

1.2 自監(jiān)督聚類重訓(xùn)練的語音表示方法步驟

基于聚類-重訓(xùn)練框架,本文針對TERA[13]進(jìn)行聚類重訓(xùn)練,提出自監(jiān)督聚類重訓(xùn)練的語音表示方法.使用TERA預(yù)訓(xùn)練方法得到初始的預(yù)訓(xùn)練模型.

TERA對于輸入的連續(xù)語音幀,在時間、通道和幅度三個維度上進(jìn)行掩蔽,通過最小化原始語音幀的重構(gòu)損失進(jìn)行模型訓(xùn)練.在時間維度上,隨機(jī)選定15%的語音幀進(jìn)行掩蔽,在被掩蔽的語音幀中,80%的語音幀全部置為0,10%的語音幀被替換為隨機(jī)幀,剩下10%的語音幀保持不變.在通道維度上,對于整個輸入語音序列,將選中的連續(xù)通道塊的值隨機(jī)替換為0.在幅度維度上,對選定的語音幀添加隨機(jī)采樣的高斯噪聲(Sampled Gaussian Noise).

得到初始的教師模型后,使用聚類-重訓(xùn)練框架,迭代訓(xùn)練得到學(xué)生模型.在學(xué)生模型的訓(xùn)練過程中,對于語音幀類別預(yù)測任務(wù)和語音重建任務(wù),均采用TERA中的三維度掩蔽策略對輸入的語音進(jìn)行隨機(jī)擾動,增強(qiáng)學(xué)生模型的魯棒性.

本文方法框圖如圖2所示,分為預(yù)訓(xùn)練、聚類和重訓(xùn)練三階段.首先在預(yù)訓(xùn)練階段,對無標(biāo)注訓(xùn)練集Dpre中的語音數(shù)據(jù)進(jìn)行隨機(jī)掩蔽,并按照TERA預(yù)訓(xùn)練方法得到初始教師模型.在聚類階段,使用教師模型對Dpre中的語音數(shù)據(jù)提取語音表示,利用K-means聚類模塊對其進(jìn)行聚類并分配偽標(biāo)簽.在重訓(xùn)練階段,利用無標(biāo)注數(shù)據(jù)集Dpre及其偽標(biāo)簽構(gòu)建新的偽標(biāo)注數(shù)據(jù)集Dret,在重訓(xùn)練部分訓(xùn)練得到學(xué)生模型.

圖2 本文方法框圖

在具體的重訓(xùn)練過程中,對語音幀使用與預(yù)訓(xùn)練部分相同的掩蔽策略,將學(xué)生模型提取的語音表示分別送入一個分類器網(wǎng)絡(luò)和預(yù)測頭網(wǎng)絡(luò),分類器網(wǎng)絡(luò)用于預(yù)測輸出語音幀的類別標(biāo)簽,預(yù)測頭網(wǎng)絡(luò)用于重建被掩蔽的語音幀.通過最小化類別預(yù)測損失與重建損失的加權(quán)和更新學(xué)生模型,并將其作為新的教師模型重復(fù)進(jìn)行聚類和重訓(xùn)練過程.

將總的偽標(biāo)簽預(yù)測損失記為Llabel,則

最終聚類重訓(xùn)練的總損失函數(shù):

Lret=Lspec+λLlabel,

(3)

其中,λ為標(biāo)簽預(yù)測損失的權(quán)重因子,實(shí)驗(yàn)中設(shè)為0.1.

綜上所述,本文提出的自監(jiān)督聚類重訓(xùn)練的語音表示學(xué)習(xí)方法具體步驟如下.

算法自監(jiān)督聚類重訓(xùn)練的語音表示學(xué)習(xí)方法

step 1 使用無標(biāo)注數(shù)據(jù)集Dpre,基于TERA預(yù)訓(xùn)練方法對語音幀進(jìn)行掩蔽,并根據(jù)L1損失訓(xùn)練得到初始表示模型M0,令教師模型Mt=M0.

step 2 將數(shù)據(jù)集Dpre送入Mt,提取語音信號對應(yīng)的語音表示.

step 3 將語音表示作為K-means算法的輸入,利用聚類得到偽標(biāo)簽集合Y.

step 4 使用Dpre和Y構(gòu)建新的訓(xùn)練數(shù)據(jù)集Dret.

step 5 使用數(shù)據(jù)集Dret,基于式(3)中的多任務(wù)損失函數(shù)Lret對學(xué)生模型Ms進(jìn)行多任務(wù)訓(xùn)練.

step 6 令教師模型Mt=Ms,返回step 2.

上述過程經(jīng)過若干次迭代后,將最終的學(xué)生模型作為語音表示模型.在工程實(shí)踐中,當(dāng)學(xué)生模型在下游任務(wù)上的表現(xiàn)隨迭代次數(shù)增加而保持不變或穩(wěn)定時,可認(rèn)為模型已收斂.

2 實(shí)驗(yàn)及結(jié)果分析

2.1 實(shí)驗(yàn)設(shè)置

本文實(shí)驗(yàn)主要使用公開的LibriSpeech語料庫[20]和TIMIT語料庫[21].為了驗(yàn)證不同數(shù)據(jù)量下模型的性能,分別使用LibriSpeech的100 h子集(train-clean-100)和960 h子集(train-clean-100、train-clean-360、train-other-500)對模型進(jìn)行訓(xùn)練.實(shí)驗(yàn)使用mel譜作為預(yù)訓(xùn)練模型的輸入.

實(shí)驗(yàn)中采用TERA作為基礎(chǔ)的預(yù)訓(xùn)練模型和教師模型,預(yù)訓(xùn)練模型的結(jié)構(gòu)和參數(shù)與文獻(xiàn)[12]中TERA設(shè)置相同.對于本文方法訓(xùn)練的學(xué)生模型,結(jié)構(gòu)和參數(shù)與其對應(yīng)的教師模型保持一致.對于100 h訓(xùn)練數(shù)據(jù)條件,將初始模型的預(yù)訓(xùn)練和每次聚類后重訓(xùn)練的訓(xùn)練步數(shù)均設(shè)置為2 000 000.對于960 h訓(xùn)練數(shù)據(jù)條件,預(yù)訓(xùn)練和重訓(xùn)練的訓(xùn)練步數(shù)均設(shè)置為10 000 000.模型使用4個2080Ti GPU訓(xùn)練,訓(xùn)練批次大小為8,相當(dāng)于約12 s的語音數(shù)據(jù).

在得到教師語音表示模型后,語音幀類別的聚類過程采用文獻(xiàn)[22]中的K-means++算法.該算法選擇有更高概率接近最終質(zhì)心的初始質(zhì)心,避免經(jīng)典的K-means算法中隨機(jī)初始化的缺陷,可快速收斂.實(shí)驗(yàn)中使用train-clean-100子集進(jìn)行訓(xùn)練,迭代次數(shù)為15次.

關(guān)于聚類類別數(shù)K的設(shè)置,本文參考LibriSpeech中的音素個數(shù)設(shè)置及ZEROSPEECH無監(jiān)督語音識別挑戰(zhàn)賽中聲學(xué)單元個數(shù)設(shè)置,進(jìn)行對比實(shí)驗(yàn).具體來說,根據(jù)文獻(xiàn)[2]的實(shí)驗(yàn)設(shè)置,在LibriSpeech數(shù)據(jù)集的train-clean-100子集上,經(jīng)過強(qiáng)制對齊后,可能的音素個數(shù)為41,其中包含靜音音素silence(SIL)和口語噪聲音素SPN,SPN包括噪聲和集外詞.實(shí)驗(yàn)中可將其作為先驗(yàn)知識,并據(jù)此設(shè)置語音幀的類別數(shù).根據(jù)ZEROSPEECH2021中無監(jiān)督聲學(xué)單元發(fā)現(xiàn)任務(wù)的基線系統(tǒng)設(shè)計,當(dāng)K=50時系統(tǒng)取得最佳性能,因此本文也測試K=50的結(jié)果.

在聚類重訓(xùn)練過程中,對學(xué)生模型進(jìn)行多次迭代訓(xùn)練,保留每次迭代訓(xùn)練后的模型,分別在下游任務(wù)中進(jìn)行實(shí)驗(yàn),以驗(yàn)證迭代訓(xùn)練的效果.

2.2 下游任務(wù)設(shè)置

為了驗(yàn)證語音表示模型的效果,本文選擇音素分類和說話人分類兩種下游任務(wù),分別測試初始表示模型和不同迭代次數(shù)后改進(jìn)的表示模型在下游任務(wù)中的識別準(zhǔn)確率.兩個下游任務(wù)的微調(diào)與測試均采用S3PRL工具箱進(jìn)行.

音素分類任務(wù)的實(shí)驗(yàn)遵循文獻(xiàn)[12]的設(shè)置,并使用kaldi工具箱獲得音素的強(qiáng)制對齊.實(shí)驗(yàn)在LibriSpeech數(shù)據(jù)集的train-clean-100子集上進(jìn)行,并根據(jù)文獻(xiàn)[12]的實(shí)驗(yàn)設(shè)置,將其劃分為訓(xùn)練集和測試集.將表示模型得到的語音表示作為輸入,分別對比使用單個線性層的分類器網(wǎng)絡(luò)和含一個非線性隱藏層的分類器網(wǎng)絡(luò)的音素分類性能.

說話人識別任務(wù)的實(shí)驗(yàn)也在train-clean-100子集上進(jìn)行,同樣參照文獻(xiàn)[12]的實(shí)驗(yàn)設(shè)置,對數(shù)據(jù)集進(jìn)行劃分.使用語音表示作為輸入,訓(xùn)練單層線性網(wǎng)絡(luò)作為分類器,分別測試模型在幀級別和句子級別的說話人分類準(zhǔn)確率.

在上述兩個下游任務(wù)的微調(diào)過程中,語音表示模型的參數(shù)均被凍結(jié),只訓(xùn)練音素分類和說話人分類任務(wù)的分類器網(wǎng)絡(luò)參數(shù).下游模型的訓(xùn)練步數(shù)均設(shè)置為5 000 000.

2.3 實(shí)驗(yàn)結(jié)果

2.3.1 音素分類任務(wù)

各模型在音素分類任務(wù)上的實(shí)驗(yàn)結(jié)果如表1所示.表中TERA0表示采用原始TERA訓(xùn)練得到的初始表示模型,TERAi表示第i次聚類重訓(xùn)練后得到的改進(jìn)的表示模型,TERAi- 41和TERAi- 50分別表示聚類時的類別數(shù)K=41,50時得到的模型,黑體數(shù)字表示最優(yōu)值.

由表1可看出,相比TERA訓(xùn)練得到的初始教師模型(TERA0),經(jīng)過聚類重訓(xùn)練得到的學(xué)生模型使音素分類的準(zhǔn)確率有明顯提升.在100 h訓(xùn)練條件下,經(jīng)過一次聚類重訓(xùn)練得到的學(xué)生模型TERA1-41在兩種測試任務(wù)上的準(zhǔn)確率比TERA0分別提升5.4%和1.7%.隨著聚類重訓(xùn)練迭代次數(shù)增加,所得學(xué)生模型的準(zhǔn)確率進(jìn)一步提高.在960 h訓(xùn)練條件下,學(xué)生模型的表現(xiàn)與100 h條件下的表現(xiàn)有相同趨勢.

在960 h訓(xùn)練條件下,迭代3次后的結(jié)果不如迭代2次后的結(jié)果,出現(xiàn)這一現(xiàn)象的原因可能是在訓(xùn)練數(shù)據(jù)充足條件下,參數(shù)迭代2次已收斂,而第3次迭代后出現(xiàn)過擬合.由于本文的初始教師模型采用TERA訓(xùn)練的模型,可認(rèn)為在迭代之初模型就已有一個不錯的初值,因此不需要迭代太多次即可接近收斂.

為了驗(yàn)證模型已達(dá)到收斂,本文進(jìn)一步增加聚類重訓(xùn)練的迭代次數(shù),并對第4、5次迭代后得到的學(xué)生模型進(jìn)行測試.從實(shí)驗(yàn)結(jié)果可看到,模型在多個下游任務(wù)中的測試結(jié)果基本穩(wěn)定,可判斷模型已經(jīng)收斂.

由表1中結(jié)果可看出,K=41時學(xué)生模型的整體性能優(yōu)于K=50時.出現(xiàn)這種結(jié)果的原因可能是train-clean-100子集上共有41個不同的音素,因此當(dāng)聚類過程中K=41時,模型能更好地適應(yīng)數(shù)據(jù)特點(diǎn).同時還注意到,在960 h訓(xùn)練數(shù)據(jù)條件下,由于數(shù)據(jù)量更大,潛在的類別信息更豐富,因此K=50時模型的準(zhǔn)確率與K=41時的準(zhǔn)確率相差不大.

由表1還可發(fā)現(xiàn),當(dāng)分類器為單層線性網(wǎng)絡(luò)時,相比采用單層非線性網(wǎng)絡(luò)的分類器,聚類重訓(xùn)練后的模型性能提高更明顯,這一結(jié)果表明采用本文方法進(jìn)行聚類重訓(xùn)練后,通過音素分類任務(wù)的引入,有效利用隱藏的音素類別信息,使得到的語音表示更適合于下游的音素分類任務(wù).

表1 各模型在音素分類任務(wù)上的準(zhǔn)確率對比

為了進(jìn)一步驗(yàn)證本文方法在音素分類任務(wù)上的有效性,進(jìn)一步對使用960 h數(shù)據(jù)訓(xùn)練的第三代學(xué)生模型TERA3-41和TERA3-50在測試過程中進(jìn)行微調(diào),分類器使用單層線性層.在微調(diào)過程中,預(yù)訓(xùn)練模型與下游任務(wù)的分類器一起調(diào)整,具體結(jié)果如表2所示.由表可見,當(dāng)僅微調(diào)1 000步時,兩個模型的分類準(zhǔn)確率已達(dá)到83.6%和83.8%.微調(diào)5 000步時,準(zhǔn)確率進(jìn)一步提升到86.8%和86.9%.而微調(diào)步數(shù)達(dá)到10 000步時,模型性能提升明顯減慢,相比微調(diào)5 000步時僅提升約0.6%.

表2 2個模型在音素分類任務(wù)上微調(diào)后的準(zhǔn)確率對比

TERA3-41和TERA3-50訓(xùn)練前20 000步時,準(zhǔn)確率隨訓(xùn)練步數(shù)的變化曲線如圖3所示.由圖可看出,訓(xùn)練9 000步時,兩個模型的準(zhǔn)確率已達(dá)到87.5%,已收斂.這表明模型在使用標(biāo)注數(shù)據(jù)進(jìn)行微調(diào)時,性能較優(yōu),并能較快達(dá)到收斂.

圖3 2個模型在音素分類任務(wù)上微調(diào)后的準(zhǔn)確率曲線

2.3.2 說話人識別下游任務(wù)

為了測試本文方法得到的語音表示能否保留除音素類別以外的信息,進(jìn)一步在說話人識別下游任務(wù)上測試模型性能.

選擇幀級別和句子級別,各模型在說話人識別任務(wù)上的實(shí)驗(yàn)結(jié)果如表3所示,表中黑體數(shù)字表示最優(yōu)值.由幀級別的說話人識別測試結(jié)果可看出,在100 h訓(xùn)練數(shù)據(jù)條件下,K=41,50時得到的說話人識別準(zhǔn)確率較接近,分別為99.4%(TERA1-50)和99.5%(TERA1-41),相比初始的教師模型(TERA0),提高0.6%.在960 h時訓(xùn)練數(shù)據(jù)條件下,重訓(xùn)練后的說話人識別準(zhǔn)確率與重訓(xùn)前的初始模型基本一致,約為99.2%.

而從句子級別的說話人識別測試結(jié)果來看,相比初始教師模型,學(xué)生模型的性能并未得到明顯提升.這一現(xiàn)象出現(xiàn)的原因可能是因?yàn)樵诰垲愡^程中,訓(xùn)練數(shù)據(jù)按幀進(jìn)行聚類,因此學(xué)生模型傾向于更多地學(xué)習(xí)幀級別的語音信息.

此外,在幾輪迭代過程中,學(xué)生模型在多次測試中基本保持性能不變.這是由于迭代過程中主要考慮語音幀的類別信息,并沒有針對說話人的信息進(jìn)行專門的利用,因此在聚類重訓(xùn)練迭代過程中,模型在說話人識別任務(wù)中的性能得到保留,并未隨著迭代次數(shù)增加而明顯提高.

表3 各模型在說話人識別任務(wù)上的準(zhǔn)確率對比

為了進(jìn)一步評估本文方法對說話人信息的表示能力,隨機(jī)挑選10名說話人,使用t分布隨機(jī)鄰域嵌入(t-Distributed Stochastic Neighbour Embedding,t-SNE)[24]對語音的頻譜特征log-Mel譜和本文方法學(xué)習(xí)得到的語音表示進(jìn)行可視化分析.

對于每條音頻數(shù)據(jù),首先對其進(jìn)行平均,產(chǎn)生該句子的表示,然后使用主成分分析(Principal Com-ponents Analysis, PCA)進(jìn)行降維,最后使用scikit-learn工具箱,將t-SNE應(yīng)用于降維之后的向量,進(jìn)行二維空間的可視化.結(jié)果如圖4所示,圖中每種顏色和形狀表示一位說話人.

由圖4(a)可看出,原始的log-Mel譜對說話人區(qū)分性很差,不同說話人對應(yīng)的向量都混雜在一起,說明頻譜特征并不能較好地表征說話人的信息.由(b)可看出,相同說話人對應(yīng)的語音表示聚集在同個數(shù)據(jù)簇中,而不同說話人的語音表示明顯對應(yīng)不同的數(shù)據(jù)簇,表明本文方法學(xué)習(xí)到的語音表示能較好地提取說話人信息.

(a)log-Mel

(b)本文方法

2.3.3 對比實(shí)驗(yàn)結(jié)果

首先,為了研究K-means聚類類別數(shù)的影響,在實(shí)驗(yàn)中進(jìn)一步增加對不同類別數(shù)的測試.實(shí)驗(yàn)使用100 h訓(xùn)練數(shù)據(jù)對模型進(jìn)行預(yù)訓(xùn)練,將類別數(shù)K分別設(shè)置為42、45,并使用初始的教師模型訓(xùn)練一代學(xué)生模型(TERA1-42、TERA1-45).在下游任務(wù)中,音素分類分別在LibriSpeech數(shù)據(jù)集的train-clean-100子集和TIMIT數(shù)據(jù)集上進(jìn)行測試,使用單層線性網(wǎng)絡(luò)作為分類器.說話人識別任務(wù)的設(shè)置與2.3.2節(jié)相同,K=41,42,45,50時各模型在幀級別的準(zhǔn)確率對比如表4所示.

表4 K不同時各模型的準(zhǔn)確率對比

進(jìn)一步,選擇如下對比方法:Mockingjay、AALB-ERT、TERA、wav2vec 2.0的Base版本(wav2vec 2.0-Base).同時,還測試當(dāng)K=500時的實(shí)驗(yàn)結(jié)果,希望模型能通過聚類重訓(xùn)練過程,學(xué)習(xí)更多細(xì)粒度的語音類別信息.此外,考慮到教師模型和學(xué)生模型提取的語音表示包含的信息可能不會完全相同,因此采用拼接和相加方式,將教師模型與一次聚類重訓(xùn)練后學(xué)生模型提取的語音表示進(jìn)行融合,進(jìn)一步測試融合后的語音表示性能.各模型的準(zhǔn)確率對比如表5所示,表中黑體數(shù)字表示最優(yōu)值.

表5 各模型的準(zhǔn)確率對比

由表5可知,使用100 h數(shù)據(jù)訓(xùn)練模型,在說話人識別任務(wù)中,當(dāng)K=41,50時,不同方法性能接近,相加和拼接的方法分別將準(zhǔn)確率提升到99.6%和99.7%.在音素分類任務(wù)中,K=41時方法性能更優(yōu),TERA1-41(相加)在兩個數(shù)據(jù)集上的準(zhǔn)確率比TERA1-41均提升1%.TERA1-41(拼接)在兩個音素識別任務(wù)上比TERA1-41分別提升4.5%和2.6%.相比預(yù)訓(xùn)練的TERA,TERA1-41(拼接)在音素識別任務(wù)中的準(zhǔn)確率分別提升8.4%和7.4%,且在所有任務(wù)中均達(dá)到最佳性能.

使用960 h數(shù)據(jù)訓(xùn)練的模型在K=50時的性能達(dá)到最佳,在說話人識別任務(wù)中,TERA1-50(拼接)準(zhǔn)確率達(dá)到99.6%.在兩個數(shù)據(jù)集上的音素分類任務(wù)中,TERA1-50(拼接)的準(zhǔn)確率分別達(dá)到74.2%和73.5%.相比wav2vec 2.0-Base,在多種下游任務(wù)中,TERA1-50(拼接)性能達(dá)到或超過其水平.

本文方法與wav2vec2.0-Base的參數(shù)值對比如表6所示.在模型的訓(xùn)練過程中,本文方法的訓(xùn)練批次大小為8,相當(dāng)于約12 s的語音數(shù)據(jù),僅使用4個2080Ti GPU訓(xùn)練,訓(xùn)練一代學(xué)生模型需要約10天.而wav2vec2.0-Base在訓(xùn)練過程中使用64個V100 GPU,訓(xùn)練需要1.6天,總的訓(xùn)練批次大小為1.6 h的語音數(shù)據(jù).即使在不考慮不同GPU性能的情況下,本文方法使用單個GPU需要訓(xùn)練40天,wav2-vec2.0-Base相當(dāng)于使用單個GPU,需要訓(xùn)練約102天,因此本文方法所需計算資源更少,訓(xùn)練所需的總時間相對更短,參數(shù)約為wav2vec 2.0-Base的1/4.此外,在下游任務(wù)的微調(diào)和推理測試過程中,相比wav2vec 2.0,本文方法所需的時間大幅減少.以TIMIT數(shù)據(jù)集上的音素分類測試為例,實(shí)驗(yàn)對比表明在訓(xùn)練相同步數(shù)時,本文方法的訓(xùn)練時間約是wav2vec 2.0的1/4.

表6 本文方法和wav2vec 2.0-Base的參數(shù)值對比

2.3.4 消融實(shí)驗(yàn)結(jié)果

本節(jié)驗(yàn)證本文方法中將標(biāo)簽預(yù)測任務(wù)與重建任務(wù)結(jié)合的有效性.將僅使用標(biāo)簽預(yù)測任務(wù)訓(xùn)練的學(xué)生模型與僅使用重建任務(wù)、使用預(yù)測與重建任務(wù)結(jié)合訓(xùn)練(即本文方法)的學(xué)生模型在下游任務(wù)中的測試結(jié)果進(jìn)行對比.實(shí)驗(yàn)中均使用100 h訓(xùn)練數(shù)據(jù)對模型進(jìn)行預(yù)訓(xùn)練,聚類重訓(xùn)練過程中的類別數(shù)均設(shè)置為41.在訓(xùn)練下游任務(wù)時,語音表示模型的參數(shù)均被凍結(jié),實(shí)驗(yàn)設(shè)置與2.3.3節(jié)相同.

兩種下游任務(wù)的實(shí)驗(yàn)結(jié)果如表7所示.

表7 本文方法中使用不同下游任務(wù)的準(zhǔn)確率對比

由表7可看出,相比僅使用重建任務(wù),僅使用偽標(biāo)簽預(yù)測任務(wù)得到的語音表示模型在說話人識別和音素分類任務(wù)中的性能均有所下降,特別是在說話人識別任務(wù)中性能下降更明顯.這可能是由于標(biāo)簽預(yù)測任務(wù)更關(guān)注音素的類別信息,對說話人信息不敏感,從而使得到的語音表示中說話人信息有所損失.將兩種任務(wù)結(jié)合進(jìn)行訓(xùn)練后,模型性能在兩個下游任務(wù)中都得到提高,表明標(biāo)簽預(yù)測任務(wù)和重建任務(wù)具有互補(bǔ)性,由此表明本文方法的有效性.

3 結(jié) 束 語

本文在自監(jiān)督語音表示學(xué)習(xí)過程中引入隱藏的語音幀類別信息,借鑒噪聲學(xué)生訓(xùn)練的思想,構(gòu)造類別標(biāo)簽預(yù)測任務(wù),提出基于自監(jiān)督聚類重訓(xùn)練的語音表示學(xué)習(xí)方法.首先使用原始預(yù)訓(xùn)練模型作為教師模型,提取語音信號的初始表示,利用無監(jiān)督聚類得到語音幀的類別信息,進(jìn)而結(jié)合類別預(yù)測任務(wù)和原始的語音重建任務(wù),對預(yù)訓(xùn)練模型進(jìn)行重訓(xùn)練,獲得學(xué)生模型.在這一過程中,引入噪聲學(xué)生訓(xùn)練的思想,對輸入語音進(jìn)行隨機(jī)擾動,增強(qiáng)語音表示的穩(wěn)健性.基于TERA語音表示學(xué)習(xí)模型,給出本文方法的具體實(shí)現(xiàn)過程.實(shí)驗(yàn)表明,本文方法通過引入潛在的音素類別信息,得到更好的語音表示模型.經(jīng)過聚類重訓(xùn)練后,所得模型在音素識別和說話人識別等下游任務(wù)上,性能均得到一定提升.事實(shí)上,本文方法具有通用性,可與目前大部分的預(yù)訓(xùn)練方法結(jié)合,提高現(xiàn)有語音表示模型的語義信息表達(dá)能力.預(yù)訓(xùn)練模型的性能會隨著訓(xùn)練數(shù)據(jù)、訓(xùn)練時間的增加而得到提升,今后會使用更大的語料庫對模型進(jìn)行訓(xùn)練,并引入更多的下游任務(wù),驗(yàn)證本文模型的有效性.

猜你喜歡
音素類別語音
新目標(biāo)英語七年級(上)Starter Units 1-3 STEP BY STEP 隨堂通
依托繪本課程,培養(yǎng)學(xué)生英語音素意識
小學(xué)英語課堂中音素意識與自然拼讀整合訓(xùn)練的探索
魔力語音
基于MATLAB的語音信號處理
電子制作(2019年14期)2019-08-20 05:43:38
基于MQ3與MP3的價廉物美的酒駕語音提醒器
電子制作(2019年9期)2019-05-30 09:42:10
對方正在輸入……
小說界(2018年5期)2018-11-26 12:43:42
?不定冠詞a與an
服務(wù)類別
新校長(2016年8期)2016-01-10 06:43:59
論類別股東會
商事法論集(2014年1期)2014-06-27 01:20:42
贵溪市| 卓尼县| 黑龙江省| 陆川县| 盐池县| 扶绥县| 四会市| 邵武市| 鄂温| 沙洋县| 长顺县| 庐江县| 剑河县| 清流县| 西平县| 云霄县| 宣城市| 晋城| 洛隆县| 中卫市| 合作市| 望谟县| 北流市| 淮北市| 东丰县| 图们市| 全椒县| 连山| 怀集县| 永清县| 巫溪县| 仙居县| 武山县| 丹阳市| 久治县| 青阳县| 乡城县| 屯门区| 黄陵县| 柯坪县| 奇台县|