深度學習是機器學習的一個不斷發(fā)展的子領域。深度學習設計逐層分析輸入,其中每一層逐步提取有關輸入的更高級別的信息。
讓我們以分析圖像的簡單場景為例。首先假設,你輸入的圖像被分成一個矩形像素網(wǎng)格?,F(xiàn)在:
在這里,特征提取過程從一層的輸出到下一層的輸入。
通過使用這種方法,我們可以處理大量的特征,這使得深度學習成為一個非常強大的工具。深度學習算法也可用于分析非結構化數(shù)據(jù)。下面,我們通過本章內(nèi)容來了解深度學習的基礎知識。
深度學習最流行和主要方法是使用 "人工神經(jīng)網(wǎng)絡(ANN)"。它們的靈感來自人腦模型,這是我們身體中最復雜的器官。人腦由超過 900 億個稱為 “神經(jīng)元” 的微小細胞組成。神經(jīng)元通過稱為 “軸突” 和 “樹突” 的神經(jīng)纖維相互連接。軸突的主要作用是將信息從一個神經(jīng)元傳遞到與其相連的另一個神經(jīng)元。
同樣,樹突的主要作用是接收由它所連接的另一個神經(jīng)元的軸突傳遞的信息。每個神經(jīng)元處理一個小信息,然后將結果傳遞給另一個神經(jīng)元,這個過程繼續(xù) 。這是我們?nèi)四X用來處理大量信息(如語音、視覺等),并從中提取有用信息的基本方法。
1958年,心理學家弗蘭克·羅森布拉特(Frank Rosenblatt)在此模型的基礎上發(fā)明了第一個人工神經(jīng)網(wǎng)絡(ANN)。人工神經(jīng)網(wǎng)絡由多個節(jié)點組成,類似于神經(jīng)元。節(jié)點緊密互連并組織成不同的隱藏層。輸入層接受輸入數(shù)據(jù),數(shù)據(jù)依次通過一個或多個隱藏層,最后輸出層預測輸入數(shù)據(jù)的有用信息。
單個神經(jīng)元(在 ANN 中稱為感知器),可以表示如下:
這里:
多層感知器是 ANN 的最簡單形式。它由單個輸入層、一個或多個隱藏層和最后一個輸出層組成。一個層由一組感知器組成。輸入層基本上是輸入數(shù)據(jù)的一個或多個特征。每個隱藏層由一個或多個神經(jīng)元組成,處理特征的某些方面,并將處理后的信息發(fā)送到下一個隱藏層。輸出層過程接受來自最后一個隱藏層的數(shù)據(jù)并最終輸出結果。
卷積神經(jīng)網(wǎng)絡是最流行的人工神經(jīng)網(wǎng)絡之一。廣泛應用于圖像和視頻識別領域。它基于卷積的概念,一個數(shù)學概念。除了在全連接隱藏神經(jīng)元層之前包含一系列卷積層和池化層之外,它幾乎類似于多層感知器。它具有三個重要的層:
一個簡單的 CNN 可以表示如下:
這里:
循環(huán)神經(jīng)網(wǎng)絡 (RNN) 可用于解決其他 ANN 模型中的缺陷。嗯,大部分 ANN 不記得之前情況的步驟,并學會了根據(jù)訓練中的上下文做出決策。同時,RNN 存儲過去的信息,它的所有決定都是根據(jù)它從過去學到的東西做出的。 這種方法主要用于圖像分類。有時,我們可能需要展望未來以修復過去。在這種情況下,雙向 RNN 有助于從過去學習并預測未來。例如,我們在多個輸入中有手寫樣本。假設我們在一個輸入中有混淆,那么我們需要再次檢查其他輸入以識別從過去做出決定的正確上下文。
讓我們首先了解深度學習的不同階段,然后了解 Keras 如何在深度學習過程中提供幫助。
深度學習需要大量輸入數(shù)據(jù)才能成功學習和預測結果。因此,首先要收集盡可能多的數(shù)據(jù)。
分析數(shù)據(jù)并獲得對數(shù)據(jù)的良好理解。需要更好地理解數(shù)據(jù)才能選擇正確的 ANN 算法。
選擇最適合學習過程類型(例如圖像分類、文本處理等)和可用輸入數(shù)據(jù)的算法。算法在 Keras中用Model表示。算法包括一層或多層。ANN 中的每一層都可以用Keras 中的 Keras 層表示。
更多建議: