十大深度學習算法的原理解析
前言
深度學習是機器學習的子集,它基於人工神經網絡。學習過程之所以是深度性的,是因爲人工神經網絡的結構由多個輸入、輸出和隱藏層構成。每個層包含的單元可將輸入數據轉換爲信息,供下一層用於特定的預測任務。得益於這種結構,機器可以通過自身的數據處理進行學習。
深度學習在科學計算領域得到了廣泛的應用,其算法被解決複雜問題的行業廣泛使用。所有的深度學習算法都使用不同類型的神經網絡來執行特定的任務。本文爲大家帶來基本的人工神經網絡和深度學習算法,並簡單講解它們如何模擬人腦工作。
如何定義神經網絡?
Neural Networks,簡稱 NN。針對機器學習算法需要領域專家進行特徵工程,模型泛化性能差的問題,提出了 NN 可以從數據的原始特徵學習特徵表示,無需進行復雜的特徵處理。
神經網絡的結構類似於人腦,由人工神經元組成,也稱爲節點。這些節點分爲三層並排堆放:
-
輸入層
-
隱藏層
-
輸出層
數據以輸入的形式爲每個節點提供信息。該節點將輸入與隨機權重相乘,計算它們,並添加一個偏差。最後,非線性函數,也稱爲激活函數,被用來確定哪個神經元激活。
其原理可以使用線性迴歸理解:y=Wx+by=Wx+by=Wx+b
深度學習算法如何工作?
雖然深度學習算法的特點是自學習表示,但它們依賴於反映大腦計算信息方式的神經網絡。在訓練過程中,算法使用輸入分佈中的未知元素來提取特徵、分組對象並發現有用的數據模式。就像自學習的訓練機器一樣,這在多個層次上發生,使用算法來建立模型。
深度學習模型使用了多種算法。雖然沒有一個網絡被認爲是完美的,但是一些算法適合執行特定的任務。爲了選擇正確的算法,最好對所有的主要算法有一個紮實的瞭解。
十大最受歡迎的深度學習的算法
-
Convolutional Neural Networks (卷積神經網絡 CNNs)
-
Long Short Term Memory Networks (長短期記憶網絡 LSTMs)
-
Recurrent Neural Networks (遞歸神經網絡 RNNs)
-
Generative Adversarial Networks (生成對抗網絡 GANs)
-
Radial Basis Function Networks (徑向基函數網絡 RBFNs)
-
Multilayer Perceptrons (多層感知機 MLPs)
-
Self Organizing Maps (自組織映射神經網絡 SOMs)
-
Deep Belief Networks (深度信念網絡 DBNs)
-
Restricted Boltzmann Machines (受限玻爾茲曼機 RBMs)
-
Autoencoders(自動編碼器)
深度學習算法可以處理幾乎任何類型的數據,並且需要大量的計算能力和信息來解決複雜的問題。現在,讓我們深入研究一下熱門的深度學習算法。
一、卷積神經網絡 CNN
卷積神經網絡 Convolutional Neural Networks, 簡稱 CNN。
CNN 也被稱爲康維網,由多層組成,主要用於圖像處理和目標檢測。楊 · 樂村在 1988 年發明了第一臺 CNN,當時它被稱爲樂網。它被用來識別像郵政編碼和數字這樣的字符。
CNN 廣泛應用於識別衛星圖像、處理醫學圖像、預測時間序列和檢測異常。
CNN 是如何工作的?
CNN 有多個層次,從數據中處理和提取特徵:
卷積層
有線電視新聞網有一個卷積層,有幾個過濾器執行卷積操作。
整流線性單元
CNN 有一個 ReLU 層來執行對元素的操作。輸出是一個校正的特徵映射。
共用層
經過修正的特性映射接下來被提供到一個池層。池是一種減少特徵映射維度的下采樣操作。
然後,匯聚層通過平坦化將匯聚的特徵映射得到的二維數組轉換爲單個、長的、連續的線性向量。
完全連接層
當來自池層的平坦矩陣作爲輸入時,形成一個完全連通的層,它對圖像進行分類和識別。
下面是一個通過 CNN 處理的圖像的例子。
二、長短期存儲器網絡 (LSTMs)
LSTM 是一種遞歸神經網絡 (RNN) ,可以學習和記憶長期的依賴關係。長時間回憶過去的信息是默認行爲。
LSTM 隨着時間的推移保留信息。它們在時間序列預測中很有用,因爲它們記得以前的輸入。LSTM 具有鏈狀結構,其中四個相互作用的層以獨特的方式進行通信。除了時間序列預測,LSTM 通常用於語音識別、音樂創作和藥物開發。
LSTM 是如何工作的?
-
首先,他們忘記了先前狀態中不相關的部分
-
接下來,它們有選擇地更新單元格狀態值
-
最後,輸出單元格狀態的某些部分
下面是 LSTM 如何運作的示意圖:
三、遞歸神經網絡 (RNNs)
RNN 具有形成定向循環的連接,這允許將 LSTM 的輸出作爲輸入饋入到當前階段。
LSTM 的輸出成爲當前階段的輸入,並且由於其內部存儲器,可以記憶以前的輸入。RNN 通常用於圖像字幕、時間序列分析、自然語言處理、手寫識別和機器翻譯。
展開的 RNN 看起來像這樣:
RNN 是如何工作的?
-
時間 t-1 的輸出在時間 t 輸入。
-
類似地,時間 t 的輸出在時間 t + 1 輸入。
-
RNN 可以處理任意長度的輸入。
-
計算考慮了歷史信息,模型大小不會隨着輸入大小的增加而增加。
下面是谷歌自動完成功能的一個例子:
四、生成性對抗網絡 (GAN)
GAN 是生成式深度學習算法,它創建類似於訓練數據的新數據實例。GAN 有兩個組成部分: 一個生成器,學習生成虛假數據,一個鑑別器,學習從虛假信息。
GAN 的使用在一段時間內有所增加。它們可以用來改善天文圖像和模擬暗物質研究的引力透鏡效應。視頻遊戲開發者通過圖像訓練,以 4K 或更高的分辨率重新創建低分辨率、2D 紋理的舊視頻遊戲,使用 GAN 來提升它們的分辨率。
GAN 有助於生成逼真的圖像和卡通人物,創建人臉照片,並渲染 3D 物體。
GAN 是如何工作的?
-
鑑別器學習區分生成器的虛假數據和真實樣本數據。
-
在最初的訓練過程中,生成器產生假數據,鑑別器很快學會辨別這些假數據。
-
GAN 將結果發送給生成器和鑑別器以更新模型。
下面是 GAN 如何運作的示意圖:
五、徑向基函數網絡 (RBFNs)
RBFN 是一種特殊類型的前饋神經網絡,它使用徑向基函數作爲激活函數。它們有一個輸入層、一個隱藏層和一個輸出層,主要用於分類、迴歸和時間序列預測。
RBFN 是如何工作的?
-
RBFN 通過測量輸入與訓練集中的例子的相似性來進行分類。
-
RBF 神經元有一個輸入向量供給輸入層,它們有一層 RBF 神經元。
-
函數找到輸入的加權和,輸出層爲每個類別或類別的數據有一個節點。
-
隱層中的神經元包含高斯傳遞函數,其輸出與到神經元中心的距離成反比。
-
網絡的輸出是輸入的徑向基函數和神經元參數的線性組合。
看看這個 RBFN 的例子:
六、多層感知器 (mlp)
MLP 是開始學習深度學習技術的絕佳場所。
MLP 屬於具有多層感知器的前饋神經網絡,具有激活功能。MLP 由完全連接的輸入層和輸出層組成。它們具有相同數量的輸入和輸出層,但可能有多個隱藏層,可用於構建語音識別、圖像識別和機器翻譯軟件。
MLP 是如何工作的?
-
MLP 將數據提供給網絡的輸入層。神經元層連接成一個圖形,以便信號沿一個方向傳遞。
-
MLP 使用存在於輸入層和隱藏層之間的權重來計算輸入。
-
MLP 使用激活函數來決定激活哪些節點。激活函數包括 ReLU、 sigmoid 函數和 tanh。
-
MLP 訓練模型以理解相關性,並從訓練數據集中學習獨立變量和目標變量之間的依賴關係。
下面是 MLP 的一個例子。該圖計算權重和偏差,並應用適當的激活函數來分類貓和狗的圖像。
七、自組織映射神經網絡 (SOMs)
特沃 • 科霍寧教授發明了自組織映射神經網絡,使數據可視化能夠通過自組織的人工神經網絡來減少數據的維數。
數據可視化試圖解決人類無法輕易將高維數據可視化的問題。SOM 的創建是爲了幫助用戶理解這些高維信息。
SOM 是如何工作的?
-
SOM 爲每個節點初始化權值,並從訓練數據中隨機選擇一個向量。
-
SOM 檢查每個節點,以找出哪些權重是最可能的輸入向量。獲勝的節點稱爲最佳匹配單元 (BMU)。
-
SOM 發現了 BMU 的鄰居,隨着時間的推移,鄰居的數量減少了。
-
SOMs 爲樣本向量授予一個獲勝的權重。節點越接近 BMU,其權重變化越大。.
-
鄰居離 BMU 越遠,它學到的東西就越少。SOMs 在 N 次迭代中重複第二步。
下面,請看一個不同顏色的輸入向量的示意圖。這些數據提供給 SOM,然後 SOM 將數據轉換爲 2D RGB 值。最後,它分離和分類不同的顏色。
八、深度信念網絡 (DBN)
DBN 是由多層隨機潛變量組成的生成模型。潛變量具有二進制值,通常稱爲隱藏單位。
DBN 是一組 Boltzmann 機器,它們在各層之間建立連接,每個 RBM 層與前面的層和後面的層進行通信。深度信任網絡 (DBN) 用於圖像識別、視頻識別和運動捕捉數據。
DBN 是如何工作的?
-
貪婪學習算法訓練 DBN。貪婪學習算法使用一層一層的方法來學習自頂向下的生成權重。
-
DBN 在最上面的兩個隱藏層上運行 Gibbs 採樣的步驟。這個階段從頂部兩個隱藏層定義的 RBM 中提取一個樣本。
-
DBN 使用一次通過模型其餘部分的祖先抽樣來從可見單元中抽取樣本。
-
DBN 每一層中潛變量的值都可以通過一次自底向上的傳遞來推斷。
下面是 DBN 體系結構的一個示例:
九、受限制的玻爾茲曼機器 (RBM)
由 Geoffrey Hinton 開發的 RBM 是一種隨機神經網絡,可以從一組輸入的概率分佈中學習。
這種深度學習算法用於降維、分類、迴歸、協同過濾、特徵學習和主題建模。RBM 構成了 DBN 的組成部分。
RBM 由兩層組成:
-
可見單位
-
隱藏單位
每個可見單元都連接到所有隱藏單元。RBM 有一個連接到所有可見單元和隱藏單元的偏置單元,它們沒有輸出節點。
RBM 是如何工作的?
RBM 有兩個階段: 前向傳遞和後向傳遞。
-
RBM 接受輸入,並將其轉換成一組數字,在前向傳遞中對輸入進行編碼。
-
RBM 算法將每個輸入與單個權值和一個總偏差相結合,將輸出傳遞給隱層。
-
在向後傳遞過程中,RBM 獲取這組數字並將它們轉換爲重構的輸入。
-
RBM 將每個激活與個體重量和整體偏差相結合,並將輸出傳遞到可見層進行重建。
-
在可見層,RBM 將重建結果與原始輸入進行比較,分析結果的質量。
以下是 RBM 如何運作圖表:
十、自動編碼器
自動編碼器是一種特殊類型的前饋神經網絡,其輸入和輸出是相同的。傑弗裏 • 辛頓 (Geoffrey Hinton) 在上世紀 80 年代設計了自動編碼器,以解決非監督式學習問題。它們是經過訓練的神經網絡,將數據從輸入層複製到輸出層。自動編碼器用於藥物發現、流行預測和圖像處理等目的。(比如熱門的 seq2seq 模型一樣,原始的 Transformer 模型使用編碼器 - 解碼器(encoder–decoder)架構)
自動編碼器是如何工作的?
自動編碼器由三個主要部分組成: 編碼器、代碼和解碼器。
-
自動編碼器的結構是接收輸入並將其轉換爲不同的表示形式。然後,他們試圖儘可能準確地重建原始輸入。
-
當一個數字的圖像不清楚可見,它饋送到自動編碼器神經網絡。
-
自動編碼器首先對圖像進行編碼,然後將輸入的大小減小爲較小的表示形式。
-
最後,自動編碼器對圖像進行解碼,生成重建圖像。
下圖演示了自動編碼器的工作方式:
小結
深度學習在過去的幾年中得到了快速發展,在許多行業中廣泛流行。以下是常見的問答交流環節。
Q1:深度學習中哪種算法最好?
多層感知器 (MLPs) 是最簡單好用的深度學習算法。CNN 常用於圖像識別,RNN、LSTM 常用於文本序列的處理。
Q2:CNN 是一種深度學習算法嗎?
是的,CNN 是一個深度學習算法,負責處理動物視覺皮層啓發的圖像在網格模式的形式。它們被設計用於自動檢測和分割特定對象,並從低層到高層模式學習特徵的空間層次結構。
Q3:深度學習的三個層次是什麼?
該神經網絡由輸入層、隱層和輸出層三層組成。當輸入數據應用於輸入層時,獲得輸出層中的輸出數據。隱藏層負責執行所有的計算和 “隱藏” 任務。
Q4:深度學習模式是如何工作的?
深度學習模型使用神經網絡結構或一組包含多層的標記數據進行訓練。它們有時超過人類水平的表現。這些體系結構直接從數據中學習特徵,而不受手工特徵提取的阻礙。
本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源:https://mp.weixin.qq.com/s/zeJgl3BXt4P58Wr1jeXxUQ