您的位置:首頁>科技>正文

微軟目前在語音辨識領域應用深度學習的歷史性突破

在幾十年的歷程中, 有非常多優秀的公司在語音和語言領域進行了不懈地探索, 終於在今天, 達到了和人一樣精准的語音辨識,

這是非常了不起的歷史性突破。 語言是人類特有的交流工具。 今天, 電腦可以在假定有足夠計算資源的情況下, 非常準確地識別你和我講的每一個字, 這是一個非常大的歷史性突破, 也是人工智慧在感知上的一個重大里程碑。

Switchboard是整個工業界常用的一個測試資料集。 很多新的領域或新的方法錯誤率基本都在20%左右徘徊。 大規模標杆性的進展是IBM Watson, 他們的錯誤率在5%到6%之間, 而人的水準基本上也在5%到6%之間。 過去20年, 在這個標杆的資料集上, 有很多公司都在不懈努力, 如今的成果其實並不是一家公司所做的工作, 而是整個業界一起努力的結果。

各種各樣的神經網路學習方法其實都大同小異, 基本上是通過梯度下降法(Gradient Descent)找到最佳的參數,

通過深度學習表達出最優的模型, 以及大量的GPU、足夠的計算資源來調整參數。 所以神經網路對電腦語音辨識的貢獻不可低估。 早在90年代初期就有很多語音辨識的研究是利用神經網路在做, 但效果並不好。 因為, 第一, 資料資源不夠多;第二, 訓練層數少。 而由於沒有計算資源、資料有限, 所以神經網路一直被隱瑪律可夫模型(Hidden Markov Model)壓制著, 無法翻身。

深度學習翻身的最主要原因就是層數的增加, 並且和隱瑪律可夫模型結合。 在這方面微軟研究院也走在業界的前端。 深度學習還有一個特別好的方法, 就是特別適合把不同的特徵整合起來, 就是特徵融合(Feature Fusion)。

如果在噪音很高的情況下可以把特徵參數增強, 再加上與環境噪音有關的東西, 通過深度學習就可以學出很好的結果。 如果是遠長的語音辨識, 有很多不同的回音, 那也沒關係, 把回音作為特徵可以增強特徵。 如果要訓練一個模型來識別所有人的語音, 那也沒有關係, 可以加上與說話人有關的特徵。

所以神經網路厲害的地方在於, 不需要懂具體是怎麼回事, 只要有足夠的計算資源、資料, 都能學出來。

我們的神經網路系統目前有好幾種不同的類型, 最常見的是借用電腦視覺CNN(Convolution Neural Net, 卷積神經網路)可以把不同變化位置的東西變得更加魯棒。 你可以把電腦視覺整套方法用到語音上, 把語音看成圖像, 頻譜從時間和頻率走, 通過CNN你可以做得非常優秀。 另外一個是RNN(Recurrent Neural Networks, 遞迴神經網路), 它可以為時間變化特徵建模, 也就是說你可以將隱藏層回饋回來做為輸入送回去。 這兩種神經網路的模型結合起來, 造就了微軟歷史性的突破。

微軟語音辨識的總結基本上可以用下圖來表示。

下圖是業界在過去幾十年裡面錯誤率下降的指標, 可以看到5.8%是微軟在去年達到的水準。 Switchboard的錯誤率從80%左右一直到5.8%左右, 是用了什麼方法呢?我們是怎麼達到這個目標呢?

大家知道語音辨識有兩個主要的部分,一個是語音模型,一個是語言模型。

語音模型我們基本上用了6個不同的神經網路,並行的同時識別。很有效的一個方法是微軟亞洲研究院在電腦視覺方面發明的ResNet(殘差網路),它是CNN的一個變種。當然,我們也用了RNN。可以看出,這6個不同的神經網路在並行工作,隨後我們再把它們有機地結合起來。在此基礎之上再用4個神經網路做語言模型,然後重新整合。所以基本上是10個神經網路在同時工作,這就造就了我們歷史性的突破。

大家知道語音辨識有兩個主要的部分,一個是語音模型,一個是語言模型。

語音模型我們基本上用了6個不同的神經網路,並行的同時識別。很有效的一個方法是微軟亞洲研究院在電腦視覺方面發明的ResNet(殘差網路),它是CNN的一個變種。當然,我們也用了RNN。可以看出,這6個不同的神經網路在並行工作,隨後我們再把它們有機地結合起來。在此基礎之上再用4個神經網路做語言模型,然後重新整合。所以基本上是10個神經網路在同時工作,這就造就了我們歷史性的突破。

Next Article
喜欢就按个赞吧!!!
点击关闭提示