項揚,殷鋒,袁平
(1.四川大學計算機學院,成都610065;2.西南民族大學計算機科學與技術學院,成都610041;3.重慶第二師范學院數學與信息工程學院,重慶400067)
語音中包含有非常豐富的信息,除了語義信息外,還有一些“副語言”信息,例如說話人的性別、情感、語種以及說話人的身份。聲紋識別又稱為說話人識別,其任務為語音信號提取,表征語音信號中傳達的身份信息并進行分類辨識。聲紋識別是生物識別領域重要的驗證手段,與其他生物特征相比,聲紋具有語音獲取方便,采集裝置成本低廉使用簡單,配合語音識別技術可防止錄音假冒等特點[1]。在公安司法鑒定[2]、智能硬件、金融安全等領域有廣闊的應用前景。
基于人工標注數據上的聲紋識別模型進行監督訓練面臨一些挑戰:人工添加標注代價非常高,對于標注者來說需要熟悉大量說話者的聲音才能夠進行準確標注,需要大量數據訓練有監督模型。本文為無監督的聲紋聚類系統。這種無監督的聲紋聚類系統節省人力算力成本,可以用在說話人分割(Speaker Divarication)任務中區分錄音中的說話者,實現“誰在什么時間段發言”的任務。
使用時延神經網絡(TDNN)模型將變長的說話者語音映射到固定維度的嵌入矢量(embeddings),稱為x-vector。輸入到x-vector 提取器關鍵神經網絡TDNN結構的預處理矢量是幀長為25ms 的24 維Filter Banks,在3 秒的滑動窗口上進行均值歸一化。不選用MFCC[3]是因為Filter Banks 語音特征相對于MFCC 經過較少的預處理加工,包含的語音信息更豐富。Filter Banks 處理流程如圖1 所示。

圖1 Filter Banks處理流程圖
預加重處理放大語音信號中的高頻信號。語音信號頻率會隨時間變化,非常不平穩,對整個信號進行傅立葉變化會失真,為避免這種情況,可以假設語音在很短的時間內是一個較平穩的信號,因此我們需要對語音進行分幀,并且幀與幀之間應該有重疊的部分,這樣做時為了讓幀之間有一定的相關性,不會在應用窗口函數后丟失幀邊緣的信息,通過串聯相鄰的幀來獲得信號頻率輪廓良好的近似值。窗口函數采用漢明窗口:

0 ≤n ≤N-1,N為窗口的長度
計算Filter Banks 最后一步是將三角濾波器(通常為40 個)應用于能量頻譜,每個濾波器中心頻率處響應為1。三角濾波器是建立在梅爾比例刻度(Mel-Scale)上的,梅爾刻度與頻率刻度之間的轉換可用如下公式:

梅爾比例刻度的作用是模仿人耳對聲音的感知,梅爾濾波器組的原理是人耳對較低頻率比對較高頻率更具判別力。
為了充分挖掘時序數據時間上下文關系捕捉上下文的依賴關系,循環神經網絡RNN[4]及其變體門控制神經網絡GRU[5]和長短期記憶神經網絡LSTM[6]被廣泛使用,然而,由于RNN 算法的序列性結構訓練速度較慢,Vijayaditya Peddinti 等人提出了帶有子采樣的時延神經網絡TDNN,用于較長時間語音上下文的建模[7]。
在傳統標準的DNN 中,DNN 僅對輸入層的語音特征做了前后若干幀的擴展,在輸入層擁有上下文信息,而TDNN 與DNN 不同之處在于TDNN 對隱藏層也進行了上下文的擴展,TDNN 會將隱藏層的當前時刻的輸出與其前后若干時刻(可以指定)輸出拼在一起,作為下一個隱藏層的輸入。TDNN 的每一層被賦予了上下文時間的信息,這對時序數據處理是非常有效的。圖2、圖3 為傳統DNN 與TDNN 的對比示意圖。息重疊帶來的效率問題。前五層在語音幀上操作,以當前幀t 為中心擴展上下文信息,例如第三層t-3,t,t+3 幀處的輸入來源于第二層輸出的疊接,而第二層的上下文信息來源于第一層,所以第三層總共包含了15 幀的上下文信息。經過TDNN 網絡提取器,在segment6第六層非線性變換前被提取出x-vector 語音特征。圖4 為x-vector 特征提取器的TDNN 網絡結構圖。

圖2 傳統DNN結構示意圖

圖3 時延神經網絡TDNN結構示意圖

表1 x-vector 中TDNN 神經網絡結構配置
自組織特征映射神經網絡(SOM)是一種基于競爭機制的無監督神經網絡算法,也被稱為Kohonen 特征映射網絡[8],該網絡上所有節點都直接連接至輸入向量,但網絡上的節點彼此之間沒有連接,節點之間不知道其“鄰居”的值,根據給定輸入更新其連接權重,自組織神經網絡根據輸入每次迭代進行更新組織網絡地圖。自組織特征映射神經網絡能夠對高維復雜數據聚類并且將其可視化在二維空間且保留輸入之間的特征關系[9]。

圖4 x-vector特征提取frame層
自組織特征映射神經網絡有兩層,第一層是輸入層,第二層是輸出層(特征映射層),與其他神經網絡不同的是,SOM 在神經元中沒有激活函數,直接將權值傳遞給輸出層,SOM 中每個神經元都被賦予了一個與輸入空間維數相同的權向量值。與其他神經網絡不同,SOM 不是通過SGD 反向傳播學習,而是通過競爭學習來調整神經元的權值。競爭學習有三個步驟:
(1)競爭階段
計算網絡每個神經元與輸入數據之間的距離,距離最小的神經元將成為勝者BMU(Best Marching Unit),通常用歐幾里德距離度量。
(2)合作階段
在第三步(適應過程)中更新優勝神經元向量,同時它的“鄰居”也會被更新。選取更新“鄰居”的過程即為合作。使用鄰域核函數hck=exp(-來選取“鄰居”,該函數取決于兩個因素:時間和空間,時間因素為每個新輸入數據的時間增量值,空間因素為神經元到優勝神經元的距離。
其中dck是wc與wk之間的晶格距離(lattice distance),c表示優勝神經元,σ(t)為隨時間遞減的鄰居半徑,遞減函數為σ(t)=σ0exp(-
(3)適應調整階段
被步驟2 選擇的神經元將會被更新,距離輸入數據越近的神經元更新程度會更大,反之,距離輸入數據越遠的神經元更新程度會比較小。如圖5 所示。

圖5 適應調整階段神經元示意圖
優勝神經元和被選中的鄰居神經元用如下公式進行更新:
wk(t+1)=wk(t)+α(t)?hck(t)?(x(t)-w (t))
其中α(t)為學習率(0<α(t)<1),學習率隨著迭代的次數遞減:α(t)=α0exp(-
完整的自組織特征神經網絡算法如下:
輸入向量x=[x1,x2,...,xn]
初始化網絡全值向量,wk∈Rn,k=1,2,...,K t=0
for epoch=1 to Nepochsdo
for input=1 to Ninputsdo
t=t+1
for k=1 to K do
計算dk(t)=‖x(t)-wk(t)‖
end for
根據公式dc(t)=minkdk(t)計算出優勝神經元BMU 并挑選出鄰居神經元
for k=1 to K do
更新wk
end for
end for
end for
在傳統順序SOM 算法中,根據一個輸入向量找到優勝神經元就立即更新權重向量,然而會存在一些問題,如計算消耗大并且訓練效果依賴于數據輸入的順序[10]。而在批處理自組織特征映射神經網絡(Batch Learning Self Organized Map)更新網絡神經元的時機延后至整個數據集輸入后,因為網絡權值不是在每一次輸入時“即時”更新,所以BLSOM 權值的更新不依賴輸入順序,可以將其應用于基于相似度的學習分析算法中,BLSOM 初始網絡映射權重可以基于主成分分析(PCA)得到,輸入特征張量在權重增加前后不會有非常大的變化。
批處理自組織神經網絡BLSOM 算法如下:
輸入向量x=[x1,x2,...,xn]
初始化網絡權值向量,wk∈Rn, k=1,2,...,K
t=0
for epoch=1 to Nepochsdo
賦予σ(t)新值,σ(t)=σ0exp(-
重置wk(tf)=分子與分母
for input=1 to Ninputsdo
t=t+1
for k=1 to K do
計算dk(t)=‖ x(t)-wk(t)‖
end for
使用公式dc(t)=mki n dk(t)計算優勝神經元(BMU)
并根據“鄰居”挑選公式hck(t)=exp挑選出鄰居神經元
for k=1 to K do
end for
end for
for k=1 to K do
使用公式wk(tf)=更新權重向量wk
end for
本文中的實驗在Ubuntu 16.04 的64 位操作系統上完成,硬件環境是中科曙光深度學習高性能服務器W780-G20(CPU:2 顆Intel E5-2620v4.2.1G 8.0OPI 20M 8C 85W,GPU 為8 塊NVIDIA Tesla P40 24GE3x16 250W,內存:256G DDR4,硬盤:240G 2.5 6Gb R SSD)。
本實驗采用自建語料庫,使用Android 手機錄制音頻(16KHz,16-bit),錄制環境為安靜的室內環境,沒有明顯其他人說話聲及噪音,共有30 人參與錄制,15 位男性,15 位女性,錄音人按照常規語速朗讀錄音內容,錄音內容有中文也有英文,測試算法模型跨語言識別的性能。語料庫被劃分為訓練集(80%)與測試集(20%),訓練集用來訓練分類模型,測試機用來檢測模型效果。識別準確率accuracy=作為評價標準。經過訓練模型,得到本聲紋聚類算法在訓練集的平均識別率及測試集平均識別率如表2 所示。

表2 不同語言語料庫識別率
由表2 可以看出本文提出的基于x-vector 特征提取器與BLSOM 聲紋聚類系統在中英文語料數據集上均有比較好的識別效果,模型具有較好的跨語言識別效果。
無監督聲紋識別系統,即基于不同說話人獨特的聲道構造所發出獨一無二聲音的識別分類,常被用于增強ASR 系統中的說話人自適應訓練。傳統方法是使用高斯混合模型(GMM)和隱馬爾可夫模型(HMM)從語音記錄中提取特征[11],本文中我們研究了時延神經網絡模型TDNN,設計并采用基于TDNN 模型的x-vector 特征提取器有效提取出說話人語音中穩定有效發音的特征向量,選取批處理自組織特征映射神經網絡BLSOM 訓練x-vector 特征進行聚類識別,系統取得了較好的聲紋聚類效果,具有一定的應用價值。本文在有噪聲的環境條件下和語音特征增強等方面還有待改進提高準確率。