原文網址:http://www.sohu.com/a/205204615_697750前端
11月16號,百度發佈了渡鴉智能音箱和DuerOS開發板SoundPi,至此,國內再一名巨頭加入智能音箱大戰。迄今爲止,國內戰場上的巨頭有阿里、京東、騰訊、百度、小米、科大訊飛等,國外則有蘋果、微軟、亞馬遜、谷歌、臉書、三星等,這些巨頭佔據了全球市值的排名榜,同時發力爭奪將來人工智能時代的語音入口,甚至亞馬遜和阿里率先不惜代價開啓了補貼大戰。這些全球巨頭的激烈競爭,將對將來十年產生極其重要的影響,同時,這更是新一波的職業快速發展機會。git
語音智能當前的核心關鍵是聲學問題和語義理解,隨着市場需求的爆發,可以補齊其中一項技術短板的全棧語音識別工程師將會變成職場香餑餑,並且這類人才的培養成本很是高昂,至少會在將來十年內成爲各大巨頭和創業公司爭搶的核心人才。算法
那麼,如何成爲一名全棧語音識別工程師呢?原中國科學院聲學研究所副研究員,聲智科技創始人陳孝良接受了咱們的邀約,專門就這個話題撰文。這是一篇將知識縱橫鏈接,並能結合實踐深刻淺出的文章,對於全面瞭解語音識別頗有幫助。其後,AI科技大本營就幾個問題略做追訪,但願對你有所幫助。編程
語音識別基礎知識後端
【數學與統計學】安全
數學是全部學科的基礎,其中的高等數學、數理方程、泛函分析等課程是必要的基礎知識,機率論與數理統計也是語音識別的基礎學科。服務器
【聲學與語言學】網絡
聲學基礎、理論聲學、聲學測量等是聲學方面的基礎課程,有助於瞭解更多聲學領域的知識。語言學概論、語言哲學、語義最小論與語用多元論、語法化與語義圖等知識對於理解語言模型和語音交互UI設計很是有幫助。數據結構
【計算機學】架構
信號系統、數字信號處理、語音信號處理、離散數學、數據結構、算法導論、並行計算、C語言概論、Python語言、語音識別、深度學習等課程也是必備的基礎知識。
語音識別專業知識
語音識別的知識體系能夠劃分爲三個大的部分:專業基礎、支撐技能和應用技能。語音識別的專業基礎又包括了算法基礎、數據知識和開源平臺,其中算法基礎是語音識別系統的核心知識,包括了聲學機理、信號處理、聲學模型、語言模型和解碼搜索等。
【專業基礎】
算法基礎
聲學機理:包括髮音機理、聽覺機理和語言機理,發音機理主要探討人類發聲器官和這些器官在發聲過程當中的做用,而聽覺機理主要探討人類聽覺器官、聽覺神經及其辨別處理聲音的方式,語言機理主要探究人類語言的分佈和組織方式。這些知識對於理論突破和模型生成具備重要意義。
信號處理:包括語音加強、噪聲抑制、回聲抵消、混響抑制、波束造成、聲源定位、聲源分離、聲源追蹤等。具體以下:
語音加強:這裏是狹義定義,指自動增益或者陣列增益,主要是解決拾音距離的問題,自動增益通常會增長全部信號能量,而語音加強只增長有效語音信號的能量。
噪聲抑制:語音識別不須要徹底去除噪聲,相對來講通話系統中則必須徹底去除噪聲。這裏說的噪聲通常指環境噪聲,好比空調噪聲,這類噪聲一般不具備空間指向性,能量也不是特別大,不會掩蓋正常的語音,只是影響了語音的清晰度和可懂度。這種方法不適合強噪聲環境下的處理,可是足以應付平常場景的語音交互。
混響消除:混響消除的效果很大程度影響了語音識別的效果。通常來講,當聲源中止發聲後,聲波在房間內要通過屢次反射和吸取,彷佛若干個聲波混合持續一段時間,這種現象叫作混響。混響會嚴重影響語音信號處理,而且下降測向精度。
回聲抵消:嚴格來講,這裏不該該叫回聲,應該叫「自噪聲」。回聲是混響的延伸概念,這二者的區別就是回聲的時延更長。通常來講,超過100毫秒時延的混響,人類可以明顯區分出,彷佛一個聲音同時出現了兩次,就叫作回聲。實際上,這裏所指的是語音交互設備本身發出的聲音,好比Echo音箱,當播放歌曲的時候若叫Alexa,這時候麥克風陣列實際上採集了正在播放的音樂和用戶所叫的Alexa聲音,顯然語音識別沒法識別這兩類聲音。回聲抵消就是要去掉其中的音樂信息而只保留用戶的人聲,之因此叫回聲抵消,只是延續你們的習慣,實際上是不恰當的。
聲源測向:這裏沒有用聲源定位,測向和定位是不太同樣的,而消費級麥克風陣列作到測向就能夠,定位則須要更多的成本投入。聲源測向的主要做用就是偵測到與之對話人類的聲音以便後續的波束造成。聲源測向能夠基於能量方法,也能夠基於譜估計,陣列也經常使用TDOA技術。聲源測向通常在語音喚醒階段實現,VAD技術其實就能夠包含到這個範疇,也是將來功耗下降的關鍵因素。
波束造成:波束造成是通用的信號處理方法,這裏是指將必定幾何結構排列的麥克風陣列的各麥克風輸出信號通過處理(例如加權、時延、求和等)造成空間指向性的方法。波束造成主要是抑制主瓣之外的聲音干擾,這裏也包括人聲,好比幾我的圍繞Echo談話的時候,Echo只會識別其中一我的的聲音。
端點檢測:端點檢測,英語是Voice ActivityDetection,簡稱VAD,主要做用是區分一段聲音是有效的語音信號仍是非語音信號。VAD是語音識別中檢測句子之間停頓的主要方法,同時也是低功耗所須要考慮的重要因素。VAD一般都用信號處理的方法來作,之因此這裏單獨劃分,由於如今VAD的做用其實更加劇要,並且一般VAD也會基於機器學習的方法來作。
特徵提取:聲學模型一般不能直接處理聲音的原始數據,這就須要把時域的聲音原始信號經過某類方法提取出固定的特徵序列,而後將這些序列輸入到聲學模型。事實上深度學習訓練的模型不會脫離物理的規律,只是把幅度、相位、頻率以及各個維度的相關性進行了更多的特徵提取。
聲學模型:聲學模型是語音識別中最爲關鍵的部分,是將聲學和計算機學的知識進行整合,以特徵提取部分生成的特徵做爲輸入,併爲可變長的特徵序列生成聲學模型分數。聲學模型核心要解決特徵向量的可變長問題和聲音信號的多變性問題。事實上,每次所提到的語音識別進展,基本上都是指聲學模型的進展。聲學模型迭代這麼多年,已經有不少模型,咱們把每一個階段應用最爲普遍的模型介紹一下,其實如今不少模型都是在混用,這樣能夠利用各個模型的優點,對於場景的適配更加魯棒。
GMM,Gaussian Mixture Model,即高斯混合模型,是基於傅立葉頻譜語音特徵的統計模型,能夠經過不斷迭代優化求取GMM中的加權係數及各個高斯函數的均值與方差。GMM模型訓練速度較快,聲學模型參數量小,適合離線終端應用。深度學習應用到語音識別以前,GMM-HMM混合模型一直都是優秀的語音識別模型。可是GMM不能有效對非線性或近似非線性的數據進行建模,很難利用語境的信息,擴展模型比較困難。
HMM,Hidden Markov Model,即隱馬爾可夫模型,用來描述一個含有隱含未知參數的馬爾可夫過程,從可觀察的參數中肯定該過程的隱含參數,而後利用這些參數來進一步分析。HMM是一種能夠估計語音聲學序列數據的統計學分佈模型,尤爲是時間特徵,可是這些時間特徵依賴於HMM的時間獨立性假設,這樣對語速、口音等因素與聲學特徵就很難關聯起來。HMM還有不少擴展的模型,可是大部分還只適應於小詞彙量的語音識別,大規模語音識別仍然很是困難。
DNN,Deep Neural Network,即深度神經網絡,是較早用於聲學模型的神經網絡,DNN能夠提升基於高斯混合模型的數據表示的效率,特別是DNN-HMM混合模型大幅度地提高了語音識別率。因爲DNN-HMM只須要有限的訓練成本即可獲得較高的語音識別率,目前仍然是語音識別工業領域經常使用的聲學模型。
RNN,Recurrent Neural Networks,即循環神經網絡,CNN,Convolutional NeuralNetworks,即卷積神經網絡,這兩種神經網絡在語音識別領域的應用,主要是解決如何利用可變長度語境信息的問題,CNN/RNN比DNN在語速魯棒性方面表現的更好一些。其中,RNN模型主要包括LSTM(多隱層長短時記憶網絡)、highway LSTM、Residual LSTM、雙向LSTM等。CNN模型包括了時延神經網絡(TDNN)、CNN-DNN、CNN-LSTM-DNN(CLDNN)、CNN-DNN-LSTM、Deep CNN等。其中有些模型性能相近,可是應用方式不一樣,好比雙向LSTM和Deep CNN性能接近,可是雙向LSTM須要等一句話結束才能識別,而Deep CNN則沒有時延更適合實時語音識別。
語言模型:經過訓練語料學習詞之間的關係來估計詞序列的可能性,最多見的語言模型是N-Gram模型。近年,深度神經網絡的建模方式也被應用到語言模型中,好比基於CNN及RNN的語言模型。
解碼搜索:解碼是決定語音識別速度的關鍵因素,解碼過程一般是將聲學模型、詞典以及語言模型編譯成一個網絡,基於最大後驗機率的方法,選擇一條或多條最優路徑做爲語音識別結果。解碼過程通常能夠劃分動態編譯和靜態編譯,或者同步與異步的兩種模式。目前比較流行的解碼方法是基於樹拷貝的幀同步解碼方法。
語音識別數據知識
數據採集:主要是將用戶與機器對話的聲音信息收集起來,通常分爲近場和遠場兩個部分,近場採集通常基於手機就可完成,遠場採集通常須要麥克風陣列。數據採集同時還有關注採集環境,針對不一樣數據用途,語音採集的要求也很不同,好比人羣的年齡分佈、性別分佈和地域分佈等。
數據清洗:主要是將採集的數據進行預處理,剔除不合要求的語音甚至是失效的語音,爲後面的數據標註提供精確的數據。
數據標註:主要是將聲音的信息翻譯成對應的文字,訓練一個聲學模型,一般要標註數萬個小時,而語音是時序信號,因此須要的人力工時相對不少,同時因爲人員疲憊等因素致使標註的錯誤率也比較高。如何提升數據標註的成功率也是語音識別的關鍵問題。
數據管理:主要是對標註數據的分類管理和整理,這樣更利於數據的有效管理和重複利用。
數據安全:主要是對聲音數據進行安全方便的處理,好比加密等,以免敏感信息泄露。
語音識別開源平臺
目前主流的開源平臺包括CMU Sphinx、HTK、Kaldi、Julius、iATROS、CNTK、TensorFlow等,CMU Sphinx是離線的語音識別工具,支持DSP等低功耗的離線應用場景。因爲深度學習對於語音識別WER的降低具備明顯的做用,因此Kaldi、CNTK、TensorFlow等支持深度學習的工具目前比較流行,Kaldi的優點就是集成了不少語音識別的工具,包括解碼搜索等。具體的開源平臺彙總如表1所示。
【支撐技能】
聲學器件
傳聲器,一般稱爲麥克風,是一種將聲音轉換成電子信號的換能器,即把聲信號轉成電信號,其核心參數是靈敏度、指向性、頻率響應、阻抗、動態範圍、信噪比、最大聲壓級(或AOP,聲學過載點)、一致性等。傳聲器是語音識別的核心器件,決定了語音數據的基本質量。
揚聲器,一般稱爲喇叭,是一種把電信號轉變爲聲信號的換能器件,揚聲器的性能優劣對音質的影響很大,其核心指標是TS參數。語音識別中因爲涉及到回聲抵消,對揚聲器的總諧波失真要求稍高。
激光拾聲,這是主動拾聲的一種方式,能夠經過激光的反射等方法拾取遠處的振動信息,從而還原成爲聲音,這種方法之前主要應用在竊聽領域,可是目前來看這種方法應用到語音識別還比較困難。
微波拾聲,微波是指波長介於紅外線和無線電波之間的電磁波,頻率範圍大約在 300MHz至300GHz之間,同激光拾聲的原理相似,只是微波對於玻璃、塑料和瓷器幾乎是穿越而不被吸取。
高速攝像頭拾聲,這是利用高速攝像機來拾取振動從而還原聲音,這種方式須要可視範圍和高速攝像機,只在一些特定場景裏面應用。
計算芯片
DSP,Digital Signal Processor,數字信號處理器,通常採用哈佛架構,具備低功耗運算快等優勢,主要應用在低功耗語音識別領域。
ARM,Acorn RISC Machine,是英國公司設計的一種RISC處理器架構,具備低功耗高性能的特色,在移動互聯網領域普遍應用,目前IOT領域,好比智能音箱也是以ARM處理器爲主。
FPGA,Field-Programmable Gate Array,現場可編程門陣列,是ASIC領域中的一種半定製電路,既解決了固定定製電路的不足,又克服了可編程器件門電路有限的缺點。FPGA在並行計算領域也很是重要,大規模的深度學習也能夠基於FPGA計算實現。
GPU,Graphics Processing Unit,圖形處理器,是當前深度學習領域最火的計算架構,事實上深度學習領域用到的是GPGPU,主要是進行大規模計算的加速,GPU一般的問題就是功耗過大,因此通常應用到雲端的服務器集羣。
另外,還有NPU、TPU等新興的處理器架構,主要爲深度學習算法進行專門的優化,因爲尚未大規模使用,這裏先不詳敘。
聲學結構
陣列設計,主要是指麥克風陣列的結構設計,麥克風陣列通常來講有線形、環形和球形之分,嚴謹的應該說成一字、十字、平面、螺旋、球形及無規則陣列等。至於麥克風陣列的陣元數量,也就是麥克風數量,能夠從2個到上千不等,所以陣列設計就要解決場景中的麥克風陣列陣型和陣元數量的問題,既保證效果,又控制成本。
聲學設計,主要是指揚聲器的腔體設計,語音交互系統不只須要收聲,還須要發聲,發聲的質量也特別重要,好比播放音樂或者視頻的時候,音質也是很是重要的參考指標,同時,音質的設計也將影響語音識別的效果,所以聲學設計在智能語音交互系統也是關鍵因素。
【應用技能】
語音識別的應用將是語音交互時代最值得期待的創新,能夠類比移動互聯時代,最終黏住用戶的仍是語音應用程序,而當前的人工智能主要是基礎建設,AI的應用普及仍是須要一段時間。雖然Amazon的Alexa已經有上萬個應用,可是從用戶反饋來看,目前主要仍是如下幾個核心技術點的應用。
語音控制,事實上是當前最主要的應用,包括了鬧鐘、音樂、地圖、購物、智能家電控制等等功能,語音控制的難度相對也比較大,由於語音控制要求語音識別更加精準、速度更快。
語音轉錄,這在好比會議系統、智能法院、智能醫療等領域具備特殊應用,主要是實時將用戶說話的聲音轉錄成文字,以便造成會議紀要、審判記錄和電子病歷等。
語言翻譯,主要是在不一樣語言之間進行切換,這在語音轉錄的基礎上增長了實時翻譯,對於語音識別的要求更高。
下面這三種識別,能夠歸爲語音識別的範疇,也能夠單獨列成一類,這裏咱們仍是廣義概括到語音識別的大致系,做爲語音識別的功能點更容易理解。
聲紋識別,聲紋識別的理論基礎是每個聲音都具備獨特的特徵,經過該特徵能將不一樣人的聲音進行有效的區分。聲紋的特徵主要由兩個因素決定,第一個是聲腔的尺寸,具體包括咽喉、鼻腔和口腔等,這些器官的形狀、尺寸和位置決定了聲帶張力的大小和聲音頻率的範圍。第二個決定聲紋特徵的因素是發聲器官被操縱的方式,發聲器官包括脣、齒、舌、軟齶及齶肌肉等,他們之間相互做用就會產生清晰的語音。而他們之間的協做方式是人經過後天與周圍人的交流中隨機學習到的。聲紋識別經常使用的方法包括模板匹配法、最近鄰方法、神經元網絡方法、VQ聚類法等。
情感識別,主要是從採集到的語音信號中提取表達情感的聲學特徵,並找出這些聲學特徵與人類情感的映射關係。情感識別當前也主要採用深度學習的方法,這就須要創建對情感空間的描述以及造成足夠多的情感語料庫。情感識別是人機交互中體現智能的應用,可是到目前爲止,技術水平尚未達到產品應用的程度。
哼唱識別,主要是經過用戶哼唱歌曲的曲調,而後經過其中的旋律同音樂庫中的數據進行詳細分析和比對,最後將符合這個旋律的歌曲信息提供給用戶。目前這項技術在音樂搜索中已經使用,識別率能夠達到80%左右。
語音識別現狀和趨勢
目前來看,語音識別的精度和速度比較取決於實際應用環境,在安靜環境、標準口音、常見詞彙上的語音識別率已經超過95%,徹底達到了可用狀態,這也是當前語音識別比較火熱的緣由。隨着技術的發展,如今口音、方言、噪聲等場景下的語音識別也達到了可用狀態,可是對於強噪聲、超遠場、強幹擾、多語種、大詞彙等場景下的語音識別還須要很大的提高。固然,多人語音識別和離線語音識別也是當前須要重點解決的問題。
學術界探討了不少語音識別的技術趨勢,有兩個思路是很是值得關注的,一個是就是端到端的語音識別系統,另一個就是G.E. Hinton最近提出的膠囊理論,Hinton的膠囊理論學術上爭議還比較大,可否在語音識別領域體現出來優點還值得探討。
端到端的語音識別系統當前也沒有大規模應用,從理論上來看,因爲語音識別本質上是一個序列識別問題,若是語音識別中的全部模型都可以聯合優化,應該會獲取更好的語音識別準確度,這也是端到端語音識別系統的優點。可是從語音採集、信號處理、特徵提取、聲學模型、語音模型、解碼搜索整個鏈條都作到端到端的建模處理,難度很是大,所以如今常說的端到端的模型基本仍是侷限於聲學模型範疇,好比將DNN-HMM或者CNN/RNN-HMM模型進行端到端的優化,好比CTC準則和Attention-based模型等方法。事實上,端到端的訓練,能夠把真實場景的噪聲、混響等也做爲新特徵來進行學習,這樣能夠減小對於信號處理的依賴,只是這種方法還存在訓練性能、收斂速度、網絡帶寬等諸多問題,相對於主流的語音識別方法尚未取得明顯的優點。
本文以科普爲主,很是感謝國內語音識別領域各位夥伴的支持,文中如有不足之處,期待你們的指正!
【參考文獻】
1.Deep Learning:Methods andApplications,Li Deng and Dong Yu
2.Automaitic Speechand Speaker Recognition: Large Margin and Kernel Methods, Joseph Keshet andSamy Bengio
3.Xuedong Huang, Alex Acero, Hsiao-wuenHon, Spoken Language Processing
4.Lawrence Rabiner,Biing-Hwang Juang, Fundamentals of Speech Recognition
5.Dan jurafsky andJames H. Martin, Speech and Language Processing
6.Dynamic RoutingBetween Capsules,Sara Sabour,Nicholas Frosst,Geoffrey E. Hinton
7.https://en.wikipedia.org/wiki/Speech_perception
8.http://www.speech.cs.cmu.edu
9.http://htk.eng.cam.ac.uk/
10.http://kaldi-語音識別.org/
11.https://www.microsoft.com/en-us/cognitive-toolkit/
12.http://www.soundpi.org/
做者:陳孝良
做者簡介:博士,聲智科技創始人,專一聲學前沿技術和人工智能交互,曾任中國科學院聲學研究所副研究員。
就在陳博士分享「如何成爲一名全棧語音識別工程師」這篇技術乾貨的同時,AI科技大本營也對其進行了追問和專訪。
聲智科技在自成立以來,在一年半的時間內進行了三次融資,突破了在複雜環境下的喚醒和識別兩個難度頗高的環節。說起語音智能行業,他屢次提到了目前很是緊缺的兩類人才,一個是AI產品經理,一個是AI架構師。如下,做爲補充學習提供給您。
追訪問答:
AI科技大本營:用一句話總結您如今的創業,是什麼?
陳孝良:咱們一直專一聲學前沿技術和人工智能交互,致力於實現「聽你所言、知你所想」的人機交互願景。
AI科技大本營:沒想過本身作一個完整的產品?
陳孝良:咱們當前主要提供軟硬一體的遠場語音交互解決方案,暫時不會考慮C端消費電子產品。咱們雖然已經將遠場語音交互技術大規模量產應用,可是還有不少技術難點須要突破,例如超遠場、局部場和分佈場的語音交互問題,解決這些問題僅靠算法和模型不行,須要從器件、芯片、算法、數據、應用等全鏈條考慮,難度很是大。
AI科技大本營:爲何選擇創業呢?
陳孝良:這有不少理由了,可是有一點很是重要,咱們仍是但願能將本身所領悟到的知識,可以真正落地到實際產品之中,從而改變咱們的生活,哪怕只有一點點,進而能夠繼續帶動已經很長時間沒有理論突破的聲學等技術發展。
AI科技大本營:最近融資的近億元,具體怎麼花呢?
陳孝良:咱們融資主要目的仍是拓展業務規模,同時在新技術研發方面重點投入。
AI科技大本營:語音智能行業,您以爲如今最緊缺的是什麼人才?
陳孝良:我以爲有兩類人才很是緊缺:
一類就是AI架構師,能夠打通整個語音交互體系的人才。這類人才通常須要全棧的語音智能知識,不只僅只是聲學或者深度學習技術,並且還須要瞭解諸如材料、器件、芯片等硬件知識,同時對於市場和產品還具備敏銳的洞察力。AI架構師應該站得更高、看得更遠,不侷限於某一個技術鏈條,而是關心總體體驗好很差。
另一類是AI產品經理。這類人才須要懂得前端作什麼,後端作什麼,可以提供哪些技術,每一個技術作到什麼程度,這都必須瞭解。另一方面,這類人才還要懂用戶需求,懂得這個需求能給用戶帶來什麼幫助,解決什麼問題。此外,這個產品大概定在什麼價位,應該用什麼IT設計,這都是AI產品經理須要挑戰的關鍵問題。
AI科技大本營:這樣的人才該怎麼培養呢?
陳孝良:就目前來講,這兩類人才必須靠AI公司燒錢才能培養出來。AI架構師和AI產品經理如今來看還沒法僅憑學習達到公司要求,必需要結合理論和實踐辛苦耕耘,甚至不得不跳些坑才能成長爲合格的人才。
AI科技大本營:若是市場上有好的AI架構師或AI產品經理,你願意給多高的薪酬?
陳孝良:真正優秀的這兩類人才,目前全球給出的Package超過百萬也很正常。這兩類人才的需求量將來會很是大,建議技術人員能夠多往這兩個方向轉型,固然有些技術人員轉型過程當中可能會損失一些當前收益。