Speaker Diarization 近期發展


:
: 吳亞澤Ya-Tse Wu 明明就 Yvette 
: 專業知識

Speaker diarization近期發展

目錄

  • 簡介
  • DNN model
  • end-to-end
  • SDASR的關係

在之前的文章中我們對 speaker diarization 做了簡單介紹(更多請查看誰在說話?淺談 Speaker Diarization 「語者自動分段標記」),其流程大多如下圖所示,主要包含但不限於分割(segmentation,通常會去除沒有説話的片段)、嵌入提取(embedding extraction)、聚類(clustering)和重分割(resegmentation)四大部分。
speaker diarization的流程

但其實隨著訓練資料倍增、需求場景變換,speaker diarization 領域一直都在蓬勃發展、因應著產業而不斷創新,其中最大的莫過於神經網絡的引入啦。神經網絡的應用最主要有兩個:特徵提取以及 end-to-end 框架。

本文將會討論 speaker diarization 的近期發展,一起來看看目前都取得了哪些成果吧!


DNN model

UIS-RNN[1:1]

以往的 SD 通常包含一個聚類(k-means、譜聚類等)的過程,聚類模型的結果很大程度地依靠不同説話者的特徵的區分度;與此同時,聚類是非監督式的,這意味著我們很難去根據結果調優模型,也無法利用現今越來越多的標記資料。

Google AI 團隊在2018年提出了 UIS-RNN 模型,以 RNN 取代 clustering 來預測説話者,原文用如下的一張架構圖表示説話者識別的流程。
UIS-RNN的説話者預測模型圖

在辨識之初,給定一個初始化隱藏層 h0,經由第一個語音向量得到關於第一位説話者的隱藏層 h1,該説話者被標記爲藍色。

當後面再有出現該説話者的語音向量的時候就更新隱藏層參數,若這是一個新的説話者,那麽就以初始的隱藏層參數 h0 爲它重新訓練一個隱藏層參數。像是模型在第三段語音中發現該説話者不是藍色説話者,於是就用當前的輸入和 h0 得到新的隱藏層 h3,並標記第二位説話者為黃色。

以此類推,到第六段語音的時候,已經出現3名説話者,分別標記為藍色、黃色和紅色。當有一段新的語音輸入的時候,分別以當前的三個説話者的代表隱藏層計算説話者變換的機率。

這時候會有三大種情況:仍然是小黃説話、變回小藍或小紅説話還是一個全新的説話者小綠在説話。模型分別計算這三種的p值,取最小的為結果。

UIS-RNN相比k-means和譜聚類有以下幾個優點:

  • 在 NIST SRE 2000 CALLHOME 資料集上取得7.6%的 DER,比譜聚類的8.8%還低
  • 不需要提前知道 speaker 的數量,可由模型動態得出
  • 增加訓練集可以有效提升訓練效果,説明 speaker label 可以被利用起來
  • 有望從語音資料直接建模,不用另外 embedding

以下羅列一些UIS-RNN的參考資料和工具:

UIS-RNN-SML[2]

UIS-RNN-SML是在UIS-RNN的基礎上改進,以sample mean loss作爲損失函數。
UIS-RNN-SML(右)對UIS-RNN(左)的改進

我們將 embedding X=(x1,…,xT和相應的 speaker label Y=(y1,…,yT看成是兩個分佈,那麽原UIS-RNN的訓練過程就是最大化這兩個聯合分佈的過程,該分佈關於時間的表達式如下,


其中,sequence generation 部分是由RNN建模的,包含Gated Recurrent UnitGRU),它假設embedding符合高斯分佈

如上方左邊的示意圖所示,這裏的μ(GRUθ())是對説話者ytyt來説,以參數θθ初始的神經網絡的平均輸出值。

網絡參數可以通過最小化均方誤差(Mean Square Error)來達到最佳,表達式如下



它讓模型的輸出值和下一個觀測輸入差距最小化,但是我們最終的目的是讓模型分辨出對的説話者,所以UIS-RNN-SML的作者們重新定義了MSE函數,最小化某一個特定説話者的網絡輸出值和觀測值,表達式如下


其中,s(i是產生A觀察值的説話者 i 的 embedding 分佈。

經過改進,UIS-RNN-SML 在 DIHARD-II 資料集上,比原版 UIS-RNN 的效果要好,而且它可以達到和 offline 相近的學習速度。

以下羅列一些 UIS-RNN-SML 的參考資料和工具:

Transformer

另一個神經網絡應用的大方向即 sequence-to-sequenceseq2seq),它是一種框架,旨在大量訓練資料的加持下,直接根據一個 sequence 得出結果 sequence,而不用對齊或要求語言學家做出語言模型。Transformer 就是一個典型的 seq2seq 模型,它的本質是 autoencodeattention 機制。

Tranformer 的優勢是:

  • 可處理長輸入序列
  • 在多個領域都表現很好

相比於基於 RNN 的模型,Transformer 勝在可以并行計算,在有大量的訓練資料的情況下,我們會選擇用 Transformer

DNC[3]

Discriminative Neural Clustering(DNC)tranformer處理speaker diarization中的聚類問題。

DNC在預測説話者 yi 的時候考慮整個輸入序列 和之前的預測 y0:i−1,表達式:

P(y1:NX)=i=1NP(yiy0:i1,X)

其中,yiX經由自編碼器得到的,
H=ENCODER(X)yi=DECODER(y0:i1,H)
這樣一來,隱藏層 就已經包含不同輸入序列的相似度,而不需要再額外計算相似度。

DNC 的優勢:

  • 在 AMI 資料集比譜聚類的 SER 29.4%

以下羅列一些 DNC 的參考資料和工具:
代碼實現

RenoSD[4]

基於 Relation Network 實現的 Speaker diarization,簡稱 RenoSD,它是用神經網絡計算兩段輸入屬於同一名説話者的可能性。
RenoSD模型

RenoSD的核心如上圖所示,它

  1. 輸入語音先是被分割爲不重叠的語音片段,進行 embedding
  2. 若語音片段不爲空語音,那麽它會被拿來與當前出現過的 speaker 的最初語音片段比較:
    兩段 embedding會通過一個 relation module 計算關分數 
    ri,j = gθ(C(fφ(si),fφ(sj)))
  3. 該模型為每個説話者設立了隊列,若第二步算出的相關分數很高,該片段就會被放入該説話者的隊列中,如上圖的e5片段,否則會被塞入一個新的説話者隊列,如上圖的 e3 片段

它的優勢是:

  • 相比 UIS-RNN 可以使用更少的訓練資料
  • 由於計算相關分數只需要當前説話者的一個片段,所以時間複雜度低
  • 在 AMI 和 CALLHOME 資料集上都表現地比x-vector的模型優異,DER 可至10.13%
  • 比 online 的 UIS-RNN 用更少的訓練資料達到更好的效果,speaker Confusion Error (CF)可以到6.8

end-to-end

End-to-end 也是一種框架,旨在用一個神經網絡取代包括語音識別和語者識別的所有模組。

在 NLP 領域,非 end-to-end 的模型通常是先 extractvector modeling),再 clusterspeaker diarization);end-to-end 把從特徵提取到内容識別到語者識別全部交給一個神經網絡去處理,不需要先從語音資料提取 vector 了。

這樣做有幾個好處:

  • end-to-end 可以處理 overlap 的語料,因爲在 cluster-based(要用到 vector modeling)的模型中,一個 segment 只有一個語者
  • 模型變得比較簡單
  • 可以用一個損失函數去優化

這裏也介紹兩個 end-to-end 模型,EEND 和 SA-EEND

EEND[5]

End to end模型

end-to-end neural-networkbased speaker diarization(EEND)speaker diarization看成多元分類問題,並引入兩種 permutation-free objective function 來降低語者識別的錯誤率。

第一種損失函數是 permutation-invariant training (PIT)loss function,它可以考慮所有説話者的排列,表達式如下

第二種是Deep Clustering (DPCL) loss function,它使得激活函數更能夠代表説話者,表達式如下

EEND 可以有效處理 overlapping 的狀況,在多人説話的模擬資料集上,EEND 的 DER 12.28%,當時最新的基於聚類的方法 DER 28.77%。除此之外,EEND 還有以下優勢:

  • 有更高的 domain adaption
  • 模型簡單,不用分SADspeaker identificationsource seperation 或 clustering

以下羅列一些 EEND 的參考資料和工具:
代碼實現

SA-EEND[6]

SA-EEND 用 self-attention 替代原 EEND 中的 BLSTM 模組。

它可以達到比 EEND 更低的 DER,並且在 overlap 沒有那麽嚴重的資料中,SA-EEND 也表現地更好,説明 self-attention 機制提升模型對不同 overlap 狀況的健壯性。

SA-EEND 的相關實現也在 EEND 的 repository 中。


SDASR的關係

SD和ASR的結合應用流程
Laurent等人在2019年的一篇論文[7]中很好地揭示了SDASR之間的關係,如上圖(a)所示,那就是:

  • ASR識別語音内容,即説了什麽的問題,需要處理語音和語言兩個部分;
  • SD識別各片段的説話者,即誰在什麽時候説話的問題,通常只需要從語音資料提取語者聲學特徵即可,可以不需要語言模組。

ASRSD結合可以誰在何時説了什麽的問題。有非常多的應用場景,例如廣播採訪、會議、電話、視頻或醫療記錄等,可以隨著進程直接出逐字稿,而省去人工打字的時間和精力,也可以基於逐字稿做更多地應用,例如即時翻譯,是很有發展前景的領域。

有一些演算法整合了兩者,如上圖(b)所示,在辨識説話者的同時也辨識他所説的内容。如 RNN-T(recurrent neural network transducer)[8],它在做語者識別的時候將語言資訊也考慮進去,適合用在語者有明確角色的語音資料中,如醫生和患者的對話;或 BLSTM+Convolutional networks+fully connected networks[9],它以交叉熵和 CTCConnectionist Temporal Classification)為損失函數。

説了這麽多,可以看到自然語言處理領域引入深度學習網絡旨在解決各式現行的問題:因著經典的詞袋模型無法考慮上下文而有RNN被提出;因爲 RNN 有梯度問題有 LSTM 被提出;因爲既要特徵提取又要語義分析很麻煩所以有 end-to-end 模型;因著對齊很麻煩所以有 sequence to sequence被提出等等。世界正是在發現問題、解決問題的交替中不斷探索與進步。機器能完全理解人類,進而更好地服務于人類,甚至能與人交流,這樣的未來指日可待!


參考資料


  1. Fully Supervised Speaker Diarization ↩︎ ↩︎
  2. Supervised online diarization with sample mean loss for multi-domain data ↩︎
  3. Discriminative Neural Clustering for Speaker Diarisation ↩︎
  4. Online Speaker Diarization with Relation Network ↩︎
  5. End-to-End Neural Speaker Diarization with Permutation-Free Objectives ↩︎
  6. End-to-End Neural Speaker Diarization with Self-attention ↩︎
  7. Joint Speech Recognition and Speaker Diarization via Sequence Transduction ↩︎
  8. Joint Speech Recognition and Speaker Diarization via Sequence Transduction ↩︎
  9. Says Who? Deep Learning Models for Joint Speech Recognition, Segmentation and Diarization ↩︎

 

Back