音訊特徵提取的主要方法
語音訊號處理領域透過對原始的頻譜特徵進行變換產生的波形非常多。過去雖然對原始頻譜進行變換丟失了不少的語音資料資訊,但是產生的多種變換特徵促進了語音識別和語音情感分類系統的識別率提升。比較典型的除了短時平均幅值、短時最大幅值、共振峰、基頻等,被應用最多的為梅爾頻率倒譜系統(MFCC)特徵。梅爾頻率倒譜系數將人耳的聽覺感知特性和語音訊號的產生機制有機結合,其透過對頻譜能量譜用三角濾波變換後得到濾波器組,然後取對數,最後進行反離散餘弦得到MFCC,在語音情感分類領域利用39維的MFCC係數取得了一定的突破,但是MFCC丟失了很多原始資訊,而利用卷積神經網路進行學習時越原始的資料帶來越好的效果。原始頻域不僅保留更多的資訊,而且可以使用卷積和池化(pooling)操作表達處理語音多變性。這裡根據Sainath等人[2]提出的透過學習定義在能量譜上的濾波器陣列引數作為輸入特徵。(見圖3)
(1)具體處理過程如下:
(2)首先讀取音訊時域資料和取樣率。
(3)對時域資料進行分幀處理。
(4)對分幀資料加漢明窗。
(5)進行傅立葉變換轉化為頻域資料。
(6)利用濾波器組進行變換每一幀得到40組梅爾濾波器組特徵。
(7)進行歸一化操作。
(8)對音訊進行裁剪,裁剪的音訊幀數為40。
3 使用卷積神經網路進行音訊情感分類
3.1 卷積神經網路
人工神經網路提出於20世紀80年代,由單層感知機逐步發展為多層感知機,它從資訊處理角度對人腦的神經元進行抽象。大量的節點之間相互連線,每個節點都有特定的激勵函式。在早期發展階段,由於梯度爆炸問題和計算能力有限,神經網路的發展一直停滯。2006年Hinton提出了深度置信網路(Deep Belief Network,DBN)的深度產生模式[3]。使用這種演算法可以更好地初始化DNN的訓練,從而開啟了深度學習發展的新篇章。
卷積神經網路(Convolution Neural Network)為深度學習在目標識別和分類領域的較早應用。近年GPU計算能力增加和海量業務資料的出現,使得大規模的CNN在機器視覺和語音分類等領域得到了廣泛應用。 卷積神經網路本質是一種前饋神經網路,卷積神經網路有3種結構上的特徵:區域性連線、權重共享以及空間或時間上的次取樣。卷積神經網路的層與層之間採用區域性連線,減少了計算量。
卷積神經網路的層與層之間的連線權值是共享的,比如圖4中的m層與m-1層,每個m層神經元與3個m-1層的神經元進行連線,這個3個連線的權值是一樣的。實際應用中,可以透過設定多種不同的濾波器來提取不同的濾波引數,從而實現提取不同的目標特徵。例如對於影象而言,就是提取不同的影象邊緣。在卷積神經網路中隱藏層的引數個數和隱藏層的神經元個數無關,只和濾波器大小和濾波器的種類有關係。
卷積神經網路除了區域性連線和權值共享的特性,糾正線性單元(ReLU,Rectified Linear Units)啟用函式也保證了實際訓練中的單邊抑值和稀疏特性,同時為了保證泛化特性,採用L2/L1正則化範數作為啟用偏置。
3.2 具體實現
(1)輸入層:輸入按幀數進行裁剪的音訊40×40。
(2)卷積層1:濾波器大小為3×3,共有20個濾波器,得到20個大小為36×36的特徵對映。
(3)池化層1:卷積層1後面跟著子取樣層。子取樣層的目的是減少特徵對映的神經元個數。透過池化操作,可以大大降低特徵的維數,避免過擬合。最大子取樣函式的定義為:
(1)
該層採用最大子取樣方法,由特徵對映中2×2的領域點取樣為1個點,也就是4個數中最大的。最終的特徵對映數目為18×18。
(4)卷積層2:濾波器大小為3×3,採用40組濾波,最終特徵對映的數目為16×16。神經元的個數共有40×16×16=10240。
(5)池化層2:採用2×2的池化操作,特徵對映數目為8×8。
(6)卷積層3:採用的濾波器大小為3×3,採用60組濾波器,最終特徵對映的數目為6×6,神經元的個數為60×6×6。
(7)池化層3:得到特徵對映數目為3×3。
(8)卷積層4:採用濾波器大小為2×2,採用80組濾波。特徵對映數目為2×2。
(9)全聯接層:共有80×2×2=320個神經元。
(10)輸出層:透過softmax迴歸演算法將特徵對映到目標的6個分類。softmax是logistic迴歸的多類形態。利用softmax函式定義目標y=c的後驗機率為:
(2)
對於樣本(x,y),輸出目標y={1,…,C}。我們用C維的one-hot向量表示輸出目標。對於類別C
(3)
具體表現見圖5。
4 測試與驗證
驗證採用CASIA漢語情感語料庫。該資料庫由中科院自動化所錄製,由4位錄音人(兩男兩女)在純淨錄音環境下(信噪比約為35 dB)分別在5類不同情感下(高興、悲哀、生氣、驚嚇、中性)對500句文字進行演繹而得到,16 kHz取樣,16 bit量化。經過聽辨篩選,最終保留其中9 600句。
輸出結果測試:見圖6。
在epoch次數為200時準確率達到81%。
音訊特徵提取的主要方法
語音訊號處理領域透過對原始的頻譜特徵進行變換產生的波形非常多。過去雖然對原始頻譜進行變換丟失了不少的語音資料資訊,但是產生的多種變換特徵促進了語音識別和語音情感分類系統的識別率提升。比較典型的除了短時平均幅值、短時最大幅值、共振峰、基頻等,被應用最多的為梅爾頻率倒譜系統(MFCC)特徵。梅爾頻率倒譜系數將人耳的聽覺感知特性和語音訊號的產生機制有機結合,其透過對頻譜能量譜用三角濾波變換後得到濾波器組,然後取對數,最後進行反離散餘弦得到MFCC,在語音情感分類領域利用39維的MFCC係數取得了一定的突破,但是MFCC丟失了很多原始資訊,而利用卷積神經網路進行學習時越原始的資料帶來越好的效果。原始頻域不僅保留更多的資訊,而且可以使用卷積和池化(pooling)操作表達處理語音多變性。這裡根據Sainath等人[2]提出的透過學習定義在能量譜上的濾波器陣列引數作為輸入特徵。(見圖3)
(1)具體處理過程如下:
(2)首先讀取音訊時域資料和取樣率。
(3)對時域資料進行分幀處理。
(4)對分幀資料加漢明窗。
(5)進行傅立葉變換轉化為頻域資料。
(6)利用濾波器組進行變換每一幀得到40組梅爾濾波器組特徵。
(7)進行歸一化操作。
(8)對音訊進行裁剪,裁剪的音訊幀數為40。
3 使用卷積神經網路進行音訊情感分類
3.1 卷積神經網路
人工神經網路提出於20世紀80年代,由單層感知機逐步發展為多層感知機,它從資訊處理角度對人腦的神經元進行抽象。大量的節點之間相互連線,每個節點都有特定的激勵函式。在早期發展階段,由於梯度爆炸問題和計算能力有限,神經網路的發展一直停滯。2006年Hinton提出了深度置信網路(Deep Belief Network,DBN)的深度產生模式[3]。使用這種演算法可以更好地初始化DNN的訓練,從而開啟了深度學習發展的新篇章。
卷積神經網路(Convolution Neural Network)為深度學習在目標識別和分類領域的較早應用。近年GPU計算能力增加和海量業務資料的出現,使得大規模的CNN在機器視覺和語音分類等領域得到了廣泛應用。 卷積神經網路本質是一種前饋神經網路,卷積神經網路有3種結構上的特徵:區域性連線、權重共享以及空間或時間上的次取樣。卷積神經網路的層與層之間採用區域性連線,減少了計算量。
卷積神經網路的層與層之間的連線權值是共享的,比如圖4中的m層與m-1層,每個m層神經元與3個m-1層的神經元進行連線,這個3個連線的權值是一樣的。實際應用中,可以透過設定多種不同的濾波器來提取不同的濾波引數,從而實現提取不同的目標特徵。例如對於影象而言,就是提取不同的影象邊緣。在卷積神經網路中隱藏層的引數個數和隱藏層的神經元個數無關,只和濾波器大小和濾波器的種類有關係。
卷積神經網路除了區域性連線和權值共享的特性,糾正線性單元(ReLU,Rectified Linear Units)啟用函式也保證了實際訓練中的單邊抑值和稀疏特性,同時為了保證泛化特性,採用L2/L1正則化範數作為啟用偏置。
3.2 具體實現
(1)輸入層:輸入按幀數進行裁剪的音訊40×40。
(2)卷積層1:濾波器大小為3×3,共有20個濾波器,得到20個大小為36×36的特徵對映。
(3)池化層1:卷積層1後面跟著子取樣層。子取樣層的目的是減少特徵對映的神經元個數。透過池化操作,可以大大降低特徵的維數,避免過擬合。最大子取樣函式的定義為:
(1)
該層採用最大子取樣方法,由特徵對映中2×2的領域點取樣為1個點,也就是4個數中最大的。最終的特徵對映數目為18×18。
(4)卷積層2:濾波器大小為3×3,採用40組濾波,最終特徵對映的數目為16×16。神經元的個數共有40×16×16=10240。
(5)池化層2:採用2×2的池化操作,特徵對映數目為8×8。
(6)卷積層3:採用的濾波器大小為3×3,採用60組濾波器,最終特徵對映的數目為6×6,神經元的個數為60×6×6。
(7)池化層3:得到特徵對映數目為3×3。
(8)卷積層4:採用濾波器大小為2×2,採用80組濾波。特徵對映數目為2×2。
(9)全聯接層:共有80×2×2=320個神經元。
(10)輸出層:透過softmax迴歸演算法將特徵對映到目標的6個分類。softmax是logistic迴歸的多類形態。利用softmax函式定義目標y=c的後驗機率為:
(2)
對於樣本(x,y),輸出目標y={1,…,C}。我們用C維的one-hot向量表示輸出目標。對於類別C
(3)
具體表現見圖5。
4 測試與驗證
驗證採用CASIA漢語情感語料庫。該資料庫由中科院自動化所錄製,由4位錄音人(兩男兩女)在純淨錄音環境下(信噪比約為35 dB)分別在5類不同情感下(高興、悲哀、生氣、驚嚇、中性)對500句文字進行演繹而得到,16 kHz取樣,16 bit量化。經過聽辨篩選,最終保留其中9 600句。
輸出結果測試:見圖6。
在epoch次數為200時準確率達到81%。