如何理解深度學習?

2021-09-07 18:27:43 字數 2396 閱讀 8857

深度學習中最重要的乙個概念叫做人工神經網路,它作為一種模仿生物神經網路行為特徵,進行分布式並行資訊處理的演算法數學模型,這種網路通過調整內部大量節點(神經元)之間相互鏈結的權重,從而達到處理資訊的目的。

如上圖所示的是乙個『神經元』的基本結構,也叫做感知器,他接受多個輸入(x1,x2,x3...)產生乙個輸出output,好唄神經末梢感受各種外部環境的變化,最後產生電訊號。而當多個神經元相互連線起來過後就產生了下面的結構。

上圖中,底層的感知器接受外部輸入,作出判斷以後,在發出訊號,作為上層感知器的輸入,直至得到最後的結果。(此感知器的輸出依然只有乙個,但是可以傳送給多個目標)。

深度學習是一種通過多層神經網路對資訊進行抽取和表示,並實現分類、檢測等複雜任務的演算法架構。深度神經網路作為深度學習演算法的核心組成部分,在輸入和輸出層之間包含有多個隱藏層,使得演算法可以完成複雜的分類關係。

在目前的語音識別和合成、自然語言處理、計算機視覺以及遊戲競技等方面,深度學習實現的準確率已經遠遠超過傳統機器學習方法的準確度。在許多任務中,經典機器學習甚至無法競爭。在imagenet資料集上不同方法的影象分類準確性,深度學卷積神經網路的方法在各方面遠遠超過傳統的機器學習方法。

與傳統機器學習相比,深度網路可以使用更多的資料進行更好的擴充套件,很多時候,通過深層網路來使用更多的資料會使準確率不斷地提公升,直到某乙個瓶頸,需要進一步改良演算法才能繼續提公升。而在我們使用的經典機器學習演算法時,增加訓練資料這種簡單快速提公升正確率的方法甚至幾乎沒有效果,並且我們通常需要使用更複雜的方法來提高準確性。

經典的機器學習演算法通常需要人工進行複雜的特徵工程工作。首先在資料集上執行深度探索性資料分析,然後做乙個簡單的降低維度的處理,最後,必須仔細的選擇最佳功能以傳遞給機器學習演算法。當我們使用深度網路時,完全不需要這麼做,因為只需將資料直接傳遞到網路,通常就可以實現良好的效能,這消除了整個過程的繁瑣複雜且非常具有挑戰性的特徵工程階段。

與傳統機器學習相比,深度學習技術可以更容易的適應不同的領域和應用。首先遷移學習使用預先訓練的深度學習網路適用於同一領域內的不同應用程式是有效的。其次,如果我們一旦了解了語音識別領域的一些基礎的深度學習理論,那麼學習如何將深度網路應用於自然語言處理過程中將是一件不太具有挑戰性的工作,因為它們之間的基礎知識非常相似。而經典的機器學習演算法來說,在不同的領域和應用的知識庫是基本完全不同的,所以很難將演算法進行跨領域應用。

深度學習訓練演算法需要大量的資料,訓練資料量越大,模型的準確性越高。如今大公司之間為了不惜一切代價的爭奪資料,甚至願意免費提供服務以換取資料,其原因是擁有越多的資料,就擁有越高的演算法準確性和越有效的服務,從而可以吸引更多的使用者,然後再競爭中形成良性迴圈。對於深度學習演算法來說,缺乏乙個「下定義」的過程,即從乙個從特殊到一半的提煉過程,好的效果必須依託於成千上萬甚至更多的訓練樣本之上。 

深度學習對於資料的過度依賴也會帶來一些使用安全性的問題。marcus說過:「深度學習非常善於對特定領域的絕大多數現象作出判斷,另一方面它也會被愚弄」。這邊涉及到對抗樣本對於深度學習演算法的攻擊,通過對交通標誌進行一些很小的塗改,深度學習演算法就會將停止與限速的交通標記判斷錯誤。

深度學習非常擅長建立輸入與輸出之間的對映關係,卻不擅長總結發現其中的內在物理聯絡。通過大量的訓練,深度學習演算法可以大白最好的人類棋手,然而這並不代表人工智慧對於遊戲有著和人一樣的領悟能力。深度學習只能通過反覆試錯,它才能夠保證準確率,但是公升級一下遊戲或者版本,準確率就會降低,可以看出深度學習對於環境的依賴性太強

依據規則而寫的程式給出的執行結果,可以從源**中追蹤到每乙個if else。 而深度學習的演算法類似於乙個黑箱,其內部執行過程完全不被人們所理解。深度學習演算法在成千上萬個節點之間建立對映,並給出輸入與輸出之間的關係,但這種關係卻無法被人所理解。即時是開發出此演算法的工程師也常常胡對結果困惑不解。當深度學習應用於容錯率較高的系統時,這個缺點看起來似乎無關緊要。但是想象一下,如果是應用於法庭判決嫌疑人的命運,或者醫療中決定對患者的處理之類的領域之中,任何微小的錯誤都會導致不可逆轉的致命結果。

深度學習最大的乙個侷限是把資料中最常遇到的內容作為真理,把統計學上較稀少的東西看作假的。深度學習的公正性並非來自其自身,而是人類篩選和準備的資料。深度學習無法解釋其自身決策。除了深度學習讀到最多的是某觀點是正確的,因此它應該是正確的。深度學習將會學習並模仿最具缺陷的邏輯,包括一些比較極端的行為,甚至是孩童可以自己明白電影中的哪個人是壞的,但是深度學習做不到,除非人類首先明確教導它。深度學習中有些東西很酷,比如帶有反向傳播的梯度下降、自定義深度學習硬體,但這些大多是統計學和幾何學方面的內容,很可能在未來的人工智慧時代不會出現。

深度學習簡單理解

深度學習的一些概念理解 共享權重,最大池化,啟用函式,殘差網路 深度學習中有乙個概念,叫共享權重,就是乙個層中是共享權重的,這樣做的好處有兩個 a 能夠減少引數的數量,加速訓練 b 由於共享權重,使得整幅圖對應的這個權重下求的的特徵具有平移不變性 個人對於共享權重的理解 其實所謂的共享權重,比如對於...

深度學習 卷積理解

一.深度卷積神經網路學習筆記 一 假設輸入影象尺寸為w,卷積核尺寸為f,步幅 stride 為s 卷積核移動的步幅 padding使用p 用於填充輸入影象的邊界,一般填充0 那麼經過該卷積層後輸出的影象尺寸為 w f 2p s 1。2.它寫出為什麼會用padding?卷積核大小該如何確定?strid...

深度學習 dropout理解

深度神經網路的訓練是一件非常困難的事,涉及到很多因素,比如損失函式的非凸性導致的區域性最優值 計算過程中的數值穩定性 訓練過程中的過擬合等。其中,過擬合是很容易發生的現象,也是在訓練dnn中必須要解決的問題。過擬合我們先來講一下什麼是 過擬合 過擬合是指模型訓練到一定程度後,在訓練集上得到的測試誤差...