培訓話語級嵌入網路,用於說話人識別和驗證
Training Utterance-level Embedding Networks for Speaker Identification and Verification
培訓話語級嵌入網路,用於說話人識別和驗證
摘要
將語音訊號中特定於說話者的特徵編碼為固定長度向量是說話人識別和驗證系統的關鍵組成部分。 本文介紹了一種用於說話人嵌入模型的深度神經網路架構,其中嵌入式話語向量中的相似性明確地近似於說話者的聲音模式中的相似性。 所提出的架構包含額外的揚聲器嵌入查詢表,以基於嵌入相似性來計算損耗。 此外,我們提出了一種新的資料增強特徵抽樣方法。 基於兩個資料庫的實驗表明,與完全連線的分類器和端到端驗證模型相比,我們的模型在說話人識別和驗證方面更有效。
索引術語:說話人分類,說話人歧視,表徵學習,損失組合,特徵增強
一,簡介
能夠區分說話者的表示在許多與說話者識別相關的問題(如說話人識別,驗證,檢測,分割和聚類)以及與說話者相關的語音識別系統中起著至關重要的作用。通過比較說話者表示,系統可以識別說話者的身份或驗證當前說話者是否與登記的目標說話者匹配。
為了構建說話人模型,像i-vector [1]這樣的傳統方法詳細闡述了將特徵空間分解成與聲音因素相對應的子空間,包括揚聲器,會話和聲道效果,然後提取揚聲器因子。隨著最近表現學習中深度模型的成功,研究人員開發了深度神經架構(DNA)來生成特定於說話者的表示[2,3,4]。其中一項早期研究引入了d向量方法[2],其中d向量(或深向量)與i向量具有相似的作用,但是來自深度神經網路。通過對所有幀級特徵的最後隱藏層的啟用進行平均來獲得話語級d-向量。
對驗證中的d向量方法的主要批評之一是它分別處理前端表示學習和後端評分元件。為了解決這個問題,Heigold等人。 [3]提出了一個端到端架構,它共同優化了一個整合網路中的系統元件,用於“OK Google”基準測試,該基準測試依賴於文字,需要發言者陳述預定短語。後來,斯奈德等人。 [5]通過開發另一種端到端架構,將問題域擴充套件到與文字無關的說話者驗證環境。對於微軟的“Hey,Cortana”基準測試,引入了基於注意力的端到端模型[6]。最近,百度研究人員提出了一種端到端神經元嵌入系統[4],它將話語級輸入轉換為表示為連續向量的揚聲器嵌入。他們不是一起訓練前端和後端元件,而是訓練網路,以便在假設基於餘弦相似性的後端分類器時,嵌入空間中的共同相似性儘可能地與話語相似性相對應。
由於大量的專用資料,端到端系統在他們自己的基準測試任務中取得了成功,但是大多數系統在模型訓練和缺乏普遍性方面都存在困難[7]。困難主要來自於這些系統將話語對作為訓練輸入,以瞭解每對是來自同一個說話者還是不同說話者。通過可訓練的子網路傳播對增加了計算成本和不穩定收斂的可能性。以對稱方式訓練模型高度取決於取樣對的分佈。此外,端到端方法的任務導向性質導致有限的可重用性,而忽略了嵌入系統[4,8]。
本文介紹了一種用於說話人嵌入模型的DNA,其中話語嵌入的向量空間相似性直接近似於說話者的聲音模式的相似性。我們有[4]類似的動機,同時提出另一個損失項而不是使用三聯體損失。我們的DNA在訓練階段不採用取樣對或三聯體作為輸入,避免了上述困難。更具體地說,所提出的方法基於顯式計算儲存器中當前嵌入和可更新揚聲器嵌入之間的相似性來最小化測量誤差的額外損耗,這受到字嵌入模型的啟發[9,10,11]。與整個圖的計算負擔相比,附加項的計算負擔是微不足道的。此外,我們在[3,4,5,6,8]中對話語級語音段而不是幀級語音段訓練模型,因為許多說話者識別應用程式,如具有某些密碼短語的使用者驗證系統,執行話語層面的任務。
我們在第2節中介紹了嵌入式DNA及其用於說話人識別和驗證的訓練過程。第3節提供了TIMIT和LibriSpeech資料庫上提出的方法的實驗結果。最後,最後一節總結並總結了論文。
2.提出的方法
我們首先解釋如何增加訓練說話人模型的資料,這些模型的輸入是從話語級語音段中提取的特徵向量序列。 接下來,我們描述了說話人分類的基線網路結構,並提出了一種通用的架構。 揚聲器分類器本身可以用於閉合的揚聲器識別,其中系統知道所有候選揚聲器。 因此,我們使用兩種表達方式,揚聲器分類器和說話者識別模型,可以互換,取決於上下文。 完成分類器培訓後,我們將經過訓練的網路重新用作驗證的特徵提取器。 在這種情況下,我們分別將分類器訓練和網路自適應稱為預訓練和微調。
2.1資料擴充
在話語級建模中,增強是至關重要的,其中訓練例項的數量遠小於幀級建模中的數量,尤其是當每個說話者有少量話語時。雖然已經有一些增強方法能夠成功地訓練語音識別的深層模型[12,13]並對說話者的母語進行分類[14],但是說話人識別的方法尚未進行徹底的研究。由於幀級建模[15,16]本身可以通過從話語中提取許多幀來增加訓練例項的數量,因此增加資料的動機較少。對於話語級建模,大多數成功的系統使用來自數萬個揚聲器的足夠資料來訓練他們的網路[3,4,5,6]。因此,以前的論文很少涉及資料增加問題。
在不改變標籤的情況下擾亂語音資料是語音識別中的一種常見增強策略。然而,許多保留音素標籤的擾動方法不是說話者不變的。頻域的變化可能存在擾動特徵將失去說話者特徵的風險[12,17]。速度和速度擾動[13]也容易受到這種限制,因為每個音素的時間持續時間與不同的聲音生成密切相關[18]。
為了保留說話者標籤,我們遵循重新取樣風格,其中每個話語被隨機分成幾個部分。然後,以交替的方式移除或放置一塊,並將其餘的塊連線起來。這是[14]中實現的增強的擴充套件,它從原始輸入中取樣連續子序列。我們選擇奇數位置的片段和偶數位置的片段之間的較長級聯語音,以防止輸入太短。由於該過程在每個時期執行並且深度學習過程通常在多個時期上的訓練集上迭代,因此迭代中的已刪除語音將被饋送到其他迭代中的模型中。
2.2揚聲器分類器
基線網路由一個d向量提取模組組成,它充當一個變換函式δ(),它將一系列特徵向量x對映到d向量d,即δ(x)= d,並且完全符合 輸出節點與揚聲器ID一一對應的nected層(圖1)。 我們使用長短期記憶(LSTM)遞迴神經網路(RNN)[19],其中單個最後一個輸出後跟一個完全連線的層,用於提取d-向量,如[3]中所述。 雖然它可以改進模型以用複雜的子網結構替換子網結構,但在這裡我們專注於使用提取的d向量來制定損耗,而不是將子網路構建為將特徵序列轉換為d向量。 可訓練的網路權重得到優化
使用softmax交叉熵損失lf與完全連線的輸出啟用af,其中第i個元素定義如下:
其中Wi和bi分別對應於說話者ID i 1,2,...,K的完全連線層的權重和偏差。 af的大小等於訓練集中的發言者數量K.
對於涉及處理諸如說話者驗證之類的域外揚聲器的任務,δ可以在通過最小化lf訓練為特徵擴充套件器之後產生用於後端分類器的輸入的說話者表示。對後端分類器的直接方法是計算兩個表示之間的餘弦相似性,用於說明是否來自同一個說話者的說話人識別問題[2],但報告的表現並不令人滿意[3,20] 。雖然其他後端分類器包括線性判別分析(LDA)和概率LDA [7,21],但在分類和區分之間的優化目標仍然存在不一致。
另一種有希望的方法是構建一個連體網路並同時優化d向量提取模組和閾值部分。 Siamese架構由兩個相同的子網路組成,共享可訓練的權重[22]。子網將語音段對轉換為兩個d向量,然後標量能量函式評估它們之間的相容性。在[5]中,作者在訓練階段使用了暹羅網路,當入學率為1時,[3]和[6]中的模型也被縮減為暹羅網路。
然而,這些模型需要通過為每個話語挑選最相似的冒充者[6]或通過從同一個揚聲器中選擇沒有任何兩對的真實對來構建小批量然後形成冒名頂替者來對真實和冒名者對進行抽樣的繁瑣程式其中[5]。最近,三重態損耗用於構建揚聲器嵌入系統[4,8],但取樣三元組必須滿足硬約束。此外,同時訓練相同的子網會導致不穩定的收斂[7]。是因為,
[4]預先訓練了一個softmax揚聲器分類器和[5]通過一個細緻的方案提供訓練對,該方案根據持續時間安排話語的饋送順序。
圖2描繪了我們提出的架構,其包含大小為K h的可訓練嵌入查詢表E,其中h是d向量大小,類似於字嵌入模型[9,10]。表格中的每個嵌入Ei Rh充當相應說話者的登記揚聲器模型。我們計算表中d向量和說話人嵌入之間的相似性得分。通過這種計算,模型可以
以間接方式比較d向量而不需要完全對輸入。分數向量用於計算soft-max交叉熵損失。就在softmax層之前,得分向量通過線性層,整流線性單元(ReLU)層,然後再經過線性層。這種顯式公式儘可能地刺激同一說話者的d向量,而不同說話者的d向量相對於某個相似性度量保持彼此的距離。線性和ReLU層保持得分低於某一相似性,以擴大d-向量附近的揚聲器嵌入的影響。
括語音活動檢測,平均倒譜替換,以及具有均值和方差的全域性或說話者級標準化。相反,預計RNN會在一定程度上進行預處理,這將深入研究最小化輸入預處理的趨勢。
在這項工作中,實驗模型的d向量大小和LSTM單位數為256。我們將特徵向量序列x的最大長度限制為200幀,因為反向傳播的步驟太多是不可取的[19]。在增強之後完成將特徵序列截斷為固定長度。在訓練階段,我們對完全連線的層應用批量歸一化和丟失0.1,然後是最後一個RNN輸出。批量大小為256,AdamOptimizer [24]更新了引數所有實驗的學習率為10-4,β1= 0.9,β2= 0.99。我們通過將完全連線的層的平方權重的平均值乘以正則化引數0.01來使L2損失使基線模型正規化。
由於廣義架構和Siamese架構在餘弦相似度計算期間對d向量進行歸一化,因此我們沒有對它們應用L2正則化。
3.2績效比較
為了研究2.1節中引入的增強的影響,我們通過將分裂點p的數量從零(無增大)改變為五來在TIMIT資料庫上訓練基線說話者分類器。圖3中的結果顯示了所提出方法的有效性。 LibriSpeech分類的資料集擴充不如TIMIT有效,因為LibriSpeech中每個說話者的話語數量是TIMIT的10倍以上。
儘管如此,增強並沒有降低效能,並有助於模型的穩健性。因此,我們使用三個分裂點對下面給出的所有實驗應用增強。
圖4顯示了三種廣義模型的說話人識別效能:λ= 0的模型(稱為M0),它是基線模型; λ= 1的模型(稱為M1),在不考慮lf的情況下最小化le;和λ= 0.5的模型(稱為M0.5)。實驗重複幾次,M0的誤差率在3.1%和5.7%之間波動,而M0.5的誤差率在TIMIT的1.7±3.1%範圍內。在LibriSpeech上,M0和M0.5分別實現了2.3 4.3%和0.8 1.8%的錯誤率。對於這兩個資料庫,M0.5始終優於其他資料庫。表現
M1在培訓的早期階段很差,但它在某些迭代中趕上了基線模型的表現。最小化組合損失加速了M1的訓練並提高了M0的效能。
接下來,我們研究了從說話人識別資料集中學習的所提出模型的d向量提取模組,以檢視它在說話人驗證任務中是否仍然有用。對於這項調查,我們從每組中以1:1的比例對真正的對和冒充者對進行取樣,如前一個小節所述。我們沒有對不同性別的冒名頂替者進行抽樣以避免瑣碎的情況。表1顯示了兩個資料庫的結果,通過比較訓練四萬次迭代後沒有預訓練的Siamese模型的錯誤率與兩個微調模型,每個模型重複使用預訓練三萬次迭代後獲得的權重分別為M0和M0.5。請注意,用於預訓練的迭代比用於訓練Siamese網路的迭代花費的處理時間更少,因為Siamese網路評估一對中兩個輸入的啟用。
結果表明,微調模型在沒有預訓練的情況下優於Siamese模型,符合[7,25]。我們的結果類似於[3]中的小訓練集實驗,而不是同一篇論文中的大型訓練集實驗。這些共同意味著Siamese模型的效能對訓練資料集中的揚聲器數量比對微調模型更敏感。此外,重新使用M0.5的微調模型在兩個資料庫的微調模型中更好,這證實了所提方法的有效性。
4結論
在本文中,我們通過最小化基於嵌入相似性的附加損失,提出了一種易於處理且有效的方法來訓練說話人嵌入網路。實驗表明,我們的模型優於完全連線的基線網路模型,用於說話人識別。對於說話人驗證,所提出的方法比微調基線分類器或原始d-向量方法[2]的模型獲得了更好的結果,並且優於基於Siamese網路的模型,該網路是Siamese網路的簡化版本。端到端方法[3]。此外,當說話者標記話語級別輸入的例項不足以學習深度表示時,資料增加是必不可少的。