0
本文作者: 劉琳 | 2020-08-15 09:46 | 專題:CCF-GAIR 2020 全球人工智能與機(jī)器人峰會(huì) |
雷鋒網(wǎng)按:2020 年 8 月 7 日,全球人工智能和機(jī)器人峰會(huì)(CCF-GAIR 2020)正式開(kāi)幕。CCF-GAIR 2020 峰會(huì)由中國(guó)計(jì)算機(jī)學(xué)會(huì)(CCF)主辦,雷鋒網(wǎng)、香港中文大學(xué)(深圳)聯(lián)合承辦,鵬城實(shí)驗(yàn)室、深圳市人工智能與機(jī)器人研究院協(xié)辦。
從 2016 年的學(xué)產(chǎn)結(jié)合,2017 年的產(chǎn)業(yè)落地,2018 年的垂直細(xì)分,2019 年的人工智能 40 周年,峰會(huì)一直致力于打造國(guó)內(nèi)人工智能和機(jī)器人領(lǐng)域規(guī)模最大、規(guī)格最高、跨界最廣的學(xué)術(shù)、工業(yè)和投資平臺(tái)。
8 月 8 日上午,昆山杜克大學(xué)大數(shù)據(jù)研究中心 SMIP 實(shí)驗(yàn)室李明博士為前沿語(yǔ)音專場(chǎng)做了題為《基于深度編碼的聲紋識(shí)別及其關(guān)聯(lián)任務(wù)》的主題演講分享。
語(yǔ)音交互日趨成為人機(jī)交互的重要入口。語(yǔ)言自帶指令屬性,是人類最自然、最日常的溝通方式之一。從通過(guò)按鍵、觸控與機(jī)器交互過(guò)渡到語(yǔ)音人機(jī)交互,無(wú)疑是一大飛躍。但只能識(shí)別指令內(nèi)容是不夠的,真正的智能交互產(chǎn)生的基礎(chǔ)是機(jī)器能識(shí)別、區(qū)分人的身份,能像朋友一樣根據(jù)你的身份鑒別權(quán)限和提供個(gè)性化的服務(wù),否則語(yǔ)音交互就只是高配版遙控器,本質(zhì)還是單向的命令輸出工具——要實(shí)現(xiàn)真正智能的交互就需要加上聲紋識(shí)別這點(diǎn)料。
在演講中,李明副教授先是從特征提取,建立模型,魯棒性處理,分類器設(shè)計(jì)等幾個(gè)步驟介紹傳統(tǒng)聲紋方法,并隨后引出基于端到端深度學(xué)習(xí)框架的聲紋識(shí)別網(wǎng)絡(luò)設(shè)計(jì)。
李明副教授提到,基于深度編碼的聲紋識(shí)別與傳統(tǒng)的參數(shù)化建模方法從結(jié)構(gòu)上有一定的類比性,比如卷積神經(jīng)網(wǎng)絡(luò)用于特征提取,編碼層網(wǎng)絡(luò)用于計(jì)算統(tǒng)計(jì)量并得到固定維度的特征向量,全連接網(wǎng)絡(luò)用于后端分類等。
在李明副教授看來(lái),基于深度編碼的聲紋識(shí)別是在傳統(tǒng)技術(shù)上的升級(jí):一方面,基于深度編碼的聲紋識(shí)別更準(zhǔn)確,效果更好;另一方面,聲紋深度編碼還可以被用于說(shuō)話人日志,多說(shuō)話人合成,特定人變聲,特定人語(yǔ)音分離等一系列關(guān)聯(lián)任務(wù)中。
最后,李明博士也介紹了幾個(gè)基于聲紋深度編碼的語(yǔ)音處理關(guān)聯(lián)任務(wù)。
以下為昆山杜克大學(xué)李明博士的全部演講內(nèi)容,雷鋒網(wǎng)作了不改變?cè)獾恼砑熬庉嫞?/strong>
李明:我今天的報(bào)告的題目是《基于深度編碼的聲紋識(shí)別及其關(guān)聯(lián)任務(wù)》。
我們研究中心包含了很多研究方向,我主要做的是語(yǔ)音處理和多模態(tài)行為信號(hào)分析。
今天主要講聲紋識(shí)別。
聲紋識(shí)別是副語(yǔ)言語(yǔ)音屬性識(shí)別問(wèn)題的一個(gè)具體任務(wù),它和語(yǔ)種,性別、年齡、情感等標(biāo)簽的識(shí)別任務(wù)是一致的,主要的核心技術(shù)問(wèn)題是針對(duì)不定長(zhǎng)文本無(wú)關(guān)語(yǔ)音有監(jiān)督地預(yù)測(cè)句子級(jí)別標(biāo)簽。
深度學(xué)習(xí)之前的傳統(tǒng)方法一般有以下幾個(gè)步驟:信號(hào)預(yù)處理、特征提取、特征表示,魯棒性處理,以及分類器。
副語(yǔ)言語(yǔ)音屬性識(shí)別任務(wù)通常都是針對(duì)不定長(zhǎng)的文本無(wú)關(guān)語(yǔ)音特征序列,因?yàn)槲谋緝?nèi)容是不一樣的,所以很難直接進(jìn)行兩個(gè)序列的對(duì)比,一般是通過(guò)生成模型,把不定長(zhǎng)輸入特征序列的信息轉(zhuǎn)化到模型的參數(shù)向量或投影到模型上得到統(tǒng)計(jì)量特征,得到固定維度特征向量,以便于后端有監(jiān)督分類器的建模。
傳統(tǒng)方法我不細(xì)講,基本上傳統(tǒng)方法是 GMM 做生成模型,然后迭代GMM模型的均值向量去自適應(yīng)匹配輸入特征序列或者把數(shù)據(jù)投到模型上計(jì)算零階及一階二階統(tǒng)計(jì)量。傳統(tǒng)方法可以用非監(jiān)督的方式通過(guò)背景數(shù)據(jù)學(xué)習(xí)到 GMM 的高斯分量,把特征投影到各個(gè)高斯分量上計(jì)算統(tǒng)計(jì)量,也可以通過(guò)音素識(shí)別器,直接把特征識(shí)別到音素單元,在音素單元上計(jì)算統(tǒng)計(jì)量。
通常需要把不定常的特征序列轉(zhuǎn)變成定常、定維度的向量,當(dāng)我們有固定維度的向量,比如說(shuō)我們把各個(gè)高斯分量或各個(gè)音素單元上的統(tǒng)計(jì)量并聯(lián)排列到一起,它的維度是相當(dāng)高的,我們的數(shù)據(jù)量一般不支持直接在高維上建模,這個(gè)時(shí)候需要降維,一般選用因子分析。也可以投影到不同的正交子空間里,這樣可以得到多個(gè)低緯度向量,比如說(shuō) JFA 把信道和空間分開(kāi)。
之前說(shuō) GMM 作為生成模型,是非監(jiān)督的,也就是說(shuō)語(yǔ)音里面可能包含了聲紋、語(yǔ)種、情感和各種各樣的副語(yǔ)言語(yǔ)音屬性信息,都在這幾百維的向量中,通常會(huì)有參數(shù)化的方法,如LDA,WCCN等,也有非參數(shù)化的,比如說(shuō) NDA、LSDA等做有監(jiān)督魯棒性處理,提取我要的信息,抑制其他信息。
由于聲紋識(shí)別的訓(xùn)練集和測(cè)試集中的人是不同的,通常我們采用和人臉識(shí)別類似的確認(rèn)任務(wù)。我們會(huì)檢驗(yàn)兩條語(yǔ)音是否為同一個(gè)人說(shuō)的,這里后端一般會(huì)用 PLDA 進(jìn)行打分。
傳統(tǒng)方法里有特征提取、特征表示、魯棒性處理、后端分類器建模等幾個(gè)步驟。
今天主要講基于深度學(xué)習(xí)的聲紋識(shí)別,現(xiàn)在我們可以在前端用 CNN、TDNN等網(wǎng)絡(luò)結(jié)構(gòu)提取特征,我們提取到這些特征之后,可以使用各種池化策略和編碼層設(shè)計(jì),變成固定緯度的向量,最后全連接網(wǎng)絡(luò)代替了原來(lái)的后端分類工作,我們平時(shí)說(shuō)的聲紋深度編碼就是在全連接網(wǎng)絡(luò)這里的瓶頸層向量。
如果做的是語(yǔ)種識(shí)別訓(xùn)練,輸出層對(duì)應(yīng)的就是不同的語(yǔ)種。如果做聲紋任務(wù),訓(xùn)練時(shí)輸出層對(duì)應(yīng)的是訓(xùn)練數(shù)據(jù)的說(shuō)話人標(biāo)簽,測(cè)試的時(shí)候要抽出來(lái)聲紋深度編碼,把注冊(cè)和測(cè)試兩個(gè)語(yǔ)音對(duì)應(yīng)的深度編碼比一比,看是不是同一個(gè)人。
基于深度神經(jīng)網(wǎng)絡(luò)的端到端聲紋識(shí)別可以是幀級(jí)別的也可以是句子級(jí)別的。幀級(jí)別建模方法把訓(xùn)練和測(cè)試數(shù)據(jù),切成多個(gè)短時(shí)片斷,把當(dāng)前幀和前后的幾十幀放在一起做成固定維度的輸入,直接用全連接網(wǎng)絡(luò)建模,在測(cè)試時(shí),幀級(jí)別輸出結(jié)果會(huì)被整合為句子級(jí)別輸出結(jié)果。
現(xiàn)在主流的框架是句子級(jí)別的建模,輸入是不定長(zhǎng)的的語(yǔ)音信號(hào),輸出是整個(gè)句子的聲紋標(biāo)簽,可以輸出深度編碼,用于測(cè)試時(shí)做說(shuō)話人確認(rèn)。代表性的工作像Deep Speaker 和 X-vector。
我們提出在線的 Data Loader,把各個(gè)不定長(zhǎng)的輸入語(yǔ)音句子進(jìn)行隨機(jī)長(zhǎng)度截取,并在內(nèi)存中直接展開(kāi)豐富的多種在線數(shù)據(jù)增強(qiáng)處理,然后壓入隊(duì)列中。GPU從這個(gè)隊(duì)列抽取數(shù)據(jù)進(jìn)行訓(xùn)練。
編碼層的設(shè)計(jì)有平均池化,注意力池化,LDE池化,循環(huán)神經(jīng)網(wǎng)絡(luò)等方法。循環(huán)神經(jīng)網(wǎng)絡(luò)通常采用最后一幀的輸出作為固定維度向量。LDE,為可學(xué)習(xí)字典單元映射,把前端CNN網(wǎng)絡(luò)輸出的特征投影到不同的字典單元上計(jì)算池化,而不是全局的的平均池化。我們做文本無(wú)關(guān)的聲紋識(shí)別,希望能把投影單元分解地更細(xì)致一些?,F(xiàn)在用得比較多的是注意力池化,如Self-Attentive Pooling,在計(jì)算統(tǒng)計(jì)量的時(shí)候引入權(quán)重信息,進(jìn)行加權(quán)平均。
長(zhǎng)度歸一化(Length normalization)一般在訓(xùn)練的時(shí)候是沒(méi)有加在網(wǎng)絡(luò)里面,是得到深度編碼后再做長(zhǎng)度歸一化和PLDA。如果我們做超大量數(shù)據(jù)或模板的打分,發(fā)現(xiàn)是比較慢的,我們能不能打分的時(shí)候用一個(gè)內(nèi)積就可以完成操作,提高速度。損失函數(shù)(Loss)設(shè)計(jì)也是非常重要的,由于同是確認(rèn)問(wèn)題,聲紋識(shí)別任務(wù)完全可以直接用人臉識(shí)別研究中性能好的 Loss,也是非常實(shí)用、管用的方法。
這里我列一下我們實(shí)驗(yàn)室復(fù)現(xiàn)的幾個(gè)主流系統(tǒng)在Voxceleb數(shù)據(jù)集上的性能,供大家參考。第四個(gè)Resnet34是我們自己的系統(tǒng),E-TDNN、F-TDNN、Resnet-BAM,和Ecapa-TDNN都是目前國(guó)際主流的方法。
目前來(lái)自于智能音響、智能家居的聲紋產(chǎn)品需求量是非常大的,近場(chǎng)做的很好,遠(yuǎn)場(chǎng)還有一些問(wèn)題。比如說(shuō)我們近期主辦的Interspeech FFSVC20比賽,比賽是涵蓋了文本相關(guān)和文本無(wú)關(guān)的兩個(gè)賽道,數(shù)據(jù)加在一起也有大幾百人的數(shù)據(jù)是開(kāi)源的,可以用近場(chǎng)的開(kāi)源語(yǔ)音大數(shù)據(jù),用一些遠(yuǎn)場(chǎng)的仿真?zhèn)鬟f函數(shù),或是仿真軟件,把近場(chǎng)的數(shù)據(jù)增強(qiáng)為遠(yuǎn)場(chǎng)的數(shù)據(jù)訓(xùn)練一個(gè)基本模型,再拿少量幾百人的實(shí)際遠(yuǎn)場(chǎng)數(shù)據(jù)做微調(diào)(fine tuning),實(shí)際效果不錯(cuò)。同時(shí),我們也再注冊(cè)語(yǔ)音的數(shù)據(jù)增強(qiáng),多通道以及分布式陣列的聯(lián)合建模等方面做了點(diǎn)工作,發(fā)表在近期的Interspeech和ICASSP會(huì)議上。
下面跟大家分享一下我們組最近的一些聲紋深度編碼的關(guān)聯(lián)應(yīng)用。聲紋識(shí)別最相關(guān)聯(lián)的任務(wù)就是說(shuō)話人日志,就是給你一個(gè)涵蓋多個(gè)人說(shuō)話的單通道語(yǔ)音,但是可能混疊的問(wèn)題沒(méi)那么強(qiáng),有一些混疊,核心的問(wèn)題是誰(shuí)在什么時(shí)間點(diǎn)說(shuō)了什么話。首先是模塊化框架,這個(gè)方法在去年Dihard比賽中第一、第二名都是這樣的思路,先做語(yǔ)音端點(diǎn)檢測(cè),做完后均勻分段切片,然后每個(gè)分段切片上提取聲紋深度編碼。由于是超短時(shí)語(yǔ)音的深度編碼,它并不能很好的把音素信息過(guò)濾掉,可能要做一些多任務(wù)學(xué)習(xí),提高魯棒性。后面打分這里我們展開(kāi)講,主要講的是打分的策略,打分的方法傳統(tǒng)的是用 PLDA 進(jìn)行點(diǎn)對(duì)點(diǎn)的打分,相似度矩陣?yán)锏哪硞€(gè)點(diǎn)(i,j),只反應(yīng)切片片段i和j之間的相似度,沒(méi)有考慮上下文信息。我們這里引入LSTM和Vector-to-Sequence兩種方法結(jié)合上下文來(lái)計(jì)算相似度矩陣。提高相似度矩陣的準(zhǔn)確性。
另外大家可以看到說(shuō)話人日志中的端到端方法,還是有很大的潛力的,尤其是在沒(méi)有理想的聲音活動(dòng)檢測(cè)的前提下。我們?cè)趽p失函數(shù)上針對(duì)PIT Loss做了一些改進(jìn),降低了復(fù)雜度,可以輕松做到十幾個(gè)說(shuō)話人的訓(xùn)練。在 Dihard2019的Task2測(cè)試集上,模塊化框架目前最好的系統(tǒng)結(jié)果是 27.1%,而目前端到端方法以及達(dá)到32%,未來(lái)端到端方法在task2這種實(shí)際場(chǎng)景是非常有潛力的。
另外,傳統(tǒng)的多說(shuō)話人TTS方法比較難控制合成出來(lái)的聲音與目標(biāo)聲音的相似度,我們?cè)趥鹘y(tǒng)的多說(shuō)話人TTS結(jié)構(gòu)的基礎(chǔ)上,在輸出端額外內(nèi)嵌一個(gè)聲紋網(wǎng)絡(luò),把合成輸出的頻譜特征的聲紋深度編碼特征提取出來(lái),然后要求輸出端和輸入的目標(biāo)說(shuō)話人編碼需要保持高度一致,這樣可以提高合成語(yǔ)音的目標(biāo)人相似度,并保持基本一致的聲紋深度編碼信息。我們最近還有一個(gè)工作是 Cross-lingual multi-speaker TTS,可以把說(shuō)不同語(yǔ)言的多個(gè)說(shuō)話人的數(shù)據(jù)混合在一起訓(xùn)練多人多語(yǔ)言TTS系統(tǒng),比如可以讓純中文語(yǔ)料說(shuō)話人學(xué)會(huì)合成英文,純英文語(yǔ)料說(shuō)話人學(xué)會(huì)合成中文,非常適合混合語(yǔ)言多人及特定人合成任務(wù)。
時(shí)間關(guān)系,我就講到這里,謝謝大家!
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見(jiàn)轉(zhuǎn)載須知。
本專題其他文章