說話人自適應識別方法及系統的制作方法
【專利摘要】本發(fā)明公開了一種說話人自適應識別方法及系統,該方法包括:訓練說話人無關DNN模型;基于所述說話人無關DNN模型確定說話人相關網絡拓撲;獲取訓練數據;利用所述訓練數據進行說話人相關網絡參數訓練,得到說話人相關網絡;在接收到說話人語音數據后,利用所述說話人相關網絡對所述說話人語音數據進行解碼,得到解碼結果。利用本發(fā)明,可以獲得更為精確的識別效果。
【專利說明】
說話人自適應識別方法及系統
技術領域
[0001] 本發(fā)明涉及語音信號處理領域,尤其涉及一種說話人自適應識別方法及系統。
【背景技術】
[0002] 語音識別即讓機器聽懂人說的話,將語音信號轉化為計算機可識別的輸入。傳統 自動連續(xù)語音識別系統主要采用基于隱馬爾科夫模型(Hidden Markov Model,HMM)和高 斯混合模型(Gaussian Mixture Model, GMM)的GMM-HMM語音識別系統。GMM-HMM語音識 別系統使用HMM對語音信號的時序結構進行建模,每個HMM狀態(tài)的輸出概率采用混合高斯 模型模擬。由于不同的說話人有各自的特點,而通用的GMM-HMM模型不能很好地適應某 個特定的說話人,為此有研究人員提出說話人自適應方法,傳統GMM-HMM模型框架下的說 話人自適應技術已經相對成熟,最典型的是使用最大似然線性回歸進行參數變換的方法 (MLLR,Maximum Likelihood Linear Regression)和最大后驗概率的方法(MAP,Maximum A Posteriori),這兩種方法都較好地解決了 GMM-HMM模型的說話人自適應問題,通過這兩種 方法得到的說話人相關模型的識別效果比說話人無關模型均有較大幅度的改善。
[0003] 近年來,基于深度神經網絡(Deep Neural Networks, DNN)和隱馬爾科夫模型 DNN-HMM的語音識別系統受到研究人員越來越多的關注,DNN-HMM系統采用DNN替代GMM模 擬每個HMM狀態(tài)的輸出概率。相比于GMM模型,DNN模型的描述能力更強,能夠更好地模擬 非常復雜的數據分布,并且能夠很好地學習到數據上下文的信息,因此相對于GMM-HMM系 統,DNN-HMM系統能夠取得顯著的性能提升。
[0004] 但是,目前如何在DNN的框架下進行說話人自適應仍沒有成熟的方案,因此,基于 DNN框架下的說話人自適應將是一個熱門的研究課題。
【發(fā)明內容】
[0005] 本發(fā)明實施例提供一種說話人自適應識別方法及系統,可以在自適應數據量較小 的情況下,也能得到較好的識別效果,提高語音識別系統性能。
[0006] 為實現上述目的,本發(fā)明的技術方案是:
[0007] -種說話人自適應識別方法,包括:
[0008] 訓練說話人無關DNN模型;
[0009] 基于所述說話人無關DNN模型確定說話人相關網絡拓撲;
[0010] 獲取訓練數據;
[0011] 利用所述訓練數據進行說話人相關網絡參數訓練,得到說話人相關網絡;
[0012] 在接收到說話人語音數據后,利用所述說話人相關網絡對所述說話人語音數據進 行解碼,得到解碼結果。
[0013] 優(yōu)選地,所述基于所述說話人無關DNN模型確定說話人相關網絡拓撲包括:
[0014] 將說話人編碼向量與所述說話人無關DNN模型的各隱層及輸出層相連接,形成說 話人相關網絡拓撲;或者
[0015] 將說話人編碼向量與所述說話人無關DNN模型的任意一個或多個隱層相連接,形 成說話人相關網絡拓撲。
[0016] 優(yōu)選地,所述利用所述訓練數據進行說話人相關網絡參數訓練包括:
[0017] 初始化所有的說話人編碼向量與說話人無關DNN模型相連的隱層和輸出層的權 重、以及說話人編碼向量;
[0018] 在所有訓練數據上使用梯度下降方法更新所述說話人編碼向量與說話人無關DNN 模型相連的隱層和輸出層的權重,并在與所述說話人相關的訓練數據上更新所述說話人編 碼向量。
[0019] 優(yōu)選地,所述初始化所有的說話人編碼向量與說話人無關DNN模型相連的隱層和 輸出層的權重、以及說話人編碼向量包括:
[0020] 采用隨機的方式初始化所有的說話人編碼向量與說話人無關DNN模型相連的隱 層和輸出層的權重、以及說話人編碼向量。
[0021] 優(yōu)選地,所述初始化所有的說話人編碼向量與說話人無關DNN模型相連的隱層和 輸出層的權重、以及說話人編碼向量包括:
[0022] 采用隨機的方式初始化所有的說話人編碼向量與說話人無關DNN模型相連的隱 層和輸出層的權重;
[0023] 采用因子分析方法得到代表特定說話人編碼的向量;
[0024] 將所述代表特定說話人編碼的向量作為初始的說話人編碼向量。
[0025] 優(yōu)選地,所述利用所述說話人相關網絡對所述說話人語音數據進行解碼包括:
[0026] 自適應過程:利用所述說話人相關網絡獲得對應所述說話人的說話人編碼向量;
[0027] 解碼過程:利用獲得的說話人編碼向量逐層計算所述說話人相關網絡各層的網絡 參數,得到每個狀態(tài)的聲學后驗概率。
[0028] 優(yōu)選地,所述方法還包括:
[0029] 根據所述訓練數據的總量和所有說話人的平均訓練數據量確定說話人編碼向量 的維數,并且在所述訓練過程和自適應過程中所有說話人編碼向量的維數保持不變;或者
[0030] 在所述訓練過程中根據所述訓練數據的總量和所有說話人的平均訓練數據量確 定說話人編碼向量的維數,并且在自適應過程中通過將說話人編碼向量與說話人無關DNN 模型相連的一個或多個隱層的權重置零降低說話人編碼向量的維數。
[0031] 一種說話人自適應識別系統,所述系統包括:
[0032] DNN模型訓練模塊,用于訓練說話人無關DNN模型;
[0033] 網絡拓撲確定模塊,用于基于所述說話人無關DNN模型確定說話人相關網絡拓 撲;
[0034] 訓練數據獲取模塊,用于獲取訓練數據;
[0035] 網絡參數訓練模塊,用于利用所述訓練數據進行說話人相關網絡參數訓練,得到 說話人相關網絡;
[0036] 接收模塊,用于接收說話人語音數據;
[0037] 解碼模塊,用于在所述接收模塊接收到說話人語音數據后,利用所述說話人相關 網絡對所述說話人語音數據進行解碼,得到解碼結果。
[0038] 優(yōu)選地,所述網絡拓撲確定模塊,具體用于將說話人編碼向量與所述說話人無關 DNN模型的各隱層及輸出層相連接,形成說話人相關網絡拓撲;或者將說話人編碼向量與 所述說話人無關DNN模型的任意一個或多個隱層相連接,形成說話人相關網絡拓撲。
[0039] 優(yōu)選地,所述網絡參數訓練模塊包括:
[0040] 初始化單元,用于初始化所有的說話人編碼向量與說話人無關DNN模型相連的隱 層和輸出層的權重、以及說話人編碼向量;
[0041] 參數更新單元,用于在所有訓練數據上使用梯度下降方法更新所述說話人編碼向 量與說話人無關DNN模型相連的隱層和輸出層的權重,并在與所述說話人相關的訓練數據 上更新所述說話人編碼向量。
[0042] 優(yōu)選地,所述初始化單元,具體用于采用隨機的方式初始化所有的說話人編碼向 量與說話人無關DNN模型相連的隱層和輸出層的權重、以及說話人編碼向量。
[0043] 優(yōu)選地,所述初始化單元包括:
[0044] 第一單元,用于采用隨機的方式初始化所有的說話人編碼向量與說話人無關DNN 模型相連的隱層和輸出層的權重;
[0045] 第二單元,用于采用因子分析方法得到代表特定說話人編碼的向量,并將所述代 表特定說話人編碼的向量作為初始的說話人編碼向量。
[0046] 優(yōu)選地,所述解碼模塊包括:
[0047] 自適應單元,用于利用所述說話人相關網絡獲得對應所述說話人的說話人編碼向 量;
[0048] 解碼單元,用于利用所述自適應單元獲得的說話人編碼向量逐層計算所述說話人 相關網絡各層的網絡參數,得到每個狀態(tài)的聲學后驗概率。
[0049] 優(yōu)選地,所述系統還包括:
[0050] 第一維數確定模塊,用于根據所述訓練數據的總量和所有說話人的平均訓練數據 量確定說話人編碼向量的維數,并且在訓練過程和自適應過程中所有說話人編碼向量的維 數保持不變;或者
[0051] 第二維數確定模塊,用于在訓練過程中根據所述訓練數據的總量和所有說話人的 平均訓練數據量確定說話人編碼向量的維數,并且在自適應過程中通過將說話人編碼向量 與說話人無關DNN模型相連的一個或多個隱層的權重置零降低說話人編碼向量的維數。
[0052] 本發(fā)明實施例提供的說話人自適應識別方法及系統,基于現有的說話人無關DNN 模型,通過對每個說話人分別采用單個向量來模擬,并通過訓練各向量和說話人無關模型 網絡的連接權重來構建說話人相關DNN模型,利用該說話人相關DNN模型對特定說話人進 行語音識別,可以獲得更為精確的識別效果。
【附圖說明】
[0053] 為了更清楚地說明本發(fā)明實施的技術方案,下面將對實施例中所需要使用的附圖 作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領域普 通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。
[0054] 圖1示出了本發(fā)明實施例說話人自適應識別方法的流程圖;
[0055] 圖2示出了本發(fā)明實施例中說話人相關網絡拓撲第一種結構示意圖;
[0056] 圖3示出了本發(fā)明實施例中說話人相關網絡拓撲第二種結構示意圖;
[0057] 圖4示出了本發(fā)明實施例中說話人相關網絡拓撲第三種結構示意圖;
[0058] 圖5示出了本發(fā)明實施例說話人自適應識別系統的結構示意圖。
【具體實施方式】
[0059] 下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完 整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;?本發(fā)明中的實施例,本領域普通技術人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他 實施例,都屬于本發(fā)明保護的范圍。
[0060] 由于基于DNN-HMM的語音識別系統相比于傳統的基于GMM-HMM的語音識別系統能 夠取得顯著的性能提升,因此本發(fā)明實施例提供一種說話人自適應識別方法及系統,基于 現有的說話人無關DNN模型,通過對每個說話人分別采用單個向量來模擬,并通過訓練各 向量和說話人無關DNN模型的連接權重來構建說話人相關DNN模型,利用該說話人相關DNN 模型對特定說話人進行語音識別,可以獲得更為精確的識別效果。
[0061] 如圖1所示,是本發(fā)明實施例說話人自適應識別方法的流程圖,包括以下步驟:
[0062] 步驟101,訓練說話人無關DNN模型。
[0063] 說話人無關DNN網絡的訓練過程可以采用現有技術,比如,傳統DNN網絡的訓練過 程如下:
[0064] (1)確定DNN模型的拓撲結構
[0065] 具體地,DNN的輸入層和輸出層分別對應于聲學特征和HMM模型的輸出狀態(tài),其節(jié) 點個數可在訓練前預先確定。其中輸入層的節(jié)點個數由輸入特征維數決定,一般為幾百左 右(考慮幀擴展),輸出層的節(jié)點個數一般由和分類目標相關聯的HMM狀態(tài)數決定,為了盡 可能保證語音識別效果,深度神經網絡輸出層的節(jié)點個數一般很多,可以達到5000-20000。 而隱含層位于輸入層和輸出層之間,加入隱含層的目的是為了提高神經網絡模擬變換函數 的能力,深度神經網絡包含多個隱含層。隱含層層數及隱含層節(jié)點個數的增加可以提高神 經網絡的分類性能,目前主流的DNN-HMM語音識別系統通常選用固定結構的DNN模型,即由 系統預先確定DNN的隱含層層數及各隱含層的節(jié)點個數。雖然不同系統經驗值會有不同, 但大多數情況下為了提高模型對聲學特征模擬的精度,會設置DNN的隱含層層數為4到9 之間,每個隱含層的節(jié)點個數通常都相同,為1〇24、2048或者2560。
[0066] (2)DNN模型參數訓練
[0067] 具體地,在DNN模型中,待訓練的模型參數主要包括連接輸入層和隱含層、連接各 隱含層之間、連接隱含層和輸出層的線性變換的權重參數(即W矩陣,這里將偏置參數也合 并到W矩陣中),在訓練時,利用采集的訓練數據訓練所述DNN模型的權重參數,整個訓練過 程分為兩個步驟:
[0068] a)無監(jiān)督預訓練
[0069] 首先隨機生成符合高斯分布的隨機數作為DNN的初始權重,然后僅僅利用訓練數 據的聲學特征從輸入層往輸出層按照受限玻爾茲曼機的訓練方法逐層進行權重的訓練。具 體地,當輸入層與第一個隱含層之間的權重首先訓練完成后,利用聲學特征和該權重得到 第一個隱含層的輸出值,將其視為受限玻爾茲曼機的輸入訓練第一個隱含層與第二個隱含 層之間的權重,如此重復下去,直到倒數第二個隱含層與最后一個隱含層之間的權重已經 訓練完成。
[0070] b)有監(jiān)督最終訓練
[0071] 將無監(jiān)督預訓練得到的權重作為DNN的初始權重,利用訓練數據的聲學特征以 及對應的標注,采用誤差反向傳播算法進行所有權重的最終優(yōu)化調整。具體地,首先根 據當前權重值計算出當前神經網絡的輸出與真實結果--標注之間的誤差值E,然后計 算出誤差值E對各層權重的梯度Of,最后根據梯度下降法進行各層權重的更新,即 町+1 =町-/^此/^町,其中r/表示第i層的當前權重,奪+1表示第i層更新后的權重。
[0072] 當然,在實際應用中,還有采用一些優(yōu)化的DNN模型參數訓練方法,可以進一步提 高訓練效率,對此本發(fā)明實施例不做限定。
[0073] 步驟102,基于所述說話人無關DNN模型確定說話人相關網絡拓撲。
[0074] 在本發(fā)明實施例中,可以將說話人編碼向量與所述說話人無關DNN模型的各隱 層及輸出層相連接,形成說話人相關網絡拓撲;或者將說話人編碼向量與所述說話人無關 DNN模型的任意一個或多個隱層相連接,形成說話人相關網絡拓撲。
[0075] 如圖2所示,是本發(fā)明實施例中說話人相關網絡拓撲第一種結構示意圖。
[0076] 其中,W矩陣為說話人無關DNN模型的權重矩陣;S為說話人編碼向量,用于代表不 同的說話人;B矩陣為說話人編碼向量與說話人無關DNN模型的隱層和輸出層相連的權重 矩陣,是所有說話人共享矩陣。
[0077] 為了進一步提高訓練與自適應效率,降低B矩陣的參數量,還可以將說話人編碼 向量與DNN模型中的一個或多個隱層相連,比如,圖3示出了只將說話人編碼向量與第一個 隱層相連的說話人相關網絡拓撲結構,圖4示出了只將說話人編碼向量與最后一個隱層相 連的說話人相關網絡拓撲結構。
[0078] 步驟103,獲取說話人相關的訓練數據。
[0079] 步驟104,利用所述訓練數據進行說話人相關網絡參數訓練,得到說話人相關網 絡。
[0080] 下面以圖2所示的網絡拓撲為例,詳細說明說話人相關網絡參數訓練的過程。
[0081] 如圖2所示,假設W(1)代表說話人無關DNN模型的第1個隱層的權重,B (1)代表連 接說話人編碼向量與第1個隱層的權重,Sw代表第c個說話人的編碼向量,0 (1)代表第1 層網絡的輸出,〇為DNN網絡的激活函數,則第1層的輸出如下式:
[0082] 0⑴=〇 (W⑴0(1 n+B⑴S(c)) (1)
[0083] 由于W矩陣即為說話人無關DNN模型中的參數,在整個自適應的過程中不需要更 新,接下來介紹如何估計B矩陣及S向量即可。
[0084] 在本發(fā)明實施例中,可以使用交叉熵準則,假設E代表交叉熵準則的目標函數,則 B矩陣與S向量的梯度分別如下式所示:
[0087] 其中,代表第1層網絡輸出的第j維,從)代表第c個說話人的編碼向量的第k 維,句T代表連接說話人編碼向量與第1個隱層的權重矩陣的第k維第j列。
[0088] 在網絡參數訓練時,對于某個特定的說話人,需要更新說話人相關的說話人編碼 向量與說話人共享的B矩陣。由于B矩陣具有大量的參數,但所有說話人的數據都參與 訓練,所以可以在一定程度上避免數據過擬合的問題?;谡f話人編碼向量的訓練過程如 下:
[0089] 首先,隨機初始化所有的B(1)和SW ;然后,在所有的訓練數據上使用梯度下降的 方法(如公式(2)和公式(3))更新8(1),而3(0的更新只在第c個說話人的數據上進行,迭 代步數根據具體的收斂情況確定。
[0090] 自適應過程如下:在訓練過程得到B(1)矩陣后,針對某個說話人,使用公式(3)求 得對應該說話人的說話人編碼向量,而W (1)與B(1)均保持不變。
[0091] 需要說明的是,基于圖3和圖4所示的說話人相關網絡拓撲,其網絡參數的訓練過 程與上述類似,不同的是,基于圖3所示的說話人相關網絡拓撲,由于說話人編碼向量只與 第一個隱層相連,因此可以極大地減少網絡參數量,從而在一定程度上提高訓練效率。同 時,參數量的減少也使得更少數據量的自適應變?yōu)榭赡埽涮荻鹊挠嬎阈枰獜牡谝粋€隱 層傳遞到輸出層。而基于圖4所示的說話人相關網絡拓撲,由于說話人編碼向量只與最后 一個隱層相連,因此其梯度的計算速度更快,從而可進一步提高訓練效率。
[0092] 另外,需要說明的是,在本發(fā)明實施例中,不論采用上述哪種說話人相關網絡模 型,對于說話人編碼向量S,可以有多種不同的選擇方式。
[0093] 比如,采用隨機的方式初始化所有的說話人編碼向量與說話人無關DNN模型相連 的隱層和輸出層的權重、以及說話人編碼向量。
[0094] 再比如,采用隨機的方式初始化所有的說話人編碼向量與說話人無關DNN模型相 連的隱層和輸出層的權重;采用因子分析方法得到代表特定說話人編碼的向量,然后將所 述代表特定說話人編碼的向量作為初始的說話人編碼向量。代表特定說話人編碼的向量的 計算如下:
[0095] 首先,訓練一個UBM模型;其次,訓練公共因子T,根據這個公共因子得到每個人的 i-Vector ;最后,對i-Vector進行降維,進而得到最終的向量。這種使用降維后的i-Vector 作為Sw的初始值可以更快地收斂速度,且最終的自適應效果也更優(yōu)。
[0096] 步驟105,在接收到說話人語音數據后,利用所述說話人相關網絡對所述說話人語 音數據進行解碼,得到解碼結果。
[0097] 具體解碼過程包括兩個過程,具體如下:
[0098] (1)自適應過程:
[0099] 在訓練過程得到B(1)矩陣后,針對某個特定的說話人,使用公式(3)求得對應該說 話人的說話人編碼向量,而W (1)與B(1)均保持不變。
[0100] (2)解碼過程:
[0101] 通過公式(1)逐層計算所述說話人相關網絡逐層計算網絡參數,得到每個狀態(tài)的 聲學后驗概率,通過結合聲學先驗概率與語言模型概率,最終實現解碼。
[0102] 需要說明的是,在實際應用中,針對說話人編碼向量S的維數,可以有多種選擇方 案。一般地,可根據訓練數據的總量和所有說話人的平均訓練數據量來選擇向量S的維數, 當向量S的維數確定后,訓練過程和自適應過程中所有說話人均采用相同的維數。除此之 外,還可以采用變長說話人向量的方案,具體地,在訓練過程中,時仍根據訓練數據的總量 和所有說話人的平均訓練數據量來選擇向量S的維數;在自適應過程中,如果某些說話人 的數據量較少,可將說話人共享的矩陣B的一些權重按一定的概率置零,仍采用梯度下降 的方法確定說話人編碼向量S,顯然此時向量S的一些維數也為零。采用這種方式,實現了 說話人向量長度的可變,從而進一步解決了某些說話人自適應數據較少的參數估計問題。
[0103] 本發(fā)明實施例提供的說話人自適應識別方法,基于現有的說話人無關DNN模型, 通過對每個說話人分別采用單個向量來模擬,并通過訓練各向量和說話人無關模型網絡的 連接權重來構建說話人相關DNN模型,利用該說話人相關DNN模型對特定說話人進行語音 識別,可以獲得更為精確的識別效果。
[0104] 相應地,本發(fā)明實施例還提供一種說話人自適應識別系統,如圖5所示,是該系統 的一種結構示意圖。
[0105] 在該實施例中,所述系統包括:
[0106] DNN模型訓練模塊501,用于訓練說話人無關DNN模型;
[0107] 網絡拓撲確定模塊502,用于基于所述說話人無關DNN模型確定說話人相關網絡 拓撲;
[0108] 訓練數據獲取模塊503,用于獲取訓練數據;
[0109] 網絡參數訓練模塊504,用于利用所述訓練數據進行說話人相關網絡參數訓練,得 到說話人相關網絡;
[0110] 接收模塊505,用于接收說話人語音數據;
[0111] 解碼模塊506,用于在所述接收模塊接收到說話人語音數據后,利用所述說話人相 關網絡對所述說話人語音數據進行解碼,得到解碼結果。
[0112] 上述DNN模型訓練模塊501可以采用現有的一些技術進行說話人無關DNN網絡的 訓練。
[0113] 基于所述說話人無關DNN模型,上述網絡拓撲確定模塊502可以將說話人編碼向 量與所述說話人無關DNN模型的各隱層及輸出層相連接,形成說話人相關網絡拓撲;或者 將說話人編碼向量與所述說話人無關DNN模型的任意一個或多個隱層相連接,形成說話人 相關網絡拓撲。不同的說話人相關網絡拓撲結構在前面已有詳細描述,在此不再贅述。
[0114] 上述網絡參數訓練模塊504包括:初始化單元和參數更新單元。其中,所述初始化 單元用于初始化所有的說話人編碼向量與說話人無關DNN模型相連的隱層和輸出層的權 重、以及說話人編碼向量。所述參數更新單元用于在所有訓練數據上使用梯度下降方法更 新所述說話人編碼向量與說話人無關DNN模型相連的隱層和輸出層的權重,并在與所述說 話人相關的訓練數據上更新所述說話人編碼向量。
[0115] 在實際應用中,所述初始化單元可以采用多種方式設置相關網絡參數的初始值, 比如,可以采用隨機的方式初始化所有的說話人編碼向量與說話人無關DNN模型相連的隱 層和輸出層的權重、以及說話人編碼向量。再比如,還可以對不同參數采用不同的初始化方 式,其中一種實現結構包括:第一單元和第二單元,其中,所述第一單元采用隨機的方式初 始化所有的說話人編碼向量與說話人無關DNN模型相連的隱層和輸出層的權重;第二單元 采用因子分析方法得到代表特定說話人編碼的向量,并將所述代表特定說話人編碼的向量 作為初始的說話人編碼向量。
[0116] 由于本發(fā)明實施例中的解碼網絡為與說話人相關的DNN網絡,因此,上述解碼模 塊506在對特定說話人語音解碼過程中需要先進行自適應處理,獲得相應的說話人編碼向 量,然后再利用該說話人編碼向量進行解碼。相應地,所述解碼模塊506的一種具體結構包 括:自適應單元和解碼單元,其中,所述自適應單元利用所述說話人相關網絡獲得對應所述 說話人的說話人編碼向量,具體地,利用上述公式(3)完成相應的計算;所述解碼單元利用 自適應單元獲得的說話人編碼向量,逐層計算所述說話人相關網絡各層的網絡參數,得到 每個狀態(tài)的聲學后驗概率。
[0117] 需要說明的是,在實際應用中,針對說話人編碼向量S的維數,可以有多種選擇方 案。相應地,在本發(fā)明系統的另一實施例中,還可以進一步包括:第一維數確定模塊,或者第 二維數確定模塊。其中:
[0118] 第一維數確定模塊用于根據所述訓練數據的總量和所有說話人的平均訓練數據 量確定說話人編碼向量的維數,并且在訓練過程和自適應過程中所有說話人編碼向量的維 數保持不變;
[0119] 第二維數確定模塊,用于在訓練過程中根據所述訓練數據的總量和所有說話人的 平均訓練數據量確定說話人編碼向量的維數,并且在自適應過程中通過將說話人編碼向量 與說話人無關DNN模型相連的一個或多個隱層的權重置零降低說話人編碼向量的維數。
[0120] 本發(fā)明實施例提供的說話人自適應識別系統,基于現有的說話人無關DNN模型, 通過對每個說話人分別采用單個向量來模擬,并通過訓練各向量和說話人無關模型網絡的 連接權重來構建說話人相關DNN模型,利用該說話人相關DNN模型對特定說話人進行語音 識別,可以獲得更為精確的識別效果。
[0121] 本說明書中的各個實施例均采用遞進的方式描述,各個實施例之間相同相似的部 分互相參見即可,每個實施例重點說明的都是與其他實施例的不同之處。尤其,對于系統實 施例而言,由于其基本相似于方法實施例,所以描述得比較簡單,相關之處參見方法實施例 的部分說明即可。以上所描述的系統實施例僅僅是示意性的,其中所述作為分離部件說明 的單元及模塊可以是或者也可以不是物理上分開的。另外,還可以根據實際的需要選擇其 中的部分或者全部單元和模塊來實現本實施例方案的目的。本領域普通技術人員在不付出 創(chuàng)造性勞動的情況下,即可以理解并實施。
[0122] 以上依據圖式所示的實施例詳細說明了本發(fā)明的構造、特征及作用效果,以上所 述僅為本發(fā)明的較佳實施例,但本發(fā)明不以圖面所示限定實施范圍,凡是依照本發(fā)明的構 想所作的改變,或修改為等同變化的等效實施例,仍未超出說明書與圖示所涵蓋的精神時, 均應在本發(fā)明的保護范圍內。
【主權項】
1. 一種說話人自適應識別方法,其特征在于,包括: 訓練說話人無關DNN模型; 基于所述說話人無關DNN t旲型確定說話人相關網絡拓撲; 獲取訓練數據; 利用所述訓練數據進行說話人相關網絡參數訓練,得到說話人相關網絡; 在接收到說話人語音數據后,利用所述說話人相關網絡對所述說話人語音數據進行解 碼,得到解碼結果。2. 根據權利要求1所述的方法,其特征在于,所述基于所述說話人無關DNN模型確定說 話人相關網絡拓撲包括: 將說話人編碼向量與所述說話人無關DNN模型的各隱層及輸出層相連接,形成說話人 相關網絡拓撲;或者 將說話人編碼向量與所述說話人無關DNN模型的任意一個或多個隱層相連接,形成說 話人相關網絡拓撲。3. 根據權利要求2所述的方法,其特征在于,所述利用所述訓練數據進行說話人相關 網絡參數訓練包括: 初始化所有的說話人編碼向量與說話人無關DNN模型相連的隱層和輸出層的權重、以 及說話人編碼向量; 在所有訓練數據上使用梯度下降方法更新所述說話人編碼向量與說話人無關DNN模 型相連的隱層和輸出層的權重,并在與所述說話人相關的訓練數據上更新所述說話人編碼 向量。4. 根據權利要求3所述的方法,其特征在于,所述初始化所有的說話人編碼向量與說 話人無關DNN模型相連的隱層和輸出層的權重、以及說話人編碼向量包括: 采用隨機的方式初始化所有的說話人編碼向量與說話人無關DNN模型相連的隱層和 輸出層的權重、以及說話人編碼向量。5. 根據權利要求3所述的方法,其特征在于,所述初始化所有的說話人編碼向量與說 話人無關DNN模型相連的隱層和輸出層的權重、以及說話人編碼向量包括: 采用隨機的方式初始化所有的說話人編碼向量與說話人無關DNN模型相連的隱層和 輸出層的權重; 采用因子分析方法得到代表特定說話人編碼的向量; 將所述代表特定說話人編碼的向量作為初始的說話人編碼向量。6. 根據權利要求3所述的方法,其特征在于,所述利用所述說話人相關網絡對所述說 話人語音數據進行解碼包括: 自適應過程:利用所述說話人相關網絡獲得對應所述說話人的說話人編碼向量; 解碼過程:利用獲得的說話人編碼向量逐層計算所述說話人相關網絡各層的網絡參 數,得到每個狀態(tài)的聲學后驗概率。7. 根據權利要求6所述的方法,其特征在于,所述方法還包括: 根據所述訓練數據的總量和所有說話人的平均訓練數據量確定說話人編碼向量的維 數,并且在所述訓練過程和自適應過程中所有說話人編碼向量的維數保持不變;或者 在所述訓練過程中根據所述訓練數據的總量和所有說話人的平均訓練數據量確定說 話人編碼向量的維數,并且在自適應過程中通過將說話人編碼向量與說話人無關DNN模型 相連的一個或多個隱層的權重置零降低說話人編碼向量的維數。8. -種說話人自適應識別系統,其特征在于,所述系統包括: DNN模型訓練模塊,用于訓練說話人無關DNN模型; 網絡拓撲確定模塊,用于基于所述說話人無關DNN模型確定說話人相關網絡拓撲; 訓練數據獲取模塊,用于獲取訓練數據; 網絡參數訓練模塊,用于利用所述訓練數據進行說話人相關網絡參數訓練,得到說話 人相關網絡; 接收模塊,用于接收說話人語音數據; 解碼模塊,用于在所述接收模塊接收到說話人語音數據后,利用所述說話人相關網絡 對所述說話人語音數據進行解碼,得到解碼結果。9. 根據權利要求8所述的系統,其特征在于, 所述網絡拓撲確定模塊,具體用于將說話人編碼向量與所述說話人無關DNN模型的各 隱層及輸出層相連接,形成說話人相關網絡拓撲;或者將說話人編碼向量與所述說話人無 關DNN模型的任意一個或多個隱層相連接,形成說話人相關網絡拓撲。10. 根據權利要求9所述的系統,其特征在于,所述網絡參數訓練模塊包括: 初始化單元,用于初始化所有的說話人編碼向量與說話人無關DNN模型相連的隱層和 輸出層的權重、以及說話人編碼向量; 參數更新單元,用于在所有訓練數據上使用梯度下降方法更新所述說話人編碼向量與 說話人無關DNN模型相連的隱層和輸出層的權重,并在與所述說話人相關的訓練數據上更 新所述說話人編碼向量。11. 根據權利要求10所述的系統,其特征在于, 所述初始化單元,具體用于采用隨機的方式初始化所有的說話人編碼向量與說話人無 關DNN模型相連的隱層和輸出層的權重、以及說話人編碼向量。12. 根據權利要求10所述的系統,其特征在于,所述初始化單元包括: 第一單元,用于采用隨機的方式初始化所有的說話人編碼向量與說話人無關DNN模型 相連的隱層和輸出層的權重; 第二單元,用于采用因子分析方法得到代表特定說話人編碼的向量,并將所述代表特 定說話人編碼的向量作為初始的說話人編碼向量。13. 根據權利要求10所述的系統,其特征在于,所述解碼模塊包括: 自適應單元,用于利用所述說話人相關網絡獲得對應所述說話人的說話人編碼向量; 解碼單元,用于利用所述自適應單元獲得的說話人編碼向量逐層計算所述說話人相關 網絡各層的網絡參數,得到每個狀態(tài)的聲學后驗概率。14. 根據權利要求13所述的系統,其特征在于,所述系統還包括: 第一維數確定模塊,用于根據所述訓練數據的總量和所有說話人的平均訓練數據量確 定說話人編碼向量的維數,并且在訓練過程和自適應過程中所有說話人編碼向量的維數保 持不變;或者 第二維數確定模塊,用于在訓練過程中根據所述訓練數據的總量和所有說話人的平均 訓練數據量確定說話人編碼向量的維數,并且在自適應過程中通過將說話人編碼向量與說 話人無關DNN模型相連的一個或多個隱層的權重置零降低說話人編碼向量的維數。
【文檔編號】G10L17/00GK105895104SQ201410184608
【公開日】2016年8月24日
【申請日】2014年5月4日
【發(fā)明人】高建清, 劉聰, 王智國, 胡國平, 胡郁, 劉慶峰
【申請人】訊飛智元信息科技有限公司