天天看點

因子分析、聯合因子分析(JFA)、i-vector

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​=li1​f1​+li2​f2​+...+lik​fk​+ϵ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一樣 信道資訊去除得不夠好 有待發現

繼續閱讀