Speaker Verification——學習筆記
Speaker Verification:透過語音判定語音所屬於的類別。
1。 Speaker Recognition / Identification: 語者識別
2。 Speaker Verification: 語者驗證,驗證兩端聲音是否為同一人所說
3。 Speaker Diarization: 語者分段標記,在一段語音中,判定什麼時候誰再說話
與他相關都是屬於透過一段聲音輸出一個類別的還有
1。Emotion Recognition:透過一段說話的聲音半段這個人所現在所處的情緒。
2。Sound Event Detection:透過一段聲音,判斷這一段聲音中是否有人開門。
3。Autism Recognition: 透過聲音判斷小孩子是否有自閉症。
4。Keywords Spotting: 判斷聲音中的關鍵字。
我們主要來介紹 Speaker Verification
透過一段聲音判定這一段聲音是不是你的聲音,這樣的應用在銀行中出現的比較多。直觀的想到的方法就是硬train一發,首先需要該銀行得要有你的聲音所以我們Enroolment(train)一個模型,該模型可以透過你的聲音學到了你的聲音非語義內容的其他特徵。下一次在說話時就可以作驗證了。
那麼就引出第一個問題如何判定該模型的好壞呢?因為模型中的閥值是可以改變的,不同閥值下的模型的準確率是不同的。那麼使用什麼來衡量一個 Speaker Verification模型的好壞呢?
閥值越高,模型判斷為假的機率越高,閥值越低越誤判的機率就越高。所以我們丟擲EER(Equal Error Rate)的概念,我們犯錯會有兩類錯誤。
第一類錯誤
(Type I error),原假設是正確的,而你判斷它為錯誤的;第二類錯誤(Type II error),原假設是錯誤的,而你判斷它為正確的(嚴格意義上的定義,可不能說反了)。透過不同閥值下,第一類錯誤誤判率,與第二類錯誤的誤判率相互做連線相交的點我們稱他為EER。通常也是用該評價指標來判斷模型的好壞。
Speaker Diarization:給你一段聲音,判斷什麼人在什麼時候說了話。
將聲音切分。可以透過聲音的相似度來切分,i-vector,v-vector。
2。 透過模型進行判定切分聲音屬於的類別。比Speaker Vification任務多了聲音切分這一步。也不是重點直接過。
Speaker Embedding: 提取語者的特徵,也就是我們之前所說的提取非語義特徵的其他語者資訊。通常是這樣做到的
1.Development: 透過其他的音訊來訓練一個只提取語者特徵的模型
2.Enrollment: 透過你的聲音產生出一段向量
3.Evaluation: 這次聲音產生新向量,比對之前的特徵相似度
是不是第一步還是不知道如何訓練?emmmmm這就對了,因為我還沒講。
下面是訓練speaker embeding的第一步常用的資料集資料
i-vector
該方法屬於深度學習之前最強的方法。i 代表 identity。不管你使用多少秒的時間,最後我們都會歸一化為400維度的向量。這個向量就是你的語者特徵。
具體操作以後補充
d-vector
d是deeplearning的縮寫,我們將一段聲音訊號切分,每一段透過DNN進行訓練得到一個向量,
這個向量為最後一個隱藏層的輸出,(為什麼不用最後一層輸出作為結果?因為最後一層輸出與最終的結果掛鉤)
,將這些向量平均起來我們稱它為 d-vectror,很直觀的理解該方法可以work的原始是我們每秒所產生的語者特徵是相同的雖然語義特徵不同,但是我們混合在一起,也就不在乎語義了,反正合起來讀這一段話肯定是聽不明白的。總感覺這樣提取會提取到語義特徵。這個方法早期也是比不了i-vectord。
X-vector
這個方法就超過了i-vector,我們可以看到與之前不同的點是透過statistical pooling得到mean與variance兩個向量透過DNN訓練出一個x-vector。透過statistical pooling(比如IN (instance normalization))可以消除語義資訊。
IN回顧:
https://
zhuanlan。zhihu。com/p/13
4045847
進階方法
End-to-end
將Speaker Embedding與similarity結合在一起。之前我們的方法是分開訓練的,Speaker Embedding訓練一個模型,然後在將訓練的模型結合新的聲音進行判定。結合在一起也很簡單,我們重新構造資料集(Text-dependent 控制說話的內容v.s. Text-independent不控制說話的內容),將2段同一個人說話的聲音,輸入模型中需要得分越高越好,不同聲音輸入音訊得分要降低。就像是下圖。
我們端到端訓練還可以加入Gan的概念輔助學習模型結構像是這樣,鑑別器得分不清楚語義特徵。這樣我們提取出來的就是語者特徵。
參考文獻:
[Variani, et al。, ICASSP’14] Ehsan Variani, Xin Lei, Erik McDermott, Ignacio Lopez Moreno, Javier Gonzalez-Dominguez, Deep neural networks for small footprint text-dependent speaker verification, ICASSP, 2014
[Heigold, et al。, ICASSP’16] Georg Heigold, Ignacio Moreno, Samy Bengio, Noam Shazeer, End-to-End Text-Dependent Speaker Verification, ICASSP, 2016
[Snyder, et al。, ICASSP’18] David Snyder, Daniel Garcia-Romero, Gregory Sell, Daniel Povey, Sanjeev Khudanpur, X-Vectors: Robust DNN Embeddings for Speaker Recognition, ICASSP, 2018
[Wan, et al。, ICASSP’18] Li Wan, Quan Wang, Alan Papir, Ignacio Lopez Moreno, Generalized End-to-End Loss for Speaker Verification, ICASSP, 2018
[Yun, et al。, INTERSEECH’19] Sungrack Yun, Janghoon Cho, Jungyun Eum, Wonil Chang, Kyuwoong Hwang, An End-to-End Text-independent Speaker Verification Framework with a Keyword Adversarial Network, INTERSPEECH, 2019
[Nagrani, et al。, INTERSPEECH’17] Arsha Nagrani, Joon Son Chung, Andrew Zisserman, VoxCeleb: a large-scale speaker identification dataset, INTERSPEECH, 2017。
[Chung, et al。, INTERSPEECH’18] Joon Son Chung, Arsha Nagrani, Andrew Zisserman, VoxCeleb2: Deep Speaker Recognition, INTERSPEECH, 2018
[Xie, et al。, ICASSP’19] Weidi Xie, Arsha Nagrani, Joon Son Chung, Andrew Zisserman, Utterance-level Aggregation For Speaker Recognition In The Wild, ICASSP, 2019
[Chowdhury, et al。, ICASSP’18] F A Rezaur Rahman Chowdhury, Quan Wang, Ignacio Lopez Moreno, Li Wan, Attention-Based Models for TextDependent Speaker Verification, ICASSP, 2018
上一篇:度規到底是什麼啊?