1. 程式人生 > 實用技巧 >深度學習和淺層學習的區別

深度學習和淺層學習的區別

深度學習和淺層學習的區別

簡單來說,淺層學習採取的是分段學習的手段,而深度學習採取的是端到端學習的手段。

比如給出一幅影象,若是採用淺層學習,我們首先需要從影象中檢測出其關鍵的資訊點,然後對這些資訊點進行表達,如著名的Sift演算法,就形成了每個畫素點128維的向量,我們可以對資訊點的表達向量進行聚類,得到資訊點所組成的視覺詞典,在視覺詞典的基礎之上,我們用一個一個的視覺單詞來表達整幅影象,由於影象具有空間近鄰關係,因此,我們可以通過金字塔模型來捕獲視覺單詞之間所形成的空間結構,在金字塔模型的基礎之上,可以形成影象的視覺直方圖,影象從 表達成了視覺影象直方圖的向量形式,居於此我們可以對影象進行聚類、分類。

不同階段(子任務)的分析手段我們可以加以改造,即在每一個階段裡我們可以用自己所定義的良好演算法得到該階段可以得到的更好的結果。

深度學習採取的是端到端的學習方法,這裡的端到端指的是輸入端到輸出端,從輸入端輸入經過卷積、池化、反向傳播等操作後可得到原始資料的特徵表達,基於此特徵表達,我們能夠對原始資料進行識別與分類,在這個過程裡,我們沒有 將學習的任務分成一段一段不同的子任務加以分析與處理。
也就是說,深度學習和淺層學習採取了完全不同的處理手段,它是從輸入端輸入資料,然後傳到中間層,通過層層抽象的方法直接得到輸入資料的特徵表達,進而對這種特徵表達進行分析與處理,它是一種端到端的學習方法。
在這裡插入圖片描述

舉例——英文到中文的翻譯

淺層學習:(分段學習機制)
依次經歷詞性標註,語法解析樹,語義分析等不同階段,在不同步階段裡,我們可以引用更改適合該階段處理的典型演算法,如條件隨機差等不同模型在不同階段完成其特定任務,最終基於語法解析樹,我們可以把英文翻譯成中文。

深度學習:(端到端學習機制)
例如輸入 You are pretty,在深度學習裡,先把you, are, pretty 這三個單詞對映成一個一個的向量,然後基於此向量做一個編碼,編碼的結果實際上刻畫了整個英文句子的上下文關係,然後再設計一個解碼器,從編碼的結果裡面逐一地翻譯出you are pretty這樣的中文單詞。
當然,在深度學習裡面,編碼器和解碼器是基於已標註的海量語料庫學習得到,一旦學習得到了編碼器和解碼器,那麼我們可以想象,任何一句英文的句子,首先通過訓練得到的編碼器進行編碼,以刻畫整段句子上下文之間的語義,然後基於訓練得到的解碼器,去解碼出該英文句子所對應的中文句子。

所以自然語言處理的機器翻譯任務而言,淺層學習採取的是詞性標註,語法解析樹,語義分析這種一段一段學習與處理的方式,而深度學習直接從輸入資料出發,輸出輸入資料所對應的中文翻譯的結果,是一個端到端學習的機制。
在這裡插入圖片描述