端到端(end-to-end)的含義

端到端(end-to-end)是什麼

端到端指的是輸入是原始數據,輸出是最後的結果,原來輸入端不是直接的原始數據,而是在原始數據中提取的特徵

經典機器學習方式是以人類的先驗知識將raw數據預處理成feature,然後對feature進行分類。分類結果十分取決於feature的好壞。所以過去的機器學習專家將大部分時間花費在設計feature上。那時的機器學習有個更合適的名字叫feature engineering 。

在這裏插入圖片描述

隨着深度學習神經網絡的發展,讓網絡自己學習如何抓取feature效果更佳。由於多層神經網絡被證明能夠耦合任意非線性函數,通過一些配置能讓網絡去做以前需要人工參與的特徵設計這些工作,然後配置合適的功能如classifier,regression,而現在神經網絡可以通過配置layers的參數達到這些功能,整個輸入到最終輸出無需太多人工設置,從raw data 到最終輸出指標。於是興起了representation learning。這種方式對數據的擬合更加靈活。

端到端(end to end)的好處

通過縮減人工預處理和後續處理,儘可能使模型從原始輸入到最終輸出,給模型更多可以根據數據自動調節的空間,增加模型的整體契合度。

不同應用場景下的端到端含義不同

end-end在不同應用場景下有不同的具體詮釋。

計算機視覺CV中的端到端

對於computer vision視覺領域而言,end-end一詞多用於基於視覺的機器控制方面,具體表現是,神經網絡的輸入爲原始圖片,神經網絡的輸出爲(可以直接控制機器的)控制指令,如:

  1. Nvidia的基於CNNs的end-end自動駕駛,輸入圖片,直接輸出steering angle。從視頻來看效果拔羣,但其實這個系統目前只能做簡單的follow lane,與真正的自動駕駛差距較大。亮點是證實了end-end在自動駕駛領域的可行性,並且對於數據集進行了augmentation。鏈接:https://devblogs.nvidia.com/parallelforall/deep-learning-self-driving-cars/

  2. Google的paper: Learning Hand-Eye Coordination for Robotic Grasping with Deep Learning and Large-Scale Data Collection,也可以算是end-end學習:輸入圖片,輸出控制機械手移動的指令來抓取物品。這篇論文很贊,推薦:https://arxiv.org/pdf/1603.02199v4.pdf

  3. DeepMind神作Human-level control through deep reinforcement learning,其實也可以歸爲end-end,深度增強學習開山之作,值得學習:http://www.nature.com/nature/journal/v518/n7540/full/nature14236.html

  4. Princeton大學有個Deep Driving項目,介於end-end和傳統的model based的自動駕駛之間,輸入爲圖片,輸出一些有用的affordance(實在不知道這詞怎麼翻譯合適…)例如車身姿態、與前車距離、距路邊距離等,然後利用這些數據通過公式計算所需的具體駕駛指令如加速、剎車、轉向等。鏈接:http://deepdriving.cs.princeton.edu/

語音識別中的端到端

傳統的語音識別系統,由聲學模型發音詞典語言模型。其中聲學模型和語言模型是需要訓練的。

這些模塊的訓練一般都是獨立進行的,各有各的目標函數。

比如聲學模型的訓練目標是最大化訓練語音的概率;語言模型的訓練目標是最小化 困惑度(perplexity)

由於各個模塊在訓練時不能互相取長補短,訓練的目標函數又與系統整體的性能指標(一般是詞錯誤率 WER)有偏差,這樣訓練出的網絡往往達不到最優性能。

在語音識別領域的端到端分爲:

  • 端到端訓練(end-to-end training):
    一般指的是在訓練好語言模型後,將聲學模型和語言模型接在一起,以 WER 或它的一種近似爲目標函數去訓練聲學模型。由於訓練聲學模型時要計算系統整體的輸出,所以稱爲「端到端」訓練。可以看出這種方法並沒有徹底解決問題,因爲語言模型還是獨立訓練的。

  • 端到端模型(end-to-end models):
    系統中不再有獨立的聲學模型、發音詞典、語言模型等模塊,而是從輸入端(語音波形或特徵序列)到輸出端(單詞或字符序列)直接用一個神經網絡相連,讓這個神經網絡來承擔原先所有模塊的功能。典型的代表如使用 CTC 的 EESEN、使用注意力機制的 Listen, Attend and Spell [2]。這種模型非常簡潔,但靈活性就差一些:一般來說用於訓練語言模型的文本數據比較容易大量獲取,但不與語音配對的文本數據無法用於訓練端到端的模型。因此,端到端模型也常常再外接一個語言模型,用於在解碼時調整候選輸出的排名(rescoring)。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章