一種基於對抗學習的端到端的跨語言語音情感識別方法

一種基於對抗學習的端到端的跨語言語音情感識別方法
技術領域
本發明涉及情感識別技術領域,尤其涉及一種基於對抗學習的端到端的跨語言語音情感識別方法。
背景技術
從語音中識別情感有利於構建更自然的人機語音交互系統。傳統的方法需要一定的專家知識從語音中提取有效的特徵進行情感識別。隨着神經網絡的興起,越來越多的研究人員嘗試構建基於神經網絡的端到端語音情感識別模型,利用神經網絡從原始數據(語音波形或語譜圖)中直接提取特徵用於情感識別。端到端的語音情感識別模型去除了繁瑣昂貴的特徵工程工作,並在數據規模較大的情況下取得了超越傳統方法的效果。
在語音情感識別的研究和應用中,會遇到對多種語言進行情感識別的需求。甚至某些語言的情感數據資源非常豐富(有大量的帶情感標籤的語音)。而某些語音的情感數據資源相對比較匱乏(語料庫中有很少情感標籤或沒有情感標籤)。稱情感數據資源豐富的語言爲源語言,情感數據資源匱乏的語言成爲目標語言。如何根據源語言語音的豐富的情感數據資源,提升模型在目標語言語音上的情感識別性能,即跨語言語音情感識別,一直是一個值得研究的問題。
現有的跨語言語音情感識別方法是基於傳統的語音情感識別方法的,需要大量的特徵工程或者手工提取特徵的工作。
發明內容
本發明爲了解決現有技術中語音情感識別方法需要大量的特徵工程通過手工提取特徵的工作的問題,提供一種基於對抗學習的端到端的跨語言語音情感識別方法。
爲了解決上述問題,本發明採用的技術方案如下所述:
一種基於對抗學習的端到端的跨語言語音情感識別方法,包括如下步驟:S1:構建包括特徵提取器、情感分類器和語言分類器的情感識別模型,S2:接收原始數據對所述情感識別模型進行訓練並在訓練過程中使用梯度翻轉層;S3:利用訓練好的所述情感識別模型預測源語言語音或目標語言語音的情感。
優選地,所述訓練過程包括如下步驟:S21:所述特徵提取器接收源語言語音和目標語言語音的所述原始數據作爲輸入並提取特徵用於所述情感分類器和所述語言分類器;S22:篩選出對應所述源語言語音的特徵作爲所述情感分類器的輸入得到情感標籤,所述源語言語音和所述目標語言語音的特徵經過一個梯度翻轉層進入所述語言分類器得到語言標籤。
優選地,所述源語言語音的數據有情感標籤和語言標籤;所述目標語言語音的數據僅有語言標籤,或有語言標籤和情感標籤。
優選地,定義損失函數Le和Ll,其中Le根據所述情感分類器的輸出與所述情感標籤的差異而計算;Ll根據所述語言分類器和所述語言標籤的差異而計算,則所述情感識別模型的總的損失函數L=Le+λLl,其中λ爲權衡兩個算是函數的權重係數。
優選地,所述情感分類器的參數θe按照公式更新,其中μ>0爲學習率;所述語言分類器的參數θl按照公式更新;所述特徵提取器的參數θf按照公式更新。
優選地,訓練過程中使用驗證集,所述驗證集上的損失函數Le和Ll不再降低時訓練結束。
優選地,步驟S3包括如下步驟:S31:將所述源語言語音或所述目標語言語音的原始數據輸入到所述特徵提取器進行特徵提取;
S32:將提取的所述特徵輸入到情感分類器得到所述源語言語音或所述目標語言語音的情感標籤。
優選地,所述原始數據是語音波形或語譜圖。
優選地,所述特徵提取器、所述情感分類器和所述語言分類器是CNN網絡、RNN網絡、DNN網絡或全連接網絡。
本發明還提供一種計算機可讀存儲介質,所述計算機可讀存儲介質存儲有計算機程序,所述計算機程序被處理器執行時實現如上任一所述方法的步驟。
本發明的有益效果爲:提供一種基於對抗學習的端到端的跨語言語音情感識別方法,通過構建包括特徵提取器、情感分類器和語言分類器的情感識別模型,直接接受語音波形或者語譜圖作爲輸入,不再需要其他數據預處理工作,免除了特徵工程的工作;模型訓練時採用梯度反轉層以促進特徵提取器提取語言無關的信息,適用於模型訓練時一種語言的語音數據有大量的情感標籤而其他語言的語音數據沒有足夠情感標籤甚至沒有情感標籤的情況。
附圖說明
圖1是本發明實施例中現有技術的情感識別方法的示意圖。
圖2是本發明實施例中基於對抗學習的端到端的跨語言語音情感識別方法的示意圖。
圖3是本發明實施例中情感識別模型的訓練過程的方法示意圖。
圖4是本發明實施例中情感識別模型的訓練過程的流程示意圖。
圖5是本發明實施例中情感識別模型對源語言語音或目標語言語音進行預測的方法示意圖。
圖6是本發明實施例中情感識別模型對源語言語音或目標語言語音進行預測的流程示意圖。
圖7是本發明實施例中用戶端的情感識別流程示意圖。
圖8是本發明實施例中對源語言語音或目標語言語音預測的流程示意圖。
圖9是本發明實施例中語音的數值序列(語音波形)的示意圖。
具體實施方式
爲了使本發明實施例所要解決的技術問題、技術方案及有益效果更加清楚明白,以下結合附圖及實施例,對本發明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發明,並不用於限定本發明。
需要說明的是,當元件被稱爲“固定於”或“設置於”另一個元件,它可以直接在另一個元件上或者間接在該另一個元件上。當一個元件被稱爲是“連接於”另一個元件,它可以是直接連接到另一個元件或間接連接至該另一個元件上。另外,連接即可以是用於固定作用也可以是用於電路連通作用。
需要理解的是,術語“長度”、“寬度”、“上”、“下”、“前”、“後”、“左”、“右”、“豎直”、“水平”、“頂”、“底”“內”、“外”等指示的方位或位置關係爲基於附圖所示的方位或位置關係,僅是爲了便於描述本發明實施例和簡化描述,而不是指示或暗示所指的裝置或元件必須具有特定的方位、以特定的方位構造和操作,因此不能理解爲對本發明的限制。
此外,術語“第一”、“第二”僅用於描述目的,而不能理解爲指示或暗示相對重要性或者隱含指明所指示的技術特徵的數量。由此,限定有“第一”、“第二”的特徵可以明示或者隱含地包括一個或者更多該特徵。在本發明實施例的描述中,“多個”的含義是兩個或兩個以上,除非另有明確具體的限定。
縮略語和關鍵術語定義
源語言語音:在跨語言語音情感識別中,具有豐富情感標籤的語言(如英語)稱爲源語言語音。
目標語言語音:在跨語言語音情感識別中,具有少量情感標籤、或沒有情感標籤的語言(如德語)稱爲目標語言語音。目標語言可以有多種。
Gf(·;θf):特徵提取器。接受原始數據(語音波形或語譜圖)作爲輸入,輸出高層次的抽象特徵用於分類。特徵提取器可用多層CNN、RNN或全連接網絡來實現。
Ge(·;θe):情感分類器。接受特徵提取器所提取的高層次的抽象特徵作爲輸入,輸出情感標籤(的後驗概率)。情感分類器可用多層CNN、RNN或全連接網絡來實現。
Gl(·;θl):語言分類器。接受特徵提取器所提取的高層次的抽象特徵作爲輸入,判斷該特徵對應於源語言語音還是目標語言語音。語言分類器可用多層CNN、RNN或全連接網絡來實現。
如圖1所示,隨着神經網絡的興起,越來越多的研究人員嘗試構建基於神經網絡的端到端語音情感識別模型,利用神經網絡從原始數據(語音波形或語譜圖)中直接提取特徵用於情感識別。端到端的語音情感識別模型去除了繁瑣昂貴的特徵工程工作,並在數據規模較大的情況下取得了超越傳統方法的效果。
本申請提出了一種基於對抗學習的端到端的跨語言語音情感識別方法。該方法藉助於對抗學習的訓練方法,利用神經網絡消除來自不同語言所提取的特徵之間的差異。同時,模型直接接受語音波形或者語譜圖作爲輸入,不需要再手工提取特徵。基本思路爲:源語言語音的數據有情感標籤,情感識別可以看成一個分類任務,比如,情感標籤爲高興、生氣、傷心,中性這四種,目標語言語音的數據沒有情感標籤。跨語言語音情感識別指的是如何根據有數據標籤的源語言語音數據訓練一個神經網絡模型,也能預測目標語言語音數據的情感。
現有技術中公開了一種跨語言的語音情感識別方法。該方法首先建立了一個漢語語料庫和德語語料庫,然後對其中的語音進行特徵提取。計算每個特徵分別關於兩個語音庫的Fisher判別係數,並排序選出情感區分度最高的一些特徵。在訓練和識別中採用高斯混合模型來分別進行參數估計和似然值得計算。可以有效地解決現有語音情感識別方法只針對某種語言的侷限性,但存在如下缺點:
(1)需要手工對語音進行特徵提取,特徵工程的工作需要一定的專家知識而且是繁瑣的。
(2)適用於漢語語料庫和德語語料庫中都有豐富的情感標籤的情況。而當某一種語料庫沒有足夠的情感標籤或沒有情感標籤時,便無法進行跨語言語音情感識別。
如圖2所示,本發明提供一種基於對抗學習的端到端的跨語言語音情感識別方法,包括如下步驟:
S1:構建包括特徵提取器、情感分類器和語言分類器的情感識別模型,
S2:接收原始數據對所述情感識別模型進行訓練並在訓練過程中使用梯度翻轉層;
S3:利用訓練好的所述情感識別模型預測源語言語音或目標語言語音的情感。
情感識別模型的特徵提取器(Gf(·;θf))、情感分類器(Ge(·;θe))和語言分類器(Gl(·;θl))都是多層神經網絡,具體可以由CNN、RNN、DNN或全連接網絡來實現。θf、θe、θl分別代表特徵提取器、情感分類器和語言分類器的可訓練參數。
原始數據可以是錄音(wav,mp3等),計算機直接讀取wav,mp3文件就可以得到語音波形。語音波形經過短時傅里葉變換就可以得到語譜圖。語音模型或者語譜圖作爲輸入都是可以的。
本發明的方法可以直接接收原始數據(語譜圖或原始語音波形)作爲輸入,省去了一般語音情感識別中的特徵工程工作(特徵工程工作需要從語音中提取能量、基頻等特徵);同時,在目標語言語音的語音數據沒有情感標籤的情況下也能預測目標語言語音的發音。
如圖3和圖4所示,情感識別模型的訓練過程包括如下步驟:
S21:所述特徵提取器接收源語言語音和目標語言語音的所述原始數據作爲輸入並提取特徵用於所述情感分類器和所述語言分類器;
S22:篩選出對應所述源語言語音的特徵作爲所述情感分類器的輸入得到情感標籤,所述源語言語音和所述目標語言語音的特徵經過一個梯度翻轉層進入所述語言分類器得到語言標籤。
訓練時要求源語言語音必須有情感標籤,而目標語言語音的數據不一定有情感標籤。源語言語音數據和目標語言語音數據都必須有語言標籤(來自於源語言語音還是目標語言語音)。
語音情感數據庫中每一條數據是一句話,每句話有一個情感標籤,是高興、生氣、傷心,中性四種情感中的一個。這裏的特徵是指神經網路提取的特徵,輸入數據通過幾層神經網絡層後的中間層輸出叫做特徵。中文或英文的語言標籤就是中文或英文。語言分類器做的是一個二分類任務。判斷輸入的特徵是中文還是英文。
梯度翻轉層的作用是:在神經網絡正向傳播過程中,僅執行復制操作;在神經網絡的反向傳播過程中,梯度經過該層乘以-1。本發明最先把它用在跨語言語音情感識別中。
本發明的方法主要是源語言語音的數據有情感標籤(情感識別可以看成一個分類任務,情感標籤可以有高興、生氣、傷心,中性這四種),目標語言語音的數據沒有情感標籤。跨語言語音情感識別指的是如何根據有數據標籤的源語言語音數據訓練一個神經網絡模型,也能預測目標語言語音數據的情感。
訓練過程中有兩個損失函數,Le和Ll。其中Le根據情感分類器的輸出與情感標籤的差異而計算;Ll根據語言分類器和語言標籤的差異而計算。所以模型總的損失函數L=Le+λLl,其中超參λ控制兩個損失函數的相對權重。因此情感分類器的參數θe按照公式更新。其中μ>0爲學習率。語言分類器的參數θl按照公式更新。由於梯度翻轉層的作用,特徵提取器的參數θf按照公式更新。訓練過程中,在情感分類器的作用下,特徵提取器會提取越來越多的包含情感信息的特徵。同時,在語言分類器和梯度翻轉層的作用下,特徵提取器提取的特徵會包含越來越少的語言相關的特徵。
訓練過程中使用驗證集,所述驗證集上的損失函數Le和Ll不再降低時訓練結束。
如圖5和圖6所示,通過本發明的模型對源語言語音或目標語言語音進行預測包括如下步驟:
S31:將所述源語言語音或所述目標語言語音的原始數據輸入到所述特徵提取器進行特徵提取;
S32:將提取的所述特徵輸入到情感分類器得到所述源語言語音或所述目標語言語音的情感標籤。
如圖7所示,用戶只需提供來自源語言語音或者目標語言語音的原始數據作爲輸入(原始數據可以直接是語音波形,或語音波形通過短時傅里葉變換得到的語譜圖),不再需要任何額外的特徵工程工作。接受原始數據作爲輸入後,會輸出該語音所對應的情感標籤,如高興,悲傷,生氣等。
如圖8和圖9所示,用戶以悲傷的情感讀出“這是一個寂寞的秋天”這句話語音,計算機中這句話會以wav或mp3的格式存儲這句語音。然後計算機讀取wav或者mp3格式存儲的語音,會得到一個數值序列(每一個採樣點有一個值),計算機讀取wav文件(或mp3文件)得到的數值序列即爲語音波形,語音波形通過短時傅里葉變換後即可以得到語譜圖。語音波形或者語譜圖可以作爲模型的輸入,通過訓練好的特徵提取器和情感分類器後,會自動輸出“悲傷”的標籤。
上述計算機設備可以包括存儲器、處理器及存儲在上述存儲器上並可在上述處理器上運行的計算機程序,上述處理器執行上述計算機程序時,可以實現本申請實施例提供的基於深度神經網絡的多音字讀音的判別方法。
一種基於對抗學習的端到端的跨語言語音情感識別的終端設備,包括存儲器、處理器以及存儲在所述存儲器中並可在所述處理器上運行的計算機程序,所述處理器執行所述計算機程序時實現如前所述方法的步驟。
示例性的,所述計算機程序可以被分割成一個或多個模塊/單元,所述一個或者多個模塊/單元被存儲在所述存儲器中,並由所述處理器執行,以完成本發明。所述一個或多個模塊/單元可以是能夠完成特定功能的一系列計算機程序指令段,該指令段用於描述所述計算機程序在所述基於對抗學習的端到端的跨語言語音情感識別的終端設備中的執行過程。
所述基於對抗學習的端到端的跨語言語音情感識別的終端設備可以是桌上型計算機、筆記本、掌上電腦及雲端服務器等計算設備。所述基於對抗學習的端到端的跨語言語音情感識別的終端設備可包括,但不僅限於,處理器、存儲器。本領域技術人員可以理解,所述示意圖僅僅是基於對抗學習的端到端的跨語言語音情感識別的終端設備的示例,並不構成對基於對抗學習的端到端的跨語言語音情感識別的終端設備的限定,可以包括比圖示更多或更少的部件,或者組合某些部件,或者不同的部件,例如所述基於對抗學習的端到端的跨語言語音情感識別的終端設備還可以包括輸入輸出設備、網絡接入設備、總線等。
所稱處理器可以是中央處理單元(Central Processing Unit,CPU),還可以是其他通用處理器、數字信號處理器(Digital Signal Processor,DSP)、專用集成電路(Application Specific Integrated Circuit,ASIC)、現成可編程門陣列(Field-Programmable Gate Array,FPGA)或者其他可編程邏輯器件、分立門或者晶體管邏輯器件、分立硬件組件等。通用處理器可以是微處理器或者該處理器也可以是任何常規的處理器等,所述處理器是所述基於對抗學習的端到端的跨語言語音情感識別的終端設備的控制中心,利用各種接口和線路連接整個基於對抗學習的端到端的跨語言語音情感識別的終端設備的各個部分。
所述存儲器可用於存儲所述計算機程序和/或模塊,所述處理器通過運行或執行存儲在所述存儲器內的計算機程序和/或模塊,以及調用存儲在存儲器內的數據,實現所述基於對抗學習的端到端的跨語言語音情感識別的終端設備的各種功能。所述存儲器可主要包括存儲程序區和存儲數據區,其中,存儲程序區可存儲操作系統、至少一個功能所需的應用程序(比如聲音播放功能、圖像播放功能等)等;存儲數據區可存儲根據手機的使用所創建的數據(比如音頻數據、電話本等)等。此外,存儲器可以包括高速隨機存取存儲器,還可以包括非易失性存儲器,例如硬盤、內存、插接式硬盤,智能存儲卡(Smart Media Card,SMC),安全數字(Secure Digital,SD)卡,閃存卡(Flash Card)、至少一個磁盤存儲器件、閃存器件、或其他易失性固態存儲器件。
所述基於對抗學習的端到端的跨語言語音情感識別的終端設備集成的模塊/單元如果以軟件功能單元的形式實現並作爲獨立的產品銷售或使用時,可以存儲在一個計算機可讀取存儲介質中。基於這樣的理解,本發明實現上述實施例方法中的全部或部分流程,也可以通過計算機程序來指令相關的硬件來完成,所述的計算機程序可存儲於一計算機可讀存儲介質中,該計算機程序在被處理器執行時,可實現上述各個方法實施例的步驟。其中,所述計算機程序包括計算機程序代碼,所述計算機程序代碼可以爲源代碼形式、對象代碼形式、可執行文件或某些中間形式等。所述計算機可讀介質可以包括:能夠攜帶所述計算機程序代碼的任何實體或裝置、記錄介質、U盤、移動硬盤、磁碟、光盤、計算機存儲器、只讀存儲器(ROM,Read-Only Memory)、隨機存取存儲器(RAM,Random Access Memory)、電載波信號、電信信號以及軟件分發介質等。需要說明的是,所述計算機可讀介質包含的內容可以根據司法管轄區內立法和專利實踐的要求進行適當的增減,例如在某些司法管轄區,根據立法和專利實踐,計算機可讀介質不包括電載波信號和電信信號。
以上內容是結合具體的優選實施方式對本發明所作的進一步詳細說明,不能認定本發明的具體實施只侷限於這些說明。對於本發明所屬技術領域的技術人員來說,在不脫離本發明構思的前提下,還可以做出若干等同替代或明顯變型,而且性能或用途相同,都應當視爲屬於本發明的保護範圍。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章