即使在嘈雜環境中,人類聽到自己的名字(或類似發音)都能迅速反應過來,語音識別技術有這樣的能力嗎?
本題已收錄至知乎圓桌:人工智慧 · 機器感知,更多「人工智慧」相關話題歡迎關注討論
聽到自己的名字能反應過來,這個在語音識別領域其實是個專門的研究方向叫語音喚醒詞技術或者語音激活詞技術(Voice Trigger),本質上類似於關鍵詞檢測(KWS)的相關技術,具體的實現有很多論文大家可以參考。
我覺得這個問題的重點在於兩個方面,一個是嘈雜環境,一個是迅速,對應的其實就是語音喚醒詞技術的性能問題和速度問題。
嘈雜環境意味這需要專門的信號處理演算法,原來是屬於語音降噪這個大的範疇,由於常用的抗噪演算法都是採用自適應技術,這是個非線性變換,會降低語音識別的準確度,所以這兩年重點的抗噪演算法都是基於麥克風陣列技術,包括波束形成(BeamForming)和聲源定位(Source Location),這兩個技術是傳統的信號處理演算法,和深度學習沒太大關係;不過最近兩年也有人用深度神經網路(DNN)和生成對抗網路(GAN)來解決替換現有的波束形成技術,也取得了不小進展。總的來說就是用麥克風陣列技術來解決嘈雜環境的語音喚醒詞的性能問題。
速度問題則是從另外一個角度來處理的。一般來說速度和性能是相互矛盾的一對孿生兄弟,速度快了一般都是以性能為代價,相反也是一樣的,所以很難從研究角度來解決這對矛盾。當然這也不是絕對的論斷,由於目前的語音喚醒詞技術都是採用DNN的架構,所以隨著深度學習技術的不斷演進,很可能會出現一個性能又好,速度又快的模型,不過這不是一日之功了,需要整個深度學習的從業者和研究者一起努力。
所以,業界解決速度問題一般都是從工程角度來解決,比如對現有的模型進行裁減,或者是矢量量化,這些都是在業界得到認可的工程優化技術,也是目前研究的一個熱門方向。更有甚者,像google,amazon這樣的大公司,直接定製專用的晶元或者fpga來解決速度問題,這裡就不展開說了。總的來說,速度問題需要從模型優化,計算優化到硬體優化,這是一個比較大的系統工程。
一些拙見,供大家參考,
在語音識別領域,這個可以理解為嘈雜環境下的降噪處理,和類似人腦的強大的模糊匹配的能力。目前降噪處理已經有很多比較成熟的方案,但是主要針對的還是語譜圖比較穩定的雜訊環境,例如高速行駛的車輛內的雜訊就是比較容易研究和消除的。另外由於錄音距離的增加,導致錄音信噪比急劇降低的情況,很多技術廠商已經有比較成熟的麥克風陣列等硬體方案來解決。(麥克風陣列技術解讀可參考 自然的語音交互--麥克風陣列 - 知乎專欄 )
上面提到的模糊匹配有點類似於語音喚醒的功能,其實它就是語音識別的一種形式,只是它不像一般的語音聽寫(轉寫)等需要識別出具體的文字信息,語音喚醒只需要識別出用戶說的是不是那個特定的喚醒詞(例如人的名字)。這個比識別出嚴格的文字結果條件要寬鬆的多,例如本人叫 汪(wāng)艦(jiàn),那邊如果我隱約聽到有人喊「光電」「關鍵」可能都會不自覺的四處張望看誰在喊我。對於喚醒引擎來說,這裡的「光電」「關鍵」「對應都是一個和我本名的一個相似度,我們可以設置一個閾值,當相似度達到這個閾值,就給出被喚醒的信號(認為喊的就是我的名字),這個閾值就可以用來控制喚醒的靈敏度。由於是模糊識別,所以它不像語音聽寫哪有對環境噪音要求那麼高,有些許噪音影響也不會非常大。
以上回答來自訊飛開放平台技術服務專家 汪艦
嘈雜環境下的語音喚醒問題,是目前語音交互技術的重點研究方向之一。比這個問題更加難的是雞尾酒會問題,也就是在多人說話的嘈雜環境下,人類可以輕鬆做到專註於一個人的聲音並準確識別和理解。
如果只是嘈雜環境下的語音喚醒,有兩個方面的解決方法。一方面是通過麥克風陣列這樣的硬體和相應的信號處理演算法,比如聲音尋向和波束成型演算法,對說話人的聲音進行增強,並同時壓制周圍的雜訊,得到的語音再做類似於語音識別的關鍵詞檢測。另一方面是最近學術界非常熱的通過深度學習的方法,對單錄麥克風或者多路麥克風的語音進行分離,或者用深度學習的模型直接對包含噪音或多個人聲的語音進行建模,得到最終的語音喚醒詞檢測結果或語音識別的結果。
基於麥克風陣列的信號處理方法,是傳統做法,相關演算法已經發展了很多年,並廣泛應用於傳統信號處理領域,但傳統方法無法解決同方向上多人說話問題。基於深度學習的方法,有望能夠解決同方向多人說話問題,並能夠得到更好的語音交互效果。
在嘈雜環境下,人類對於雜訊的魯棒性是很強的,不僅限於自己的名字,而對於語音識別技術而言,這個問題對應的是高噪環境下低延時高容錯的語音識別技術,如下會逐項進行解答:
1. 高噪環境的語音識別: 雜訊問題目前依然是影響識別準確率的重要因素,目前語音識別技術有軟體以及軟硬結合的降噪方案,從軟體方案來看,傳統的MSE、AFE、NMF等降噪方法依然有效,但是提升幅度不如基於深度神經網路的降噪方案,特別是DNN降噪與模型訓練結合在一起的聯合訓練對於雜訊環境下的語音識別效果提升明顯,但是單麥克風條件下對於多人交談場景下的識別仍然很困難,目前使用深度神經網路進行音源分離的工作也逐步展開,但是在工業界還沒有落地,目前工業界解決雜訊除了上述的軟體方案外,麥克風陣列被越來越多的使用,通過多個麥克風利用話者定位、波束形成等演算法達到遠程拾音和降噪等作用。
2. 低延時的語音識別:大數據和深度學習演算法共同作用下,語音識別的可用性大幅提升,近幾年模型複雜度不斷加強,語音識別領域使用的模型考慮到語音時序逐漸使用循環神經網路(如LSTM),同時借鑒了圖像CNN的思路,逐步使用深層CNN(結合殘差網路的思路,可以做到50層以上),但是對於實時語音聽寫技術而言,低延時的輸出識別結果是必須做到的,因此運算器件上,GPU、FPGA等逐步引入到識別運算中來,同時模型選擇上,儘管BLSTM的識別準確率更高,但是延遲過高無法直接使用,業內也出現了LC-BLSTM的技術應用,來保證較低延遲。
3. 高容錯的語音識別:語音識別的整個過程使用了兩大知識源,一類是聲學模型,描述了語音信號與發音單元之間的相似性,另外一類是語言模型,描述了詞與詞的連接概率,也就是正常的語言習慣,語音識別就是在這兩個知識源的共同作用下輸出最終的結果,在發音比較含糊不清的情況下,更多需要藉助語言模型的知識進行校正,而語言模型的訓練樣本來源於通用海量的大文本數據,同時用戶的個性化詞庫等信息對於提升識別性能很有幫助,目前主流的語言模型仍然是N-Gram,但是會逐步接入基於神經網路的語言模型,只有語言模型強大的前提下,在發音含糊或者音近的情況下才能識別輸出正確的結果。只有模型具備足夠的記憶能力以及語義理解的能力,才能做到高容錯。
綜上所述,目前語音識別技術已經取得了較大的進步,但是較人耳的能力仍存在一定差距,特別在雜訊、口音等場景下,除了發音模型的不斷優化,語言和語義知識也非常重要。
@回到未來 君說的對,這道題應該分兩部分回答。
有關語音識別技術的內容大家回答的都很全面了,我就關於人類為什麼能在噪音中捕捉到自己名字這一問題簡單的解釋一下。
這種現象叫「雞尾酒會效應」,心理學家對比提出了許多有趣的解釋,這裡介紹兩種:過濾器理論和信號檢測論。
過濾器理論認為,人只能對有限的信息進行加工,所以在獲取信息的意義之前,認知系統會用一個「過濾器」把一些信息過濾掉。
但是,這些被過濾掉的信息並沒有完全消失。研究者發現,這些信息在一定程度上也獲得了加工,只不過是非意識上的加工。當這些信息具有的屬性很特殊——例如是聽者的姓名時,它們才會被送至意識層面。
接下來介紹信號檢測論。
信號檢測論認為,影響人對信息的辨別力有兩個因素:感受性和判斷標準。換句話說,人對信號做出反應,具體要經過兩個過程:第一是辨認信號的過程,影響這個過程的因素是感受性,例如視力、聽力等;第二個是決策過程,影響因素是判斷標準,為了理解這個過程,我們來看個實驗。
在一個白雜訊的環境里,隨機出現一個聽覺信號(例如一聲「嗶」),只要聽到這個信號就按紅鍵。這就有四種可能,有信號+按鍵叫「擊中」,有信號+沒按鍵叫「漏報」,沒信號+按鍵叫「虛報」,沒信號+沒按鍵叫「正確否定」。
如果實驗者告訴你,每擊中一次給你100元,你會怎麼樣?聽到風吹草動就按鍵對吧;但如果實驗者說,每虛報一次就電擊你一次,你又會怎麼樣?100%確定有信號的時候才會按對吧。
信號和雜訊強度不變,僅僅改變了決策(按不按鍵)的影響,你對信號的靈敏度就發生了變化。回到雞尾酒會效應,名字這個信息很重要,用信息檢測論的術語就是判斷標準低,只要有點風吹草動就會做出反應。這一點我想大家都有類似體驗:在排隊等待叫號的時候,如果叫號者言語不清,每個人都覺得叫的那個號是自己的。
人工智慧是個交叉學科,其中就包括心理學。在這篇回答的結尾,我想歪個題(反正已經很歪了),給心理學正個名。心理學不是讀心術,心理學不是算命的,心理學是一門研究個體行為和精神過程的科學。心理學不僅僅是心理治療,它在諸多領域都貢獻著自己的力量。我相信,人工智慧的研究,將會有越來越多的心理學家參與其中,創造出更多激動人心的黑科技。可以模糊匹配,但容易過擬合。
人也一樣,有時會誤以為有人叫自己。我覺得大家的回答是不是偏離了題主的問題。
我覺得問題可以分為兩個部分:
1、即使在嘈雜環境中,人類聽到自己的名字(或類似發音)都能迅速反應過來
2、語音識別技術有這樣的能力嗎?
針對1,題主想問的是一個普遍的識別問題? 還是一個特定的(自己的名字)識別?
如果說是對自己名字有特別反應,我覺得這應該是大腦的記憶問題,你的名字從小到大被反覆叫,已經形成條件反射了,所以很容易引起反應。
針對2,才是大家說的語音識別問題,如何去除干擾,就像kanglando所說的,語音識別可以複述多人的講話,那我想去除一些背景雜音也不是什麼太大的問題。只要你要求識別一段特定的語音而已。
雞尾酒會問題
Cocktail party effect
Source separation
Independent component analysis
日本asimo已經實現了。同時多人說話,可以依次複述每一個人說話的內容。
要想做到這點,重點是要能分辨出聲紋,什麼是聲紋?建議樓主自行搜索。
要做到這點需要什麼能力呢?光是靠語音演算法是不完整的。
1. 強大的麥克風陣列,確保靈敏度。
2. 雄厚的聲紋庫,通過聲紋庫的比對,快速識別出某個人或者某一組人,理想情況當然是某個人了,只不過現在演算法是還沒能到這種程度的。
3. 語音識別,包含了聲紋和Speech-to-Text。
很多答案都跑偏了.
首先這個和權重,樣本有關,就如語音識別中的熱詞列表.一個發音可以識別為多個候選詞,你肯定會選擇和你關係最緊密那個.非常個性化的.比如某個英文單詞發音,很像我奶奶喊我名字的時候聲調(我奶奶不會說普通話).對於機器識別來說,它不知道你的權重,知識和生活經歷.因為它訓練樣本是大眾化的. 所以這個問題是語音識別訓練時候是否使用個人的樣本,更個性化呢?
技術實現沒有問題,但成本合收益不成本正比.
attention模塊就是專門干這個的
絕對有 (?^o^?) ,譬如在工廠,許多雜訊都是有頻率特性的,只要計算計算機不識別,而是踢除這些頻率。去識別人聲的頻段,不是不可能,只是在代碼方面要解決確實有難度。
對現在的技術來說還有難度,人腦的模糊辨認能力與屏蔽無用信息的能力比較強,機器辨識現在仍是以辨識重點信息為主要用途。
參見Siri,Cortana的息屏自動應答功能
Hi Siri,OK Google,你好小娜,Xbox,還有很早Windows就有的:開始聆聽
推薦閱讀:
※正在開始學習kaldi,有哪些準備要做?
※馬雲投資的軟銀 Pepper 機器人到底可以幹什麼,值得購買么?
※有什麼神經網路結構圖的畫圖工具值得推薦嗎?
※怎樣看待2017科大訊飛發布會展示的腦波控制技術?
※如何看待吳恩達新成立的公司 landing.ai 並與富士康達成戰略合作?