下圖是美國著名科幻電影《鋼鐵俠》中的幾個場景,可以說這部電影全面展現了未來先進人機語音交互的強大魅力。在電影中,主角托尼·斯塔克擁有一套名叫“賈維斯”的虛擬智能管家,無論是在家中還是戶外,抑或是身披戰甲時托尼都可隨意與其對話并發號施令,而這位虛擬管家的回復之自然如同一位真實存在的伙伴,不僅對命令的理解準確無誤,還能對托尼的一些比較無厘頭的笑話做出與真人類似的回應,這種強大的交互能力讓每一位看過此片的觀眾都期待能夠在現實中也擁有一位這樣的虛擬智能管家。實際上依賴當前的科技水平,在真實生活場景中實現如此自然的對話,仍是一件非常困難的事情。本次分享不會涉及太多有關深度學習、神經網絡、知識圖譜的技術范疇,也不會過多討論諸如ASR、IOP等有關自然語言理解能力的技術,而是主要關注語音信號的拾取優化,能否進一步提升未來自然語音交互的識別能力。
以《鋼鐵俠》電影中的場景為例,在實際應用中,人機語音交互面臨著諸多復雜的場景:
風噪、機械振動噪聲:以鋼鐵俠戰衣飛行為代表的應用場景,戰衣飛行的速度越快,其產生的風噪與機械部件摩擦振動的噪聲就越嚴重。
槍林彈雨的爆炸聲:以鋼鐵俠作戰為代表的特殊場景,戰斗時周圍環境中的爆炸聲會對拾音系統產生嚴重干擾。
遠場問題:以托尼的豪宅為代表的生活場景,如何保證托尼在寬敞大客廳中任何一個角落向虛擬管家下達的指令都能被準確拾取。
混響問題:以“鋼鐵俠戰衣”的密閉空間為代表的應用場景,此場景中聲音會產生反彈折射從而造成混響干擾聲音拾取。
回聲問題
如果以現實生活場景為例,用戶與一個人工智能硬件設備進行人機對話會面臨什么樣的影響呢?
上圖展示的是一個包括客廳、書房、陽臺、各種家具在內的非常典型的普通家庭場景,其中存在多種能夠為語音交互帶來干擾的環境因素。例如來自廚房的包括水流聲、油煙機噪聲、炒菜洗碗雜聲在內的各種噪聲;客廳中的人交談說話、兒童游戲打鬧的噪聲;還有因遠場和房間角落造成的混響,房間中的家用電器如空調、風扇、吸塵器、電視、音響等等發出的強烈噪聲,窗外傳來的包括汽車聲、風聲、雨聲雷聲在內的戶外噪聲等等。即使我們實現了在理想環境中智能語音交互的強大性能,一旦在實際應用中涉及到如遠場噪聲、回聲等問題,人機交互的性能就會急劇下降。
為了進一步驗證以上環境因素對智能語音識別系統的影響,我們使用智能音響進行了測試。
上圖是我們使用世界上最著名的智能音箱之一 Amazon Echo 測試在不同噪聲場景下喚醒性能波動的結果,測試方法如下:我們使用一百次100%可用的測試用例(在安靜環境中距離設備非常近的條件下播放一百次喚醒指令并確保Echo喚醒成功率為100%。則視此測試用例是可用的),并分別測試了添加七種不同類型噪聲:安靜、輕音樂、激烈歌曲、新聞聯播、雷雨聲、客廳綜合噪聲、廚房綜合噪聲;同時把聲源與Echo之間的距離控制在1m與3.5m兩個距離量,進行喚醒測試并統計其喚醒成功率。通過測試可以發現,在安靜的環境中,距離Echo 1m時喚醒成功率可保持91%左右,3.5m時則下降到72%;而在后續各種不同噪聲環境中,Echo的喚醒性能急劇下降。實驗結果基本驗證了之前的推測:真實生活場景中的各種環境條件,的確會對人機交互識別造成不利影響。除了Amazon Echo,我們還測試了Google Home以及國內的一些智能助手。除了以上環境變量之外,我們還選擇了回聲、遠場、混響、不同角度等干擾場景,得到的性能曲線都是類似的。
綜上所述,生活中的種種干擾因素一定會對人機語音交互的性能造成很大的不利影響,而某些干擾因素就目前技術而言,是無法從根本上解決的。如果將近場、無噪聲、無回聲、無混響等理想環境下的語音識別作為天花板,那么不同廠商探索的在干擾環境下的高性能語音識別方案,則是致力于如何在惡劣環境下更接近這層天花板。
2、什么是語音前處理
接下來介紹的技術是語音前處理。這種技術從何而來?因何而生的?其意義是什么?
2.1 原理
我們所謂的人機語音交互實際上是一種仿生模擬,上圖第一條路徑表示的是人類通過生理器官進行拾音的過程。人耳的生理構造包括耳廓、耳道、鼓膜等,外界的聲波傳播至耳朵,耳廓收集聲波后通過耳道將其傳播至鼓膜并引起鼓膜振動,鼓膜振動使聲音信號通過聽覺神經傳遞至大腦,并由大腦對接收到的聲音進行辨別。這里需要強調的是,人的生理器官具有多種處理能力,例如人的耳廓與耳道具備濾波器的功能,而鼓膜與聽覺神經則負責將信號放大,從而易于在聲音中提煉有效信息;接下來的高級神經與大腦則具備了聲紋識別、自然語言理解等語音識別的功能,最終經過大腦分撿出的有效信息則指導人類根據語言理解驅動正常的行為。
第二條路徑表示的是機器進行聲音拾取的過程,首先需要用于聲音拾取的麥克風,在這里麥克風拾取的是模擬信號,系統需通過信號處理對模擬信號進行模數轉換,從而獲得聲音的數字信號;與人類聽覺系統類似,接下來通過數字信號領域的一系列放大、降噪、回聲一致等處理,聲音的清晰度與信噪比會得到顯著提升,最終這些聲學數字信號會被傳輸至機器的大腦,如深度學習或自然語言理解系統從而被轉換成機器可以理解的指令。與人類的聽覺系統不同,這里的麥克風明顯不具備人耳的耳廓、耳道等特性,無法對聲音信號進行有效的前期處理,只能最大限度地實現不失真拾音。因此我們需要在麥克風拾取原始聲音的基礎上進行相應的優化也就是語音“前”處理,才能得到有利于機器學習理解辨識并作出正確反饋的聲學信號。
2.2 意義
為什么需要語音“前”處理?上圖表示一個比較典型的語音信號處理過程:首先,我們將麥克風拾取聲音信號的過程稱為“聽到”,此過程的作用是將聲音信息由聲波形式轉換成數字信號形式;隨后聲音信息被傳輸至“語音信號處理”模塊,此語音數字信號處理模塊的功能是“聽清”,也就是對接收到的聲音信號進行清晰化處理;經過清晰化處理之后的聲音信號會被繼續傳輸至文字信息識別系統,我們將文字信息識別系統中的處理過程稱為“聽懂”——從“聽到”、“聽清”到“聽懂”的整體流程就是機器模擬人聽覺生理活動的過程。在“聽懂”部分,系統首先會對信號中的聲學特征進行提取,隨后根據之前整個深度學習系統經過大量標準語言訓練訓練得到的聲學模型與語音模型進行匹配與解碼,最終得到一個較為準確的文字識別結果。如果在“聽到”階段沒有清晰拾得目標音頻,麥克風拾取到的信號中就會包含我們上文介紹到的各種惡劣環境影響因子例如混響聲音、外界噪聲、回聲、遠場聲音、衰減聲音等等,倘若不處理這些混有噪音的聲音信號而是直接將其送到文字識別系統就難以根據之前的標準語言訓練得到的聲學模型對目標聲音進行識別與匹配,識別效果一定會大打折扣。因而我們必須在其中添加一個“聽清”的過程,在語音識別之前加入語音信號處理模塊,通常我們會把這部分流程我們稱為“語音前處理”。
3、信號處理VS深度學習
接下來我將會講述信號處理與深度學習的關系。可以說這兩者中的前者算是傳統學科,后者算是前沿學科。首先需要提出以下幾個問題:深度學習+大數據能否解決所有的語音干擾問題?深度學習時代的前端數字信號處理技術是否已經過時?深度學習是數字信號處理的終結嗎?僅針對干擾的模型訓練能夠有效識別并去除干擾嗎?之前我參與了有關深度學習時代信號處理沒有意義的討論,對此觀點的結論是否定的。
為什么深度學習不可能代替信號處理?我們在現實生活中面臨以下幾大問題:
第一大問題是噪聲問題。噪聲分為平穩噪聲與非平穩噪聲,平穩噪聲指的是特性相對平穩,以日常生活中的一些如白噪聲、駕駛汽車勻速行駛時發動機的聲音、風噪等頻率特性、時變特性比較平穩的理想噪聲為例;而非平穩噪聲則與之相反,比較典型的例子是人說話聲、KTV音樂等等。
第二大問題是回聲問題,例如一個智能音箱正在播放歌曲,此時音響上的麥克風也正在工作并處于隨時等待被主人喚醒的待命狀態。這時,用戶會希望與智能音箱進行語音交互時麥克風不會混淆拾取到的自己發出的指令聲與音響喇叭放出的音樂聲,此時對于用戶發出的語音指令來說此音箱喇叭發出的聲音就被稱為“回聲”;在實踐中音響必須濾除此回聲并保留來自用戶有效的指令聲才能對用戶的指令做出正確反應。也許有些人會認為這與噪聲類似,實際上二者并不一樣,處理方法也不盡相同。
第三大問題是遠場問題。用戶距離智能音響比較近時可獲得較為準確的語音識別體驗;而一旦用戶距離智能音響較遠,其語音交互的性能就會急劇下降并影響用戶使用智能音箱的良好體驗。
第四大問題是混響問題。當將此設備擺放在墻角或較為空曠的房間時,用戶發出的有效指令聲經過此房間的墻壁折射反彈多次后被設備的麥克風拾取,麥克風會收到混合在一起的多個不同時間延遲下的指令聲音,這種混響多次的指令也會為語音識別帶來巨大干擾。
第五大問題是聲音定位。圍繞在此設備周圍360度空間內的任何方位都有可能成為用戶指令的聲源位置,聲音定位的目的就是瞄準用戶指令聲源所在的角度并進行波束集中,有效提高聲音拾取的準確性。
那么這些問題可以用深度學習來有效解決嗎?
平穩噪聲:可以解決
方法是針對一個干擾模型進行大量訓練。例如在訓練最初時向語音識別系統輸入大量加噪的語料,這里的“加噪”是指加入明確希望去除的噪聲類型如風噪、汽車噪聲等。將此噪聲提前模擬并加入訓練后得到的識別系統可準確識別此噪聲的聲學特性,這樣就可得到能夠識別并處理真正含有此噪聲語料的語音識別系統,增強它的魯棒性,更有效地去除平穩噪聲對有效語音的影響。
非平穩噪聲:部分解決
即使絕大多數非平穩噪聲無法被捕捉特性,但仍然存在少量非平穩噪聲可被捕捉到特性,我們可以通過深度學習訓練解決這部分非平穩噪聲的干擾問題。
混響問題:部分解決
如果我們確定了某房間的混響模型,例如這間房間的空曠程度、長寬高、墻壁的材質、設備在房間中擺放的位置等,那么聲音在此房間中傳遞、反彈再傳遞到設備的時長、混響效果與混響模型就是確定的,就能將其結合深度學習從而解決混響問題;如果這些場景發生了改變,那么相對應的混響模型就需要進行改變。
綜上所述,深度學習可以解決平穩噪聲問題與部分非平穩噪聲和混響問題,但是豐富其語料模型從而達到良好訓練效果的工作量很大;而通過深度學習并不能妥善解決并不具備恒定特性的遠場、回聲與聲源定位問題,我們無法從這三者中提取有價值的模型特征的。語音識別問題歸根結底是信噪比問題,我們可以把所有的干擾都視為影響原始語音信號信噪比的噪聲,當信噪比不佳時系統無法從聲音中提取有效信號的聲音模型,語音識別就無法成功。
4、語音前處理的變革演進
講完了語音信號處理的前世,接下來我們談一談語音信號處理的今生。想必大家聽完之前的分享,心中可能會產生一個疑問:我們知道語音信號處理是一個有著近百年歷史的傳統技術,那么傳統的語音信號處理技術能否直接完美地運用于人機語音交互呢?
我們熟知的語音信號處理主要被應用于通信系統,而通信系統的設備處于一個較為可控的應用場景中,例如從最早的座機、固定電話到現在的移動電話,而移動電話也是從模擬信號發展到到數字電話時代,整體主要服務于包括軍用步話機在內的通信場景。我們以手機為例,手機有四種通訊模式:手持、免提、插線耳機以及藍牙耳機。對于語音信號處理來說,經過業界幾十年的探索,這幾種模式的發展都比較成熟,大家已經摸索出了應對這幾種通訊模式較為典型的語音算法,例如免提模式下如何降噪,手持模式下可用手機多個麥克風進行降噪等。
業界應對這些傳統方式都有比較成熟的方案,但是面對現在以智能音箱為例的新型人工智能硬件設備來說,其與手機的結構和應用場景完全不同,手機主要用于近場通訊,但智能音箱主要運用在中遠距離通訊,且智能音箱上喇叭的功率與其播放的聲音強度比手機高很多;使用距離較遠就存在我之前提到的遠場聲音問題,與此同時麥克風所能識別到用戶的指令音量也會更小而回聲卻會更惡劣;由于智能音箱擺放位置的多樣性,其需要面臨的混響環境也會更加復雜;即使智能音箱具備多個麥克風,但由于其是作為一個遠場設備,我們無法使用副麥進行降噪處理。有信號處理經驗的同學可能對此會比較了解,副麥降噪依賴于手持模式下主麥在用戶嘴邊而副麥在手機背面,只有當主麥副麥之間拾音差異在6dB以上才能實現副麥降噪,那么對于遠場設備來說副麥降噪并無理論基礎。
除了以上新型智能音箱人機對話與傳統通訊工具手機電話之間的明顯差異,人腦對語言的理解與機器之間也存在不小差異。傳統的通信是人與人之間的交流,而語音識別則是人與機器之間的交流,二者本質上存在很大差別。任何的信號處理過程都會破壞語音信號聲學特性,也許人能夠成功識別這種破壞后的信息但機器卻無法處理。因而我們需要在傳統通信的語音信號處理基礎上進行改進和創新,特別優化匹配語音識別的特性要求,從而讓人工智能硬件既能聽清楚也能講明白,這也是所有人工智能硬件廠家核心科技之所在。
總結來說,就是從前端的信號處理與后端的識別兩個層面進行系統性的綜合優化,才能實現我們期待的與人工智能自然交流的美好愿景。
Q&A
Q:前端使用哪些去噪算法?
A:通常降噪有以下幾類方法:
1)濾波器降噪:一種較為典型的方案,主要通過如維納濾波這樣的自適應濾波對聲音進行降噪。
2)主副麥降噪:主要運用于手機等手持模式上,使用位于手機下方的主麥克風與手機背面的副麥克風進行降噪。
當用戶使用手持模式撥打電話時主麥靠在嘴邊而副麥朝向外界,當外界環境充斥噪聲時主麥玉副麥都會收到有效語音與噪聲的混合聲音,但對比兩個麥克風,主麥收到用戶的有效語音信號更強而副麥收到外界的噪聲更強,使用譜減法將主麥收到的聲音減去副麥的噪聲,留下的就是有效信號;再放大有效信號即可得到清晰的語音。而智能硬件無法使用副麥降噪,如果使用單麥那么我們可借助濾波與噪聲估計,用估計出噪聲的頻譜與此噪聲對比,并使用普減法從原始信號中消除噪聲頻譜。在這里需要強調的是我們的降噪處理最終的接收對象是誰。如果是給機器則不能破壞原始語音的聲學特征,需要把降噪控制在一定的程度內。
Q:遠場單通道降噪對于收益率有何影響?
A:兩年前我們的小魚在家產品就使用了單麥克風并實現降噪與語音信號放大、回聲抑制、遠場增強等一系列功能,提升十分明顯。我們曾使用訊飛的語音識別引擎與標準接口進行對比實驗,在沒有添加任何其他處理算法的情況下使用訊飛識別引擎測試近場拾音,其準確率可達到100%,一旦將距離增加到1m~3m的遠場,識別率會大幅度降低至50%~10%;而如果加上遠場單通道語音增強算法,可將3m時10%的準確率提升至70%左右,收益十分明顯。單麥算法的使用需要結合不同場景,如果現在絕大多數智能音箱為了比拼識別準確率都用麥克風陣列,在成本上則會帶來很大壓力,單麥算法在小型設備或低成本設備的應用前景十分廣闊。
Q:智能音箱的揚聲器音量是否不能過大,否則會造成強非線性影響AEC?
A:是的,這涉及到硬件的選型問題。我們知道較昂貴的揚聲器其聲音特性也會更出色,主要體現在線性優秀、底噪更低、失真更小、信噪比更高等。但由于受到產品的限制我們往往無法選擇性能如此優秀的揚聲器,因而揚聲器的播放響度控制在不失真的范圍內。如果一味地追求聲音大而使播放出的聲音信號被麥克風吸收使得頻譜失真或造成非常強的非線性,那么從算法層面上來說很難解決由此帶來的影響。我認為應該盡可能調試好揚聲器的聲學參數或從硬件選型進行控制從而達到一個音量與音質的平衡。
-
信號處理
+關注
關注
48文章
1047瀏覽量
103568 -
深度學習
+關注
關注
73文章
5527瀏覽量
121893
原文標題:鄧濱:信號處理+深度學習才能實現語音交互
文章出處:【微信號:livevideostack,微信公眾號:LiveVideoStack】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
車載導航人機語音交互系統的實現
【Gokit 3試用體驗】通過Lark 7618模組實現語音交互+語音交互UI設計理念
對語音交互技術感興趣的童鞋戳進來!
什么是深度學習?使用FPGA進行深度學習的好處?
基于Internet的語音交互系統的設計和實現

如何使用深度學習實現語音聲學模型的研究

評論