GMM-UBM的缺點
關于GMM-UBM的具體過程可以參考GMM、GMM-UBM、GMM-SVM。
GMM-UBM方法可以得到一個超向量,将該超向量作為聲紋嵌入碼,然後使用分類器(如:SVM)進行分類,逐漸稱為GMM時代的經典說話人識别方法。
但超向量存在下列缺點:
- 超向量的次元過高:假設采用MFCC特征,通常為39維,并假設GMM具有512個高斯分量,得到的超向量次元為 39 × 512 = 19968 39 \times 512 =19968 39×512=19968
- 超向量包含大量除說話人之外的其他資訊,如:采集裝置的特征、采集時聲學環境的特征,包括噪聲和混響
因子分析(Factor Analysis)
針對超向量的上述缺點,研究人員引入了聯合因子分析法,先來了解因子分析法的原理
- 因子分析法的動機:從可以被觀察、高相關性的變量中,提取出數量更少的、不可被觀察、低相關性的變量,這些被提取出的變量被稱為“因子”
- 舉例說明:GMM-UBM就好比直接根據一個學生的10門考試成績,計算出這個學生的考試能力,這10門考試成績是可以觀察得到的,并且互相之間可能有關聯;但因子分析法是先從這10門考試成績中,提取出如智力、勤奮程度等因子,這些因子不可被觀察,因子之間的關聯性也較低,再使用這些因子,計算學生的考試能力
-
數學形式:假設有 p 個随機變量 x i x_i xi,每個随機變量的均值為 μ i \mu_i μi,則每個随機變量與其均值的偏差為:
x i − μ i = l i 1 f 1 + l i 2 f 2 + . . . + l i k f k + ϵ i x_i - \mu_i = l_{i1}f_1+l_{i2}f_2+...+l_{ik}f_k + \epsilon_i xi−μi=li1f1+li2f2+...+likfk+ϵi
其中,
- f 1 , f 2 , . . . , f k f_1,f_2,...,f_k f1,f2,...,fk 是 k 個公共因子,根據因子分析法的動機,可知: k < p k < p k<p,這 k 個公共因子是需要從 p 個随機變量中提取出來的,并且這 p 個随機變量共享這些公共因子
- ϵ i \epsilon_i ϵi 是無法被提取出的随機誤差,是每個随機變量所獨有的,假定 ϵ i \epsilon_i ϵi 的均值為0,方差有限
- l i 1 , l i 2 , . . . , l i k l_{i1},l_{i2},...,l_{ik} li1,li2,...,lik 是公共因子的線性組合系數,每個随機變量被表示為公共因子的線性組合,再加上一個随機誤差
-
将 p 個随機變量堆疊起來, x x x 變為 x ⃗ \vec{x} x
,假設進行了 N 次觀察,現在下标範圍變成 i = 1 , 2 , . . . , N i=1,2,...,N i=1,2,...,N,數學形式變為:
x i ⃗ − μ ⃗ = L f i ⃗ + ϵ i ⃗ \vec{x_i} - \vec{\mu} =L\vec{f_i} + \vec{\epsilon_i} xi
−μ
=Lfi
+ϵi
其中,
-
L 被稱為載荷矩陣(Loading Matrix),次元 p × k p \times k p×k, μ ⃗ \vec{\mu} μ
是根據 N 個觀察值得到的均值向量,L 和 μ ⃗ \vec{\mu} μ
都是和 i 無關的
-
f i ⃗ \vec{f_i} fi
和 ϵ i ⃗ \vec{\epsilon_i} ϵi
是對每個觀察值提取出的公共因子和随機誤差
-
- 對上述式子,因子分析做出如下假設:
-
f i ⃗ \vec{f_i} fi
和 ϵ i ⃗ \vec{\epsilon_i} ϵi
是互相獨立的
-
f i ⃗ \vec{f_i} fi
的數學期望為0向量
-
f i ⃗ \vec{f_i} fi
的協方差矩陣為機關矩陣
-
ϵ i ⃗ \vec{\epsilon_i} ϵi
的均值為0向量,方差有限
-
聯合因子分析(Joint Factor Analysis,JFA)
聯合因子分析(簡稱JFA)是因子分析方法在說話人識别中的應用,具體而言,是對GMM-UBM進行因子分析
- 假設GMM有M個高斯分量,每個高斯分量為K原高斯分布,即聲學特征為K維,此時超向量s的次元為 M K × 1 MK \times 1 MK×1
-
将超向量分解成
s = m + V y + U x + D z s = m+Vy+Ux+Dz s=m+Vy+Ux+Dz
其中,
- m是說話人無關的,次元與超向量相同的向量,可以直接使用UBM的超向量作為m
- y是說話人因子,服從标準多元高斯分布 y ∼ N ( 0 , I ) y \sim N(0,I) y∼N(0,I),V是y的載荷矩陣,V的每一列被稱為一個本征音(eigenvoice)
- x是信道因子,服從标準多元高斯分布,U是x的載荷矩陣,U的每一列被稱為一個本征信道(eigenchannel)
- z是說話人相關的,次元與超向量相同的公共因子,被稱為殘差項,服從标準多元高斯分布,D是z的載荷矩陣,次元為 M K × M K MK \times MK MK×MK,D是一個對角方陣
- JFA起到了降低GMM-UBM參數次元,以及對超向量提取出說話人相關和說話人無關資訊的作用,舉例說明:
- 假設MFCC特征次元為39,GMM有512個高斯分量,超向量次元為 39 × 512 = 19968 39 \times 512 =19968 39×512=19968
- JFA得到的說話人因子y次元為300,信道因子x次元為100
- JFA參數估計得到的載荷矩陣V次元為 19968 × 300 19968 \times 300 19968×300,U次元為 19968 × 100 19968 \times 100 19968×100,D次元為 19968 × 19968 19968 \times 19968 19968×19968(由于是對角方陣,實際上隻有19968個參數)
- 說話人識别系統隻使用說話人因子y作為聲紋嵌入碼,定義核函數,訓練非線性SVM進行分類,進而特征次元從19968降維到300,這樣的方法被稱為JFA-SVM
JFA的缺點
JFA分解出了說話人因子y和信道因子x,在理想情況下,y隻具有說話人相關的資訊,x隻具有說話人無關的資訊,若用x作為聲紋嵌入碼,進行說話人識别,那麼EER應該為50%(等價于随機猜測),但實驗表明EER達到了20%,由此說明:
- 信道因子也包含了說話人相關的資訊
- 隻使用說話人因子進行說話人識别會丢失這些資訊
i-vector
針對JFA的上述缺點,研究人員提出了i-vector,i-vector也是一種因子分析方法,是對JFA的簡化
- i-vector的動機:
- 不再區分說話人因子和信道因子
- 将說話人空間和信道空間合并為同一個空間,稱為總體變化空間,載荷矩陣記為T
- 對應T的因子,稱為總體因子,記為w
-
數學形式
s = m + T w s=m+Tw s=m+Tw
其中,
- m是說話人無關且信道無關的超向量,可以直接使用UBM的超向量作為m
- w是總體因子,服從标準多元高斯分布,也被稱為“身份向量(Identity Vector)”,簡稱i-vector,w的次元通常為400~600
- 可以将s視為一個多元高斯分布,其均值為m,協方差矩陣為 T T T TT^T TTT,T的參數估計與JFA中V的參數估計類似
- 由于總體因子w包含了說話人資訊和信道資訊,是以不能直接作為聲紋嵌入碼
- 需要對w中信道資訊進行補償,也就是尋找一個映射矩陣A,信道補償後的i-vector表示為 w ′ = A w w' = Aw w′=Aw, w ′ w' w′可作為聲紋嵌入碼,用于說話人識别
- 信道補償的方法:
- Within-Class Covariance Normalization(WCCN)
- Linear Discriminant Analysis(LDA)
- Nuisance Attribute Projection(NAP)
- Probabilistic Linear Discriminant Analysis(PLDA)
- i-vector與JFA在去除信道資訊上的差別
- JFA在高維的超向量空間直接提取出信道資訊
- i-vector在低維的總體變化空間嘗試消除信道資訊
- i-vector效率更高,且性能更好
- i-vector的後端
- 可以直接計算不同的i-vector的餘弦相似度,用于說話人識别
- 也可以用i-vector定義核函數 K ( w 1 ′ , w 2 ′ ) = c o s ( w 1 ′ , w 2 ′ ) K(w'_1,w'_2)=cos(w'_1,w'_2) K(w1′,w2′)=cos(w1′,w2′),訓練非線性SVM進行分類
總結
方法 | GMM | GMM-UBM | GMM-SVM | JFA | i-vector |
---|---|---|---|---|---|
動機 | 将每個說話人用一個GMM來表征 | 對所有說話人樣本訓練一個UBM,利用UBM自适應每個GMM的參數 | 将每個話語樣本都用一個GMM來表征,說話人成為SVM的一個類 | 将超向量分解成說話人因子和信道因子 | 将超向量分解成整體因子,再進行信道補償 |
優點 | 根據中心極限定理,GMM拟合潛力強 | 每個GMM都同源,具有可比性,對于樣本較少的說話人,也能自适應出一個GMM | 利用了SVM這一強大的分類器 | 對超向量進行了降維,去除了部分信道資訊 | 相對于JFA,效率更高,且性能更好 |
缺點 | 參數較多,需要每個說話人的樣本也較多 | 超向量的次元過高,而且包含了說話人資訊和信道資訊,不利于說話人識别 | 需要針對超向量設計核函數,其餘與GMM-UBM一樣 | 信道資訊去除得不夠好 | 有待發現 |