天天看點

機器之心獨家專訪:首度揭秘地平線語音戰略與研究

從創立之初,地平線的願景就是為包括智能家電、服務機器人、自動駕駛汽車在内的衆多裝置裝上「大腦」,讓它們具有從感覺、互動、了解到決策的智能。人機之間的自然互動一直是人工智能領域的一個美好願景,而語音是人機互動中最重要的手段之一。

雖然過去的一年中,我們聽到更多的是地平線關于圖像、晶片方面的研究,但據機器之心了解,地平線在創立之初(2015 年)就擁有了一支十分強大的語音團隊,很早就在進行語音方面的研究,積累起獨特的技術優勢。

在近日,機器之心對地平線聯合創始人、算法副總裁黃暢博士以及首席語音算法工程師牛建偉進行了專訪,從公司的整體戰略、語音技術兩個角度揭開地平線語音的神秘面紗。

機器之心獨家專訪:首度揭秘地平線語音戰略與研究

黃暢博士,地平線機器人技術聯合創始人、算法副總裁。深度學習專家,前百度主任架構師 ( T10 )。長期從事計算機視覺、機器學習、模式識别和資訊檢索方面的研究,作為相關學術界和工業界的知名專家,發表的論文被引用超過 3350 次,擁有多項國際專利。他開發的人臉檢測技術,創造了世界上首次計算機視覺技術被大規模應用的成功範例,占領 80% 數位相機市場,并且被蘋果 iPhoto 等諸多圖像管理軟體所采用。

機器之心獨家專訪:首度揭秘地平線語音戰略與研究

牛建偉,地平線機器人技術首席語音算法工程師、語音識别團隊負責人。牛建偉畢業于西北工業大學語音識别專業。曾任百度語音技術部資深工程師,在百度期間研發了國内第一個采用深度學習技術的大規模商用語音識别系統,并建立了一套國内領先的離線語音識别系統。牛建偉 2015 年加入地平線後,主導搭建了地平線的語音識别系統。

地平線的語音戰略

機器之心:請黃暢博士介紹一下地平線在語音方面所做的工作?

黃暢:請容許我首先介紹一下我在語音方面的同僚牛建偉。牛建偉在加入地平線之前就職于百度語音技術部,是國内語音行業中最早一批接觸并運用深度學習算法的人,至今從事語音方面的研發工作已經 7 年有餘。事實上,地平線從創立伊始就開始語音技術的研發,原因很簡單——萬物智能意味着人機互動需要變得更加自然,而語音正是其中最重要的手段之一。在家居場景中,各種智能終端上的語音技術與手機上的相比,會複雜很多,具體表現為:語音的擷取從近場變為遠場、對互動響應時間的要求更為苛刻、需要對接的服務種類更加繁雜。這些特點決定了智能終端不能簡單沿用手機上的語音技術架構。

為了更好地處理遠場語音問題,我們開展了語音信号處理(包括麥克風陣列)相關的算法和硬體研發;為了降低互動響應時間,我們采用了雲端+嵌入式的語音識别架構;在嵌入式端,受限于計算資源,我們僅僅運作信号處理、喚醒、指令詞和小規模通用語音識别模型,以保證低延時的互動響應以及網絡條件不好情況下的使用者體驗;而在雲端我們可以采用更大規模的聲學模型、更複雜的解碼器和語言模型,在網絡條件良好的情況下確定更好的使用者體驗;最終,通過語義了解、知識庫和對話系統,做出決策并對智能裝置進行有效的控制,将使用者和廣泛的服務對接起來。

機器之心:現在的語音團隊大約發展到了多少人?

黃暢:除了北京,我們還在南京設立了語音研發中心,整個團隊加起來正式員工有 20 多人。

機器之心:國内也有一批語音方面的人工智能創業公司,比如思必馳、雲知聲等,我們和他們比起來有什麼不同?

黃暢:我們的角度是不一樣的。首先據我所知,他們還是非常偏重雲端的。地平線的語音則一開始就強調雲端+嵌入式。語音信号處理、喚醒、指令詞以及語音小模型放在嵌入式端,以保證明時性和網絡不佳條件下的必要功能,而将語音大模型和語義了解放在雲端,以提供更佳的性能并能對接服務,這種雲端+嵌入式端的整體方案,可以提供更好的使用者體驗。

我們注重的是語音全自然互動的解決方案,也就是前端語音信号處理與後端語音識别、語義了解相結合。

語音信号處理、語音識别、語義了解這三個環節組成了一個完整的解決方案,尤其需要注意的是前端語音信号處理,它發揮了很重要的作用。舉個簡單例子,在語音識别環節很重要的就是對資料進行擾動、加噪。那麼加噪怎麼加?加多少?這其實跟音頻信号處理關系是非常大的。如果隻專注于語音識别這件事情而不做音頻前端的信号處理、優化,就會導緻在具體産品上出現性能不好,或者成本過高等問題。

最後,我們在軟硬體配合方面做了大量工作。硬體展現在兩方面,一方面是在前端信号處理上的麥克風陣列,另一方面是在中間的語音識别,尤其在嵌入式的語音識别,需要我們設計專用的、針對深度學習優化的計算架構晶片。

是以我們認為語音互動這件事情,首先是雲端+嵌入式;其次是語音信号處理、語音識别、語義了解三個環節都要做;最後,你要軟硬結合。這三個次元缺一不可。

機器之心:地平線之前推出的雨果平台、安徒生平台上面使用到的語音互動解決方案也都是我們自己的?

黃暢:雨果 1.0 平台是一個基于 FPGA 的平台,它主要面對的是汽車市場。安徒生平台面向的是智能家居。現階段,車載語音暫時還沒有放在我們的工作範疇之内,我們專注的是智能家居的語音應用。是以說我們的語音目前主要是在安徒生平台上的應用。

這其實也反映了另外一個問題。表面上看車載語音和家居語音都是語音應用,但實際上因為場景不同,可以接受的功耗和成本不一樣,這導緻你所采用的技術方法的差距非常大。

是以在研究方面我們要把信号處理、語音識别和語義了解三個環節都做。但在其他的次元上,比如在具體應用場景中,我們要有所收斂。因為畢竟我們不可能像一個大公司一樣,投入非常多的資源在所有的次元上。

機器之心:地平線之前一直在做圖像識别方面的研究,也有語音識别方面的研究。如果兩者部署到同一個平台,比如說同一個機器人平台上,它們是互相促進?還是彼此獨立的存在?

黃暢:這恰恰是我們努力在做的。表面上看語音和圖像好像是是兩個不同的東西,但實際在互動的過程中我們追求的是一種多模态的互動。

舉個簡單的例子,我們通常說語音是比較自然的互動,但是在有些場景中你會發現手勢、人臉這些來自于圖像的信号也能夠很好的輔助你進行互動。尤其是在複雜的場景中,比如說開 party,你會發現在嘈雜的聲音中把語音分離出來是很難的。

針對這種複雜場景中的問題,雖然我們有增強的方法,但是你一開始甚至不知道應該往哪個方向進行增強。是以我們可以結合一些來自于圖像的 indicator,比如說手勢識别,比如說類似前段時間 DeepMind 做的唇語識别。它(指 DeepMind 的 LipNet)是個很有意思的應用,也是在做語音識别,但它不是靠語音信号而是靠圖像信号,而且準确率十分驚人。

這就說明一個很有趣的問題:如何讓機器所感覺的資訊,像人機互動一樣,也是一種多模的互動?從邏輯上來講,是把語音和圖像的互動結合起來。從執行上來講,你必須把兩個東西放在一套系統裡面,非常完美地同時運作這兩個東西。

再往深處去挖,圖像和語音發展到現在,在計算模式上已經有了非常大的相似性,這使得我們可以設計一套對這兩種問題通用的計算架構,這也是我們之是以非常看重專用的晶片架構設計的原因。因為我們相信用一套專門設計的新架構,能夠做好包括語音、圖像、決策在内的很多人工智能問題的運算。

機器之心:把語音技術部署到産品上面接下來有什麼計劃嗎?

黃暢:前期主要是在智能家居方面,比如說跟科沃斯的合作,将語音識别技術用于智能掃地機器人上。此外我們也在跟其它家電廠商研發基于語音識别的技術應用。

地平線認為 2017 年是語音識别廣泛應用的關鍵年。是以我們在這一年會非常重視整個語音的技術研發和産品推廣,包括市場拓展,這是今年公司最重要的方向之一。

地平線的語音技術

機器之心:兩位能從技術角度講解下地平線的語音研究嗎?模型與算法?

牛建偉:前面也講到了,地平線在很多方面都有一些工作:音頻信号處理、語音識别、語義了解、語音合成等。

具體到其中的「語音識别」,它包括兩大模型:在語言模型上我們現在用的是 n-gram 結合 RNN 的模型;識别模型在嵌入式端主要用 CNN 和 DNN 模型,伺服器上采用 CLDNN 模型結構。

我們在算法上做的提升包括:一個是前端音頻信号處理,我們正在做一套完整的前端子產品或者說是算法套件。有了前端的提升之後,我們的識别系統對強噪聲幹擾、人聲幹擾就會有更好的魯棒性。

另一個提升是針對語音識别場景的打磨。因為掃地機器人或者是空調,都有一些本體噪聲。我們需要模型能夠适應這種本體噪聲。此外,就是一些模組化方法、模型結構上的改變或者改進,比如 Deep CNN 模型、LSTM 模型以及進一步引入 CTC 準則。

機器之心獨家專訪:首度揭秘地平線語音戰略與研究

剛才提到的 LSTM 模型、CLDNN 模型,在一些資料集上我們都已經能夠驗證效果,并将逐漸将算法移植到我們自己的晶片上。

語音合成上,我們現在用的是基于 BLSTM 模型的一套參數合成系統,現在也在追蹤 WaveNet。

黃暢:現在很多學術界或者業界的新發展,基本上都是基于大規模的伺服器、GPU 去完成的。我們在跟蹤這些最新的方法同時,非常關注哪些更加适合部署在嵌入式平台,部署在低成本、低功耗的通用處理器以及我們設計的專用晶片架構上。

機器之心:這整套方法的準确率大約在多少呢?有沒有測試出一個結果?

牛建偉:根據我們的内部評測結果,在 1000 小時的資料上,CLDNN+CTC 模型相比于之前公司的 DCNN 模型性能大概提升了 15%~20%。

機器之心:在語音合成方面剛才你提到的追蹤 WaveNet,能補充說明一下嗎?

牛建偉:我們現在已有的是一個相對來說比較主流的技術架構。文本處理前端就是利用 NLP 相關算法、資源進行文本的規整,提取詞法和文法資訊。後端主要集中在參數合成,這一環節比較容易放到嵌入式的端上面進行,因為它的資源量比較小。這樣的話 TTS 系統隻需要占用幾十 MB 的空間,對計算的要求也可控。後端我們用的就是一個相對主流的 BLSTM 模型,這基本上也是各家都在用的。

至于 WaveNet,它相對來說提高了合成語音的自然度,還有舒适度,但是它存在一個問題就是計算量很大。語音是 16K 采樣,一秒鐘它就要預測 16000 次。當然可以再做加速,但現在加速的效果還沒有那麼好,現在基本上還是 100 倍的實時率,就是合成一秒鐘語音還需要 100 多秒的計算時間。這沒辦法直接用到産品上面,是以我們還是在追蹤 WaveNet 的階段。

機器之心:吳恩達今年在 NIPS 2016 上提到了端到端學習在語音識别上的應用,我們在這方面有沒有深入的研究呢?

牛建偉:吳恩達的「端到端」,在英文識别中是指從一個頻率的特征直接模組化到音素這一級,中文指 從一個頻率特征模組化到拼音聲母跟韻母這一級。從目前主流的實踐上看,這其實就是一個 LSTM 和它的變形,然後加上一個 CTC 目标函數。之是以認為是一個端到端,是因為它省略了以前語音識别三音素表述的概念。

再進一步發展的話就不限于一定是頻率的特征,可能就是從原始的波形一直到因素或聲韻母,這相當于是更寬的端到端。

黃暢:其實端到端不是一個新的概念,而且端到端也是相對而言的。你現在聽到的端到端是相對于過去的工作而言,過去工作是什麼呢?是把輸入到輸出的中間部分分成兩三個不同的階段,然後分别去做優化。現在是把這兩三個階段合在一起,直接做輸入到輸出的端到端優化。但如果把視線放到端到端之外,其實輸入前還有信号處理、特征抽取,輸出後還有解碼、語言模型、語義了解。是以你現在所看到的端到端如果放到我前面提過的序列中還隻是整個語音識别鍊條中的很小一部分。

端到端的思想其實來源于深度學習的一個核心思想,這隻是深度學習方法應用于問題中不斷的延展。理想情況就是提供一個或者多個麥克風,不做信号處理就直接讀取錄音内容,然後通過深度學習模型最終直接輸出意義。

機器之心:如果要促進語音識别更加地實用,還要做些什麼樣的工作呢?

黃暢:現在看來語音識别問題好像已經基本解決了,但這僅限于近距離安靜場景中和發音相對比較規範情況下。就好比人臉識别,很多人覺得好像是個已解決問題,但仍隻是在限定條件下。但當你實際應用的時候,會出現各種問題。典型的問題就是:第一個,遠場情況下,混響、噪聲幹擾怎麼解決?第二個,語義是否能夠正确了解?

我們以前讨論過,如果隻是做一個通用語音識别,可以把字打出來。本質上來講,它隻能夠替代輸入法,作用是十分有限的。如果要把它用在互動上,形成一個閉環的話,它必須能夠了解人的語義。是以隻在中間這段語音識别做好還不夠,真正應用中要形成一個閉環,前面的語音信号處理、後面語義了解都要做得好。

是以我們不應該單純的、狹義的說語音識别問題已經解決了。廣義的語音識别應該是從聲音信号開始,到最終的語義。

機器之心:那我們在語義了解方面做了哪些工作?

牛建偉:我們現在主要還是針對于對話或者是互動系統來做,包括我們在用強化學習做對話的一些生成,還有對話狀态的管理。同時我們也做一些 NLP 方面的工作,用 Deep CNN 或者 LSTM 做一些名詞的标注,或者是實體的識别,另外還有些語言模型方面的工作。

黃暢:泛泛的那種對話、聊天式的機器人意義不大,我們關注的對話是針對某個特定的場景、應用或者類型的知識,使它成為有獨特性的,有「知識背景」的對話。

機器之心:地平線在語音研究上的資料能做一下介紹嗎?

黃暢:關于資料,其實有些新的趨勢不僅是在語音上,而在各種各樣的技術性問題中,比如如何做遷移學習(transfer learning)?在一個有大規模資料的場景中訓練出模型,在另外一個相似、相仿的場景中,怎麼把這個大規模資料場景中訓練出的模型遷移到小規模資料場景中。

另一方面是生成型模型,尤其是對抗式生成式模型,它提出了一種非常新的概念,就是重新設定學習的範式(paradigm)和架構,重新看待學習這件事情。它一個很重要的産出就是,利用生成式模型幫助你産生更多的、特定屬性的資料。

再往前推,其實 RL(強化學習)是非常有價值,尤其是在互動的過程中。對語義了解互動這件事情,RL 天生就是為這種互動的模式設計的。

機器之心:在語音識别算法方面,還可以朝着哪些方面改進?

牛建偉:主要有三方面的改進。

第一,降低資料量的需求。即我們通過一些方式生成資料,或者學習一些資料共有的特征或屬性,以此降低資料量需求。比如說為了達到一個比較高的識别率,現在可能需要 2 萬小時的資料量,以後隻需要 2000 小時。舉個例子,DNN 取代以前的 GMM 模型的時候,DNN1000 小時的性能其實已經超過了在 3000 小時訓練資料上訓練的 GMM 的性能。

第二,更好的語音信号的特征表示。因為現在語音識别最大的一個問題是有比較大的幹擾之後,識别效果就不太好。其實人在 0dB 或者更低信噪比的情況下(噪音跟聲音的能量是一緻的時候),還能夠識别,但機器就沒辦法處理的很好。說明我們現有的特征表示的魯棒性還不夠好,距離人還有很大差距。

針對于此,我們可以對人耳聽覺進行更精确的數字描述。或設計現在已有的神經網絡結構,更好地提取出語音信号裡面對識别來說作用更大的特征。

第三,解碼。我們現在一直在提端到端,但其實一直沒有把解碼包含進來。語音識别最終做的還是把固定特征表示成一個更高維的資訊,還是時間序列上的表示,需要解碼的過程。

解碼是除了模型外計算量比較大的一塊。但其實解碼也能通過模型表示出來。也就是通過模型的方式把高維的時序資訊結合起來,最終直接就預測出一句話,那這樣就相當于在時序上的端到端的識别。

如果能做到這樣,後面優化識别模型的過程就變得更容易了。因為雖然解碼還是工程化的東西,但它會比較明顯的影響到識别結果。如果我能把它放到機器學習的架構裡面去優化,這樣相當于整體的優化。有可能性能會更好,解碼的效率也會更高。

機器之心:不久之前 Facebook 提出了新的語言模型方法 Gated Convolutional Network,相比于 LSTM 取得了一定進展。對此研究有何看法?這個研究是否有很大的意義?

牛建偉:Gated CNN 跟 9 月份的 WaveNet 其實有點類似,因為它相當于是把顯示的那種循環結構改了一下。

LSTM 的提出從想法上還是比較簡單:因為這是一個時序的問題,需要曆史指導來做下一步的預測。但現在我們來看,它存在一些問題:優化算法沒有那麼穩定。

LSTM 之前是 Simple RNN,為什麼 LSTM 比 RNN 好?

從理論上來說,兩者的表達的能力應該是一樣的。通過調整結構(引入門),來适應現有的一些學習算法,讓它的性能變得比較好。但同時也說明現有的優化算法是有些問題的,包括它的收斂性、穩定性上。

現在的一個趨勢是利用 CNN 結構的組合來替代 RNN 模型,優化的時候就可以用一個 SGD(随機梯度下降)或者類似 SGD 的優化算法,它的穩定性相對來說會高一些,不會存在很明顯的梯度爆炸問題。

機器之心獨家專訪:首度揭秘地平線語音戰略與研究

另外,還因為卷積網絡用 CNN 這種結構直覺上比較合理一些。比如說三個單詞,我先把它們變成一個連續域表示,就像它們論文中的一張圖就是把 word graphic 轉到連續域場(如上圖)。然後把連續域的特征通過卷積,就看前三個,提出一個特征然後一層層加上去,之後再做一個預測。預測的詞出來之後,再放到輸入上面,就這樣一層一層過。其實它也是類似循環的結構,但這種結構依賴的曆史相對就比較明确了。

LSTM 其實是一個隐含的。你可以說它學到了曆史,因為它有一個儲存資訊的 cell,但到底它學了多長的曆史是未知的。

至于這個研究,模型的話我覺得可能意義沒那麼大。我個人認為,如果能在優化算法上有更好的改進,普通的模型結構可能也能取得這樣的效果。但現在優化算法上突破性的改進,好像還不多。

黃暢:我補充一點。關于 LSTM,不管你是單向的、雙向的、摞一起的、不摞一起的,其實都有一個問題:資訊傳導的限制很強。換句話說,不管是做前向預測還是後向 BP(反向傳播),一個資訊從左邊到右邊,或者從開始到結束,都要經過很長的路徑。而且在整個過程中,會有很多非線性的變化,尤其是 LSTM 這種典型的、很容易進入自我限制狀态的模型。經過很多次這樣的事情,就導緻整個優化變得異常困難。這個結構天生就使得優化變得非常困難。

這是 LSTM 的弊病,它的結構設計有很大限制性。你可以類比一些其他結構,比如 ResNet,它通過建立 free-way 的方式,人為地架了很多 short-pass(短路徑),使得本來在網絡上距離很遠的兩個單元之間建立一些高速的快速通道。直覺的了解就是可以讓它們之間的資訊溝通更加順暢,減輕我前面說的那個問題。

更進一步,你會發現在語音識别中有人用完整的 CNN 替代 LSTM,包括訊飛、微軟、百度。剛開始的時候 CNN 用得很淺,隻是作為基本的局部表達,後來發現可以用 CNN 不斷堆積,而且堆的很有技巧。在計算量不顯著增加的情況下,這樣就可以用 CNN 覆寫很大的語境。

就是說優化算法本身也許沒有很好的進步,但是通過網絡結構的設計可以規避目前主要基于 SGD 的優化算法難以解決的 LSTM 問題,直接構造一個更适合目前優化算法去優化的網絡結構。是以本質上很難說哪個結構更好,你隻能說這個結構更适合現在主流的這種優化方法。

其實論文出來時我稍微看了一點,它本質上好像和 attention model 很像。attention model 的概念是不管語境是怎麼傳過來的,總是有選擇的看所有東西,做決策(比如生成一個詞)的時候有選擇的去做。這時候會産生一個 attention mask,這可以了解成一個 gate,封住一些不想看的東西,保留想看的。

這個在圖像和 NLP 裡面已經得到很好的驗證。NLP、語音、圖像其實都是相通的,你會發現很多思想、結構、設計理念會越來越相似。這也給了我們信心,讓我們可以實作語音圖像識别一體化互動,用一套統一的專用架構去做解決各種各樣的問題。

©本文為機器之心編譯,轉載請聯系本公衆号獲得授權。

繼續閱讀