崔新明,賈 寧,周潔美慧
(大連東軟信息學(xué)院 計(jì)算機(jī)與軟件學(xué)院,大連 116023)
在人與人或人與計(jì)算機(jī)的交互中,話語(yǔ)的表達(dá)方式傳遞著重要的副語(yǔ)言信息,特別是蘊(yùn)含著與潛在情感有關(guān)的信息.因此,需要現(xiàn)代言語(yǔ)分析系統(tǒng)能夠分析這種與情感相關(guān)的非語(yǔ)言維度,以及話語(yǔ)本身的信息,以適應(yīng)更好的人機(jī)交互操作.近年來(lái),自動(dòng)識(shí)別口語(yǔ)情感內(nèi)容和情感語(yǔ)音對(duì)話等技術(shù)引起了越來(lái)越多研究人員的關(guān)注.語(yǔ)音情感識(shí)別和對(duì)話均是典型的有監(jiān)督的音頻任務(wù),它們均涉及低級(jí)音頻特征映射到具有不同情感的高級(jí)類標(biāo)簽或情感維度的映射.因此,帶精確標(biāo)注的數(shù)據(jù)集在構(gòu)建和評(píng)估語(yǔ)音情感識(shí)別系統(tǒng)中是非常重要的.然而,在現(xiàn)實(shí)生活中,真實(shí)表達(dá)情感的開(kāi)源語(yǔ)料庫(kù)少之又少,而且大多數(shù)語(yǔ)料庫(kù)使用的是非漢語(yǔ)語(yǔ)言.
基于此,本文提出了一個(gè)基于條件生成對(duì)抗網(wǎng)絡(luò)(conditional generative adversarial networks,條件GAN)的語(yǔ)音生成技術(shù),用于合成海量的漢語(yǔ)情感語(yǔ)音,并實(shí)現(xiàn)情感的精確表達(dá),在實(shí)驗(yàn)過(guò)程中,通過(guò)情感識(shí)別模型驗(yàn)證了生成情感語(yǔ)音的有效性.
語(yǔ)料庫(kù)規(guī)模不足或高度傾斜的數(shù)據(jù)是語(yǔ)音生成和語(yǔ)音識(shí)別過(guò)程中的一個(gè)常見(jiàn)問(wèn)題.在數(shù)據(jù)采集和標(biāo)注過(guò)程中,中性語(yǔ)音樣本的使用頻率遠(yuǎn)高于含有情感的語(yǔ)音樣本,或者存在大量情感表達(dá)有歧義的語(yǔ)音,這些問(wèn)題均導(dǎo)致數(shù)據(jù)集出現(xiàn)高度不平衡的現(xiàn)象.解決數(shù)據(jù)不平衡的一種常見(jiàn)方法是使用數(shù)據(jù)增強(qiáng)技術(shù)[1].Wong 等人[2]利用過(guò)采樣和變換生成數(shù)據(jù)空間合成樣本,有利于數(shù)據(jù)空間的擴(kuò)展以進(jìn)行數(shù)字分類.Schluter 等人[3]評(píng)估了七種不同的數(shù)據(jù)增強(qiáng)技術(shù),用于檢測(cè)語(yǔ)音譜圖中的情緒表達(dá),發(fā)現(xiàn)音高的偏移量和隨機(jī)頻率的濾波是最有效的情感表達(dá).此外,研究表明音調(diào)增強(qiáng)有利于環(huán)境聲音分類[4]和音樂(lè)流派分類[5]等任務(wù).對(duì)于語(yǔ)音生成等任務(wù),Aldeneh 等人[6]對(duì)原始信號(hào)應(yīng)用了語(yǔ)速的微調(diào),證明了情感表達(dá)的有效性.
除了傳統(tǒng)的數(shù)據(jù)增強(qiáng)方法,生成對(duì)抗網(wǎng)絡(luò)(generative adversarial networks,GAN)作為一種強(qiáng)大的生成模型,其應(yīng)用范圍越來(lái)越廣.GAN 通過(guò)同時(shí)訓(xùn)練兩個(gè)相互競(jìng)爭(zhēng)的網(wǎng)絡(luò)(一個(gè)生成器和一個(gè)鑒別器)來(lái)近似數(shù)據(jù)分布.GAN的計(jì)算流程與結(jié)構(gòu)如圖1所示.許多研究集中在提高生成樣本的質(zhì)量和穩(wěn)定GAN 訓(xùn)練等領(lǐng)域中[7].
圖1 GAN的計(jì)算流程與結(jié)構(gòu)
生成性對(duì)抗網(wǎng)絡(luò)已經(jīng)成功地應(yīng)用于各種計(jì)算機(jī)視覺(jué)任務(wù)以及與語(yǔ)音相關(guān)的應(yīng)用,如語(yǔ)音增強(qiáng)[8]和語(yǔ)音轉(zhuǎn)換[9].Sahu 等人部署對(duì)抗式自動(dòng)編碼器在壓縮特征空間中表示語(yǔ)音,同時(shí)保持情感類之間的區(qū)分性[10].Chang和Scherer 利用一個(gè)深層卷積GAN 以半監(jiān)督的方式學(xué)習(xí)情感言語(yǔ)的區(qū)別表示[11].Han 等人提出了一個(gè)由兩個(gè)網(wǎng)絡(luò)組成的條件對(duì)抗訓(xùn)練框架.一個(gè)學(xué)習(xí)預(yù)測(cè)情緒的維度表示,而另一個(gè)旨在區(qū)分預(yù)測(cè)和數(shù)據(jù)集的真實(shí)標(biāo)簽[12],其識(shí)別精度可以和傳統(tǒng)的合成網(wǎng)絡(luò)相當(dāng).
最近,基于GAN的強(qiáng)大合成能力,許多研究人員開(kāi)發(fā)了GAN的變換版本,Antoniou 等人[13]訓(xùn)練了一個(gè)生成類內(nèi)樣本的GAN.Zhu 等人[14]設(shè)計(jì)了CycleGAN架構(gòu)適用于面部表情的情感分類.對(duì)于語(yǔ)音領(lǐng)域,Sahu 等人[15]綜合特征向量用于提高分類器在情感任務(wù)中的性能.Mariani 等人[16]提出了一種條件GAN 結(jié)構(gòu)來(lái)解決數(shù)據(jù)不平衡問(wèn)題.基于上述現(xiàn)有的研究基礎(chǔ),本文選擇使用條件對(duì)抗生成網(wǎng)絡(luò)實(shí)現(xiàn)對(duì)于情感語(yǔ)音的合成,其中涉及權(quán)重學(xué)習(xí)和條件GAN的微調(diào)過(guò)程,此外在實(shí)驗(yàn)中設(shè)計(jì)了一個(gè)判別模型用于驗(yàn)證合成情感的有效性.
作為人機(jī)交互系統(tǒng)的重要功能之一,本文在生成對(duì)應(yīng)文本信息的基礎(chǔ)上,針對(duì)個(gè)體用戶的語(yǔ)音模型,以說(shuō)話者的低級(jí)描述符特征標(biāo)簽為條件,設(shè)計(jì)條件對(duì)抗生成網(wǎng)絡(luò)模型生成語(yǔ)音.
在生成過(guò)程中,生成模型的設(shè)計(jì)起到?jīng)Q定性的作用,傳統(tǒng)的生成模型需要預(yù)先獲得一個(gè)標(biāo)準(zhǔn)模型才可進(jìn)行數(shù)據(jù)的生成,該模型的獲取較為困難,且容易出現(xiàn)誤差,可以采用具有學(xué)習(xí)和模仿輸入數(shù)據(jù)分布的GAN模型實(shí)現(xiàn)目標(biāo).
GAN 由一個(gè)鑒別器和一個(gè)發(fā)生器組成,它們協(xié)同工作,以學(xué)習(xí)目標(biāo)的基礎(chǔ)數(shù)據(jù)分布,這種無(wú)需預(yù)先建模的方法,對(duì)于較大的數(shù)據(jù)是不可控的.為了解決GAN 太過(guò)自由這個(gè)問(wèn)題,可以為GAN 加一些約束,即一種帶條件約束的GAN,在生成模型(G)和判別模型(D)的建模中均引入條件變量,指導(dǎo)數(shù)據(jù)生成過(guò)程.
本文利用條件GAN 模型生成語(yǔ)音情感識(shí)別的生成特征向量.它學(xué)習(xí)以標(biāo)簽或其所屬的情感類為條件y的高維特征向量的分布.在生成網(wǎng)絡(luò)的基礎(chǔ)上,輸入增加了一個(gè)情感約束條件p(z),輸出是一個(gè)綜合打分或者輸出兩個(gè)分?jǐn)?shù),分別表示真實(shí)與條件GAN的相符程度.具體網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示.
圖2 條件GAN 模型網(wǎng)絡(luò)結(jié)構(gòu)
條件GAN的目標(biāo)函數(shù)是帶有條件概率的二人極小極大值博弈.如式(1)所示.
同一般形式的GAN 類似,條件GAN 也是先訓(xùn)練判別網(wǎng)絡(luò),再訓(xùn)練生成網(wǎng)絡(luò),然后循環(huán)此過(guò)程,即兩個(gè)網(wǎng)絡(luò)交替的完成訓(xùn)練.訓(xùn)練判別網(wǎng)絡(luò)的樣本與之前的樣本稍有不同,此時(shí)需要這3 種樣本,分別是:
(1)與條件相符的真實(shí)語(yǔ)音,期望輸出為1;
(2)與條件不符的真實(shí)語(yǔ)音,期望輸出為0;
(3)生成網(wǎng)絡(luò)生成的輸出,期望輸出為0.
如圖3所示,本文中條件GAN中生成數(shù)據(jù)生成以標(biāo)簽為條件.給定一組數(shù)據(jù)點(diǎn)及其對(duì)應(yīng)的標(biāo)簽,真實(shí)數(shù)據(jù)的類信息均為one-hot 編碼.條件GAN 學(xué)習(xí)條件分布,將含有噪聲的語(yǔ)音以及情感條件通過(guò)生成器,生成增強(qiáng)后的語(yǔ)音,增強(qiáng)后的語(yǔ)音和相似情感的語(yǔ)音通過(guò)判別器,判別器的功能是找出語(yǔ)音的正確類別,并實(shí)現(xiàn)對(duì)語(yǔ)音的標(biāo)記,生成器的目標(biāo)則是讓判別器實(shí)現(xiàn)對(duì)于生成語(yǔ)音的合理判別,在實(shí)現(xiàn)過(guò)程中,雙方不斷的微調(diào)各自的結(jié)果,最終達(dá)到一種平衡狀態(tài),即生成器生成的語(yǔ)音可以真實(shí)的模擬情感,而判別器可以從語(yǔ)音中識(shí)別出的目標(biāo)情感.基于此,可以獲得與相似情感語(yǔ)音的情感描述相同的生成結(jié)果.
圖3 條件GAN 生成模型
在條件GAN 模型初始化時(shí),需要將學(xué)習(xí)到的權(quán)值傳輸?shù)紾AN 模塊,編碼器權(quán)值分別傳輸?shù)脚袆e器和解碼器權(quán)值傳輸?shù)缴善?對(duì)于類條件,需要計(jì)算與每個(gè)類的圖像相對(duì)應(yīng)的自動(dòng)編碼器的學(xué)習(xí)潛在向量的均值和協(xié)方差矩陣.此時(shí)可用多元正態(tài)分布對(duì)每一類進(jìn)行建模,然后,從一個(gè)特定類的分布中隨機(jī)抽取一個(gè)潛在向量,并將其作為輸入提供給生成器,因此條件GAN需具有明確的類別信息.
另一個(gè)關(guān)鍵技術(shù)是條件GAN的微調(diào)過(guò)程,即條件GAN是使用少數(shù)和大多數(shù)類別的訓(xùn)練數(shù)據(jù)進(jìn)行微調(diào)的.通過(guò)這種方式,學(xué)習(xí)類之間共享的特性.這些特征有助于為少數(shù)類創(chuàng)造定性的條件.在微調(diào)期間,生成器從類條件潛在向量生成器中提取的潛在特征作為輸入.后者以均勻分布的類標(biāo)簽作為輸入.然后,將一批真實(shí)語(yǔ)音和生成的語(yǔ)音轉(zhuǎn)發(fā)給判別器.兩個(gè)競(jìng)爭(zhēng)網(wǎng)絡(luò)中的每一個(gè)的目標(biāo)是使用交叉熵優(yōu)化其損失函數(shù),對(duì)判別器進(jìn)行優(yōu)化后,使真實(shí)語(yǔ)音與正確的類標(biāo)簽相匹配,生成的語(yǔ)音與假標(biāo)簽相匹配.GAN 微調(diào)后,使用生成器分別為每個(gè)類別生成人工情感語(yǔ)音,以接近大多數(shù)類別的情感真實(shí)表達(dá).
本文采用IEMOCAP和自建情感語(yǔ)料庫(kù)分別進(jìn)行實(shí)驗(yàn)分析.
IEMOCAP 數(shù)據(jù)集包含兩個(gè)演員之間的對(duì)話記錄,數(shù)據(jù)的總量是來(lái)自10 個(gè)發(fā)言者的12 小時(shí)音頻和視頻信息,其中注釋了11 類情感標(biāo)簽(憤怒,幸福,悲傷,中立,驚訝,恐懼,沮喪和興奮)和尺寸標(biāo)簽(激活和效價(jià)的值)從1 到5).本文事先完成了數(shù)據(jù)過(guò)濾步驟:保留的樣本中,其中至少兩個(gè)注釋者就情感標(biāo)簽達(dá)成一致,丟棄話語(yǔ)注釋不同的情緒的樣本,并僅使用注釋為中性,憤怒,高興和悲傷的樣本,產(chǎn)生4 490 個(gè)樣本(憤怒的1 103,高興的595,中性的1 708和悲傷的1 084),其中使用4 個(gè)會(huì)話進(jìn)行訓(xùn)練,余下的1 個(gè)會(huì)話用于驗(yàn)證和測(cè)試.
自建情感語(yǔ)料庫(kù)是由本校60 余名學(xué)生及教師錄制的語(yǔ)音樣本集合,數(shù)據(jù)總量為包含40 條文字樣本的21 000 條音頻數(shù)據(jù),每個(gè)音頻時(shí)長(zhǎng)約2–4 s,均采用中性,憤怒,高興和悲傷4 種情感進(jìn)行錄制.每類的樣品數(shù)量較為均衡.與IEMOCAP 數(shù)據(jù)集的處理方法類似,只保留至少兩個(gè)注釋者的情感標(biāo)簽一致的數(shù)據(jù),同時(shí)使用5 折交叉驗(yàn)證的方式進(jìn)行測(cè)試.
對(duì)于IEMOCAP的評(píng)估實(shí)驗(yàn),我們使用5 折交叉驗(yàn)證,即使用4 個(gè)會(huì)話進(jìn)行訓(xùn)練,使用1 個(gè)會(huì)話進(jìn)行測(cè)試.此設(shè)置是相關(guān)SER 庫(kù)中IEMOCAP的常見(jiàn)做法.我們使用80%–20%的切分策略,分別進(jìn)行訓(xùn)練和驗(yàn)證.
此處選擇深度學(xué)習(xí)方法建立情感特征驗(yàn)證模型,使用TensorFlow 作為開(kāi)發(fā)框架.此處采用了雙向3 層的長(zhǎng)短期記憶網(wǎng)絡(luò)(long-short term memory,LSTM)模型,雙向是指存在兩個(gè)傳遞相反信息的循環(huán)層,第1 層按時(shí)間順序傳遞信息,第2 層按時(shí)間逆序傳遞信息.它意味著過(guò)去和未來(lái)的信息均可以成功捕獲,這是由于情感表達(dá)的時(shí)序因素可以由當(dāng)前時(shí)刻的前后若干幀的信息共同決定.因此按照上述思路設(shè)計(jì)了3 層雙向LSTM 模型,利用條件GAN 模型獲得的新語(yǔ)音進(jìn)行模型的訓(xùn)練和參數(shù)學(xué)習(xí).此模型的結(jié)構(gòu)如圖4所示.
圖4 語(yǔ)音情感驗(yàn)證模型
設(shè)計(jì)相關(guān)的實(shí)驗(yàn)驗(yàn)證其有效性,本節(jié)將對(duì)比情感語(yǔ)音的識(shí)別效果.采用加權(quán)精度(weighted accuracy,WA)和未加權(quán)精度(unweighted accuracy,UA)作為指標(biāo),采用圖4中描述的情感分類模型進(jìn)行測(cè)試.IEMOCAP語(yǔ)料庫(kù)和自建語(yǔ)料庫(kù)的測(cè)試結(jié)果見(jiàn)表1和表2.
表1 IEMOCAP 測(cè)試結(jié)果 (%)
表2 自建語(yǔ)料庫(kù)測(cè)試結(jié)果 (%)
從IEMOCAP 語(yǔ)料庫(kù)和自建語(yǔ)料庫(kù)的測(cè)試結(jié)果可以看出,使用條件GAN 模型生成語(yǔ)音的情感識(shí)別效果高于使用GAN 模型生成語(yǔ)音的結(jié)果,而且,它們的測(cè)試精度與原始語(yǔ)音的精度相當(dāng),由此可以得出結(jié)論,當(dāng)前的條件GAN 模型可以生成與原始語(yǔ)音信號(hào)表達(dá)情感相似的信號(hào).
進(jìn)一步對(duì)比驗(yàn)證生成語(yǔ)音與原始語(yǔ)音的相似度及可用性.分別使用原始語(yǔ)音、生成語(yǔ)音和上述語(yǔ)音集合作為訓(xùn)練數(shù)據(jù),采用生成語(yǔ)音、原始語(yǔ)音和混合語(yǔ)音作為測(cè)試數(shù)據(jù),搭建如圖4所示的情感分類模型.IEMOCAP 語(yǔ)料庫(kù)和自建語(yǔ)料庫(kù)的測(cè)試結(jié)果見(jiàn)表3和表4.
表3 IMOCAP 測(cè)試結(jié)果 (%)
表4 自建語(yǔ)料庫(kù)測(cè)試結(jié)果 (%)
從測(cè)試結(jié)果可以看出生成語(yǔ)音與原始語(yǔ)音相似且可用,使用生成語(yǔ)音與原始語(yǔ)音的集合可以進(jìn)一步提升語(yǔ)音情感識(shí)別的有效性.
最后,將原始數(shù)據(jù)與生成數(shù)據(jù)結(jié)合進(jìn)一步對(duì)情感語(yǔ)音分類,現(xiàn)有方法測(cè)試結(jié)果如表5,自建語(yǔ)料庫(kù)模型測(cè)試結(jié)果如表6.由測(cè)試結(jié)果可以看出自建語(yǔ)料庫(kù)后對(duì)情感語(yǔ)音進(jìn)行分類,并對(duì)比現(xiàn)有方法,自建語(yǔ)料庫(kù)后的模型相比現(xiàn)有方法識(shí)別精度有所提升.
表5 現(xiàn)有方法測(cè)試結(jié)果
表6 自建語(yǔ)料庫(kù)測(cè)試結(jié)果
本文利用條件GAN 模型對(duì)大量情感語(yǔ)音進(jìn)行訓(xùn)練,其生成樣本接近原始學(xué)習(xí)內(nèi)容的自然語(yǔ)音信號(hào)的情感表達(dá),通過(guò)實(shí)驗(yàn)表明,使用IEMOCAP 語(yǔ)料庫(kù)和自建語(yǔ)料庫(kù)獲得的新語(yǔ)音具有與原語(yǔ)音相匹配的情感表達(dá).
在未來(lái)的研究過(guò)程中,作者將進(jìn)一步擴(kuò)充現(xiàn)有的情感語(yǔ)料庫(kù),同時(shí)進(jìn)一步改進(jìn)條件GAN 模型,以提升生成新語(yǔ)音的情感表達(dá)效果.