功能
微軟介紹,這種新型語音識別軟體採用了名為“深度神經網路”的技術,使得該軟體處理人類語音的過程與人腦相似。對此微軟必應(Bing)搜尋業務部門主管斯特凡·維茨(Stefan Weitz)在本周一表示:“我們試圖複製人腦聆聽和處理人類語音的方式。”
微軟還表示,與原有WP手機語音識別技術相比,新型技術的語音識別準確性提高了15%,且創建相應文本及搜尋關鍵字的速度也更快。如此一來,必應返回相應搜尋結果所用時間比以前快了兩倍。
微軟語音處理技術部門高級項目經理麥可·特加爾夫(Michael Tjalve)也表示:“通過我們最新的語音識別器,你不但得到的結果更好,而且速度更快。”
微軟已面向美國市場的Windows Phone手機用戶發布了這項技術。用戶通過這項新技術,將更容易使用語音命令來創建簡訊、進行網路搜尋等活動。
工作
多層的好處是可以用較少的參數表示複雜的函式。
在監督學習中,以前的多層神經網路的問題是容易陷入局部極值點。如果訓練樣本足夠充分覆蓋未來的樣本,那么學到的多層權重可以很好的用來預測新的測試樣本。但是很多任務難以得到足夠多的標記樣本,在這種情況下,簡單的模型,比如線性回歸或者決策樹往往能得到比多層神經網路更好的結果(更好的泛化性,更差的訓練誤差)。
非監督學習中,以往沒有有效的方法構造多層網路。多層神經網路的頂層是底層特徵的高級表示,比如底層是像素點,上一層的結點可能表示橫線,三角; 而頂層可能有一個結點表示人臉。一個成功的算法應該能讓生成的頂層特徵最大化的代表底層的樣例。如果對所有層同時訓練,時間複雜度會太高; 如果每次訓練一層,偏差就會逐層傳遞。這會面臨跟上面監督學習中相反的問題,會嚴重欠擬合。
2006年,hinton提出了在非監督數據上建立多層神經網路的一個有效方法,簡單的說,分為兩步,一是每次訓練一層網路,二是調優使原始表示x向上生成的高級表示r和該高級表示r向下生成的x'儘可能一致。方法是
1,首先逐層構建單層神經元,這樣每次都是訓練一個單層網路。
2,當所有層訓練完後,hinton使用wake-sleep算法進行調優。將除最頂層的其它層間的權重變為雙向的,這樣最頂層仍然是一個單層神經網路,而其它層則變為了圖模型。向上的權重用於”認知“,向下的權重用於”生成“。然後使用Wake-Sleep算法調整所有的權重。讓認知和生成達成一致,也就是保證生成的最頂層表示能夠儘可能正確的復原底層的結點。比如頂層的一個結點表示人臉,那么所有人臉的圖像應該激活這個結點,並且這個結果向下生成的圖像應該能夠表現為一個大概的人臉圖像。Wake-Sleep算法分為醒(wake)和睡(sleep)兩個部分。
2.1,wake階段,認知過程,通過外界的特徵和向上的權重(認知權重)產生每一層的抽象表示(結點狀態),並且使用梯度下降修改層間的下行權重(生成權重)。也就是“如果現實跟我想像的不一樣,改變我的權重使得我想像的東西就是這樣的“。
2.2,sleep階段,生成過程,通過頂層表示(醒時學得的概念)和向下權重,生成底層的狀態,同時修改層間向上的權重。也就是“如果夢中的景象不是我腦中的相應概念,改變我的認知權重使得這種景象在我看來就是這個概念“。
由於自動編碼器(auto-encoder,即上面說的神經網路。廣義上的自動編碼器指所有的從低級表示得到高級表示,並能從高級表示生成低級表示的近似的結構,狹義上指的是其中的一種,谷歌的人臉識別用的)有聯想功能,也就是缺失部分輸入也能得到正確的編碼,所以上面說的算法也可以用於有監督學習,訓練時y做為頂層網路輸入的補充,套用時頂層網路生成y'。