【論文筆記】如何理解深度學習中的End to End

End to end:指的是輸入原始數據,輸出的是最後結果,應用在特徵學習融入算法,無需單獨處理。html

end-to-end(端對端)的方法,一端輸入個人原始數據,一端輸出我想獲得的結果。只關心輸入和輸出,中間的步驟所有都無論。算法

  端到端指的是輸入是原始數據,輸出是最後的結果,原來輸入端不是直接的原始數據,而是在原始數據中提取的特徵,這一點在圖像問題上尤其突出,由於圖像像素數太多,數據維度高,會產生維度災難,因此原來一個思路是手工提取圖像的一些關鍵特徵,這實際就是就一個降維的過程。
  那麼問題來了,特徵怎麼提?
  特徵提取的好壞異常關鍵,甚至比學習算法還重要,舉個例子,對一系列人的數據分類,分類結果是性別,若是你提取的特徵是頭髮的顏色,不管分類算法如何,分類效果都不會好,若是你提取的特徵是頭髮的長短,這個特徵就會好不少,可是仍是會有錯誤,若是你提取了一個超強特徵,好比染色體的數據,那你的分類基本就不會錯了。
  這就意味着,特徵須要足夠的經驗去設計,這在數據量愈來愈大的狀況下也愈來愈困難。
  因而就出現了端到端網絡,特徵能夠本身去學習,因此 特徵提取這一步也就融入到算法當中,不須要人來干預了

  簡單來講就是深度神經網絡處理問題不須要像傳統模型那樣,如同生產線般一步步去處理輸入數據直至輸出最後的結果(其中每一步處理過程都是通過人爲考量設定好的 (「hand-crafted」 function))。網絡

  與之相反,只需給出輸入數據以及輸出,神經網絡就能夠經過訓練自動「學得」以前那些一步接一步的 「hand-crafted」 functions。學習

相關理解:

一、傳統系統須要幾個模塊串行分別設計,end2end把中間模塊都去掉了。
以機器翻譯爲例 要設計翻譯模型 語言模型 調序模型
端到端就是直接一個模型搞定spa

二、cnn就是比較典型的end2end模型。在圖像分類裏輸入image各通道像素,輸出圖像類別。 相比於非end2end,conv層的卷積核能夠充當feature extractor部分而不須要額外的工做去作特徵工程的內容。儘管每一層須要本身設計,但如何獲得feature並不須要額外的操做。翻譯

三、另外一種理解:就是輸入一頭豬,輸出的是香腸設計

End-to-end在不一樣應用場景下有不一樣的具體詮釋,

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

1. Nvidia的基於CNNs的end-end自動駕駛,輸入圖片,直接輸出steering angle。從視頻來看效果拔羣,但其實這個系統目前只能作簡單的follow lane,與真正的自動駕駛差距較大。亮點是證明了end-end在自動駕駛領域的可行性,而且對於數據集進行了augmentation。連接:htm

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

3. DeepMind神做Human-level control through deep reinforcement learning,其實也能夠歸爲end-end,深度加強學習開山之做,值得學習:

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

總之

end-end不是什麼新東西,也不是什麼神奇的東西,僅僅是直接輸入原始數據,直接輸出最終目標的一種思想。
相關文章
相關標籤/搜索