您現在的位置是:首頁 > 網頁遊戲首頁網頁遊戲

崑山杜克大學大資料研究中心 SMIIP 實驗室李明博士:為什麼說聲紋深度編碼把聲紋識別和其他語音關聯任務有機聯絡起來?|CCF-GAIR 2020

簡介另外,傳統的多說話人TTS方法比較難控制合成出來的聲音與目標聲音的相似度,我們在傳統的多說話人TTS結構的基礎上,在輸出端額外內嵌一個聲紋網路,把合成輸出的頻譜特徵的聲紋深度編碼特徵提取出來,然後要求輸出端和輸入的目標說話人編碼需要保持高度

一個人的聲紋如何改變

雷鋒網按:2020 年 8 月 7 日,全球人工智慧和機器人峰會(CCF-GAIR 2020)正式開幕。CCF-GAIR 2020 峰會由中國計算機學會(CCF)主辦,雷鋒網、香港中文大學(深圳)聯合承辦,鵬城實驗室、深圳市人工智慧與機器人研究院協辦。

從 2016 年的學產結合,2017 年的產業落地,2018 年的垂直細分,2019 年的人工智慧 40 週年,峰會一直致力於打造國內人工智慧和機器人領域規模最大、規格最高、跨界最廣的學術、工業和投資平臺。

8 月 8 日上午,崑山杜克大學大資料研究中心 SMIP 實驗室李明博士為前沿語音專場做了題為《基於深度編碼的聲紋識別及其關聯任務》的主題演講分享。

崑山杜克大學大資料研究中心 SMIIP 實驗室李明博士:為什麼說聲紋深度編碼把聲紋識別和其他語音關聯任務有機聯絡起來?|CCF-GAIR 2020

語音互動日趨成為人機互動的重要入口。語言自帶指令屬性,是人類最自然、最日常的溝通方式之一。從透過按鍵、觸控與機器互動過渡到語音人機互動,無疑是一大飛躍。但只能識別指令內容是不夠的,真正的智慧互動產生的基礎是機器能識別、區分人的身份,能像朋友一樣根據你的身份鑑別許可權和提供個性化的服務,否則語音互動就只是高配版遙控器,本質還是單向的命令輸出工具——要實現真正智慧的互動就需要加上聲紋識別這點料。

在演講中,李明副教授先是從特徵提取,建立模型,魯棒性處理,分類器設計等幾個步驟介紹傳統聲紋方法,並隨後引出基於端到端深度學習框架的聲紋識別網路設計。

李明副教授提到,基於深度編碼的聲紋識別與傳統的引數化建模方法從結構上有一定的類比性,比如卷積神經網路用於特徵提取,編碼層網路用於計算統計量並得到固定維度的特徵向量,全連線網路用於後端分類等。

在李明副教授看來,基於深度編碼的聲紋識別是在傳統技術上的升級:一方面,基於深度編碼的聲紋識別更準確,效果更好;另一方面,聲紋深度編碼還可以被用於說話人日誌,多說話人合成,特定人變聲,特定人語音分離等一系列關聯任務中。

最後,李明博士也介紹了幾個基於聲紋深度編碼的語音處理關聯任務。

以下為崑山杜克大學李明博士的全部演講內容,雷鋒網作了不改變原意的整理及編輯:

李明:

我今天的報告的題目是《基於深度編碼的聲紋識別及其關聯任務》。

我們研究中心包含了很多研究方向,我主要做的是語音處理和多模態行為訊號分析。

今天主要講聲紋識別。

聲紋識別是副語言語音屬性識別問題的一個具體任務,它和語種,性別、年齡、情感等標籤的識別任務是一致的,主要的核心技術問題是針對不定長文字無關語音有監督地預測句子級別標籤。

深度學習之前的傳統方法一般有以下幾個步驟:訊號預處理、特徵提取、特徵表示,魯棒性處理,以及分類器。

副語言語音屬性識別任務通常都是針對不定長的文字無關語音特徵序列,因為文字內容是不一樣的,所以很難直接進行兩個序列的對比,一般是透過生成模型,把不定長輸入特徵序列的資訊轉化到模型的引數向量或投影到模型上得到統計量特徵,得到固定維度特徵向量,以便於後端有監督分類器的建模。

崑山杜克大學大資料研究中心 SMIIP 實驗室李明博士:為什麼說聲紋深度編碼把聲紋識別和其他語音關聯任務有機聯絡起來?|CCF-GAIR 2020

傳統方法我不細講,基本上傳統方法是 GMM 做生成模型,然後迭代GMM模型的均值向量去自適應匹配輸入特徵序列或者把資料投到模型上計算零階及一階二階統計量。傳統方法可以用非監督的方式透過背景資料學習到 GMM 的高斯分量,把特徵投影到各個高斯分量上計算統計量,也可以透過音素識別器,直接把特徵識別到音素單元,在音素單元上計算統計量。

通常需要把不定常的特徵序列轉變成定常、定維度的向量,當我們有固定維度的向量,比如說我們把各個高斯分量或各個音素單元上的統計量並聯排列到一起,它的維度是相當高的,我們的資料量一般不支援直接在高維上建模,這個時候需要降維,一般選用因子分析。也可以投影到不同的正交子空間裡,這樣可以得到多個低緯度向量,比如說 JFA 把通道和空間分開。

之前說 GMM 作為生成模型,是非監督的,也就是說語音裡面可能包含了聲紋、語種、情感和各種各樣的副語言語音屬性資訊,都在這幾百維的向量中,通常會有引數化的方法,如LDA,WCCN等,也有非引數化的,比如說 NDA、LSDA等做有監督魯棒性處理,提取我要的資訊,抑制其他資訊。

崑山杜克大學大資料研究中心 SMIIP 實驗室李明博士:為什麼說聲紋深度編碼把聲紋識別和其他語音關聯任務有機聯絡起來?|CCF-GAIR 2020

由於聲紋識別的訓練集和測試集中的人是不同的,通常我們採用和人臉識別類似的確認任務。我們會檢驗兩條語音是否為同一個人說的,這裡後端一般會用 PLDA 進行打分。

傳統方法裡有特徵提取、特徵表示、魯棒性處理、後端分類器建模等幾個步驟。

今天主要講基於深度學習的聲紋識別,現在我們可以在前端用 CNN、TDNN等網路結構提取特徵,我們提取到這些特徵之後,可以使用各種池化策略和編碼層設計,變成固定緯度的向量,最後全連線網路代替了原來的後端分類工作,我們平時說的聲紋深度編碼就是在全連線網路這裡的瓶頸層向量。

如果做的是語種識別訓練,輸出層對應的就是不同的語種。如果做聲紋任務,訓練時輸出層對應的是訓練資料的說話人標籤,測試的時候要抽出來聲紋深度編碼,把註冊和測試兩個語音對應的深度編碼比一比,看是不是同一個人。

基於深度神經網路的端到端聲紋識別可以是幀級別的也可以是句子級別的。幀級別建模方法把訓練和測試資料,切成多個短時片斷,把當前幀和前後的幾十幀放在一起做成固定維度的輸入,直接用全連線網路建模,在測試時,幀級別輸出結果會被整合為句子級別輸出結果。

現在主流的框架是句子級別的建模,輸入是不定長的的語音訊號,輸出是整個句子的聲紋標籤,可以輸出深度編碼,用於測試時做說話人確認。代表性的工作像Deep Speaker 和 X-vector。

我們提出線上的 Data Loader,把各個不定長的輸入語音句子進行隨機長度擷取,並在記憶體中直接展開豐富的多種線上資料增強處理,然後壓入佇列中。GPU從這個佇列抽取資料進行訓練。

編碼層的設計有平均池化,注意力池化,LDE池化,迴圈神經網路等方法。迴圈神經網路通常採用最後一幀的輸出作為固定維度向量。LDE,為可學習字典單元對映,把前端CNN網路輸出的特徵投影到不同的字典單元上計算池化,而不是全域性的的平均池化。我們做文字無關的聲紋識別,希望能把投影單元分解地更細緻一些。現在用得比較多的是注意力池化,如Self-Attentive Pooling,在計算統計量的時候引入權重資訊,進行加權平均。

長度歸一化(Length normalization)一般在訓練的時候是沒有加在網路裡面,是得到深度編碼後再做長度歸一化和PLDA。如果我們做超大量資料或模板的打分,發現是比較慢的,我們能不能打分的時候用一個內積就可以完成操作,提高速度。損失函式(Loss)設計也是非常重要的,由於同是確認問題,聲紋識別任務完全可以直接用人臉識別研究中效能好的 Loss,也是非常實用、管用的方法。

這裡我列一下我們實驗室復現的幾個主流系統在Voxceleb資料集上的效能,供大家參考。第四個Resnet34是我們自己的系統,E-TDNN、F-TDNN、Resnet-BAM,和Ecapa-TDNN都是目前國際主流的方法。

崑山杜克大學大資料研究中心 SMIIP 實驗室李明博士:為什麼說聲紋深度編碼把聲紋識別和其他語音關聯任務有機聯絡起來?|CCF-GAIR 2020

目前來自於智慧音響、智慧家居的聲紋產品需求量是非常大的,近場做的很好,遠場還有一些問題。比如說我們近期主辦的Interspeech FFSVC20比賽,比賽是涵蓋了文字相關和文字無關的兩個賽道,資料加在一起也有大幾百人的資料是開源的,可以用近場的開源語音大資料,用一些遠場的模擬傳遞函式,或是模擬軟體,把近場的資料增強為遠場的資料訓練一個基本模型,再拿少量幾百人的實際遠場資料做微調(fine tuning),實際效果不錯。同時,我們也再註冊語音的資料增強,多通道以及分散式陣列的聯合建模等方面做了點工作,發表在近期的Interspeech和ICASSP會議上。

下面跟大家分享一下我們組最近的一些聲紋深度編碼的關聯應用。聲紋識別最相關聯的任務就是說話人日誌,就是給你一個涵蓋多個人說話的單通道語音,但是可能混疊的問題沒那麼強,有一些混疊,核心的問題是誰在什麼時間點說了什麼話。首先是模組化框架,這個方法在去年Dihard比賽中第一、第二名都是這樣的思路,先做語音端點檢測,做完後均勻分段切片,然後每個分段切片上提取聲紋深度編碼。由於是超短時語音的深度編碼,它並不能很好的把音素資訊過濾掉,可能要做一些多工學習,提高魯棒性。後面打分這裡我們展開講,主要講的是打分的策略,打分的方法傳統的是用 PLDA 進行點對點的打分,相似度矩陣裡的某個點(i,j),只反應切片片段i和j之間的相似度,沒有考慮上下文資訊。我們這裡引入LSTM和Vector-to-Sequence兩種方法結合上下文來計算相似度矩陣。提高相似度矩陣的準確性。

另外大家可以看到說話人日誌中的端到端方法,還是有很大的潛力的,尤其是在沒有理想的聲音活動檢測的前提下。我們在損失函式上針對PIT Loss做了一些改進,降低了複雜度,可以輕鬆做到十幾個說話人的訓練。在 Dihard2019的Task2測試集上,模組化框架目前最好的系統結果是 27。1%,而目前端到端方法以及達到32%,未來端到端方法在task2這種實際場景是非常有潛力的。

另外,傳統的多說話人TTS方法比較難控制合成出來的聲音與目標聲音的相似度,我們在傳統的多說話人TTS結構的基礎上,在輸出端額外內嵌一個聲紋網路,把合成輸出的頻譜特徵的聲紋深度編碼特徵提取出來,然後要求輸出端和輸入的目標說話人編碼需要保持高度一致,這樣可以提高合成語音的目標人相似度,並保持基本一致的聲紋深度編碼資訊。我們最近還有一個工作是 Cross-lingual multi-speaker TTS,可以把說不同語言的多個說話人的資料混合在一起訓練多人多語言TTS系統,比如可以讓純中文語料說話人學會合成英文,純英文語料說話人學會合成中文,非常適合混合語言多人及特定人合成任務。

時間關係,我就講到這裡,謝謝大家!

Top