天天看點

極限元算法專家:深度學習在語音生成問題上的典型應用

深度學習在2006年嶄露頭角後,近幾年取得了快速發展,在學術界和工業界均呈現出指數級增長的趨勢;伴随着這項技術的不斷成熟,深度學習在智能語音領域率先發力,取得了一系列成功的應用。

這次分享會中,雷鋒網(公衆号:雷鋒網)邀請到了中科院自動化所的劉斌博士。劉斌,中科院自動化所博士,極限元資深智能語音算法專家,中科院-極限元智能互動聯合實驗室核心技術人員,曾多次在國際頂級會議上發表論文,獲得多項關于語音及音頻領域的專利,具有豐富的工程經驗。劉斌博士會與大家分享近年來深度學習在語音生成問題中的新方法,圍繞語音合成和語音增強兩個典型問題展開介紹。

雷鋒網 AI 科技評論把此次演講的概要整理如下。想要進一步了解的讀者,可以在文末觀看視訊,還可以根據劉斌博士的指導查找相關資料增加了解。

劉斌:大家好。深度學習近幾年發展非常火熱,在學術界和工業界都有許多成果和應用。深度學習在語音領域也已經落地解決了許多問題,語音合成、語音增強、語音轉換、語音帶寬擴充等等。今天重點講解語音合成和語音增強兩個問題下的方法。

語音合成的任務目标是從文本輸入到聲學特征的轉換。在生成語音之前,文本首先需要進行分析預處理,其中正則化針對數字和特殊符号,音字轉換針對多音字,韻律處理讓生成的語音抑揚頓挫、有節奏感,然後再進行後端的生成。聲學處理常用的方法有統計參數模組化和聲碼器的方法。

這是傳統基于隐馬爾可夫架構(HMM)的統計參數語音合成系統,在訓練過程中建立文本參數到音頻參數之間的映射關系。其中有三個環節會導緻語音音質下降:決策樹聚類、聲碼器重新生成語音、以及動态參數生成算法。針對這三個問題點,就有人提出用深度學習的方法進行改進。

深度學習的方法裡,用神經網絡代替決策樹的作用,建立文本特征和聲學特征之間的關系,就提高了模型的精度。對于具體的模型結構,LSTM比DBN具有更強的序列學習能力,是以使用LSTM時經常可以跳過參數生成算法,直接預測語音參數,然後送到聲碼器中就可以生成語音了。深度神經網絡強大的非線性模組化能力也能在一定程度上提升語音合成系統的性能。

最近一兩年在工業界也有一些新的語音合成方法,比如基于WavNet的語音合成。這是一種從時域(聲波在不同時間的采樣值大小)的角度出發處理語音問題的方法,問題本身很有挑戰性;傳統方法都是從頻域(聲波在不同時間的頻率高低)出發的。谷歌提出的WavNet可以直接把文本參數和聲波的采樣值建立對應關系。它的主要問題是,每次隻能輸出單個采樣點的值,導緻計算速度慢、生成效率低。

百度也提出了基于 DeepVoice 的語音生成系統,用深度神經網絡實作了其中多個子產品,然後以類似WavNet的子產品生成語音。它的計算速度相比 WavNet 提升了約400倍。随後百度進一步拓展為了DeepVoice2,可以支援多說話人的語音合成,每個人也最少也隻需要半個小時資料就可以達到比較理想的效果。

Tacotron是谷歌推出的比較新穎的語音合成系統,它的特點是使用了編碼器-解碼器的網絡結構,好處在于輸入和輸出序列的長度可以不需要保持一緻;并且引入了注意力機制,可以提升性能。結構裡還包含一個後處理網絡。網絡的輸出是一個頻譜圖,用相位重構算法就可以轉換為語音。這種方法裡繞開了聲碼器子產品,可以提升語音的品質

目前語音合成方面還有一些問題沒有解決,一,多數方法還是面向單個說話人的。對于多個說話人、多語言的語音合成效果仍然不太理想。遷移學習相關的方法有可能會對這類問題的解決做出貢獻。二,目前的語音系統生成的聲音的表現力還有所不足,尤其是合成口語的時候,效果會有下降。

語音增強是語音識别、聲紋識别等算法中重要的前端處理子產品。它的優劣在一定程度上影響着後續識别方法的魯棒性。根據麥克風的數目不同,語音增強可以分為單通道語音增強和多通道語音增強。多通道語音增強可以更有效低利用聲音的空間資訊,增強目标方向的聲音資訊,抑制分目标方向的幹擾源;這類方法今天先不作具體介紹,感興趣的可以參見麥克風陣列技術的相關資料。

圖中展示了四種主要的幹擾源,真實狀況下可能是同時存在的,這就給語音增強帶來了很大難度。以下介紹一些單通道語音環境下的語音增強方法。

單通道語音增強的方法主要分為三大類。基于深度學習的語音增強方法下面會做詳細一些的介紹。這裡也是利用了深度學習強大的非線性模組化的能力,在比對的環境下優勢很明顯,在處理非平穩噪聲的時候也有一定的優勢。

這是一種通過深層神經網絡直接預測譜參數的方法,它的輸入是帶噪語音的幅值譜相關特征,輸出是幹淨語音的幅值譜相關特征,然後建立了兩者間的映射關系。網絡結構可以是DNN,可以是LSTM,甚至可以是CNN。這類方法可以更有效地捕捉到上下文的資訊,是以處理非平穩噪聲時有一定優勢。

深層神經網絡還可以用來預測屏蔽值。這類方法中,模型的輸入可以是聽覺域相關特征,輸出可以是二值型的屏蔽值或者浮點型的屏蔽值。這類方法根據聽覺感覺的特性把音頻分為了不同的子帶,提取特征參數。它的實際作用是判斷時頻單元内的内容是語音還是噪聲,然後根據判斷結果保留時頻單元内的能量或者置零。這類方法的優勢是,共振峰處的能量可以得到很好的保留,而相鄰共振峰之間、波谷處的語音雖然會失真較多,但是人類對這些資訊不敏感,是以仍然有相對較高的可懂度。

以往的方法主要關注于聲音的幅值譜,沒有利用到相位譜中的資訊。複數神經網絡中的複數譜就是一種同時利用幅值譜和相位譜的方法。

現在還有利用生成式對抗網絡GANs的語音增強方法。GANs是這兩年的熱點範式,目前在語音領域中的應用還不多,不過今年也已經有人提出運用在語音增強中。這篇論文中的方法中,不再需要RNN結構網絡中的遞歸操作,可以直接處理原始音頻,是端到端的方法,不需要手工提取特征,也不需要對原始資料做明顯的假設。生成器結構采用了CNN,而且沒有全連接配接層,這樣可以減少模型參數數量、縮短訓練時間;端到端直接處理原始語音信号的方法也避免了變換、提取聲音特征等複雜過程。鑒别器仍然起到引導生成器更新的作用。

除了剛才說到的一些主要針對環境噪聲抑制的方法之外,PIT方法則可以處理兩個或更多說話人聲音混疊時的分離問題。還有一種基于深層聚類的分離方法。不過為了在真實環境下可用,去噪音、去混響等問題也需要考慮,分離問題仍然有很大的困難。

語音增強領域目前仍待解決的問題是,如何在消除噪聲的同時有效提高語音的可懂度、聽感(避免消除語音本身的特征),以及,語音增強方法作為後續語音識别和聲紋識别方法的預處理子產品,需要前後合理對接,而不應完全分别設計,這樣才能提高整個系統的魯棒性。

最後,對于未來發展的展望,語音生成領域許多問題雖然模組化方法不同,但是也有許多值得互相借鑒的部分,可以促進互相提高。深度學習雖然是火熱的方法,但是也不能指望深度學習解決所有的問題。并且,要先對處理對象的實體含義有深入的了解,在這個基礎上尋找合适的模型、對模型進行優化,才能得到較好的問題解決效果。

本文作者:楊曉凡

繼續閱讀