1. 程式人生 > >49.端到端學習的利與弊 翻譯自 吳恩達新書-Machine Learning Yearning

49.端到端學習的利與弊 翻譯自 吳恩達新書-Machine Learning Yearning

回想我們之前說的語音識別流程: 語音識別流程 流程中很多內容都是"手工工程":

  • MFCCs 是一系列手工設計的音訊特徵。這個特徵提取過程會丟棄一些無用的資訊,並整理出合理的音訊摘要資訊。
  • 音素是語音學家發明的。它是音訊的一種不完美表示方法,用音素來表示音訊會限制語音識別系統的效能。

然而,手動工程元件也有它的優勢:

  • MFCC特徵對那些不影響語音內容的因素,比如音高,具有很好的魯棒性,這可以有效的簡化機器學習演算法要解決的問題。
  • 音素也是音訊的一種合力表示。可以讓演算法瞭解基本的語音單元,然後幫助改進演算法。

使用更多的手工工程元件,可以減少學習演算法所需要的資料量。從手工工程MFCCs和因素獲得的知識,而可以補充演算法中資料中獲得的知識。當我們沒有很多資料時,這些知識就非常有用了。

現在,在考慮下端到端系統: 端到端系統流程

這個系統缺少手工工程相關的知識,因此當訓練資料集很小時,他可能表現出的效能差於手工工程流程。

然而,當資料量比較大時,學習演算法就不會受到MFCC或基於音素表示方法的限制了,如果學習演算法是一個足夠大的神經網路,而且有足夠多的資料參與訓練,它的潛力是非常大的,或許能達到最優的錯誤率。

端到端學習系統可以在兩端(輸入端、輸出端)有大量已標記資料的情況下,表現的非常好。在這個例子中,我們需要準備大量的音訊和對應的輸出文字。當資料不可用時,端到端學習方法就有很大的風險了。

當你用機器學習演算法解決問題時,如果訓練樣本集非常小,演算法的大部分知識需要來自於人類的觀察,比如手工工程設計的元件。

當你不使用端到端系統時,你需要考慮演算法流程分成哪幾步,這幾步如何組裝在一起,我們將會提供一些關於演算法流程的設計建議。