AI 入門必備懶人包:圖解 27 種神經模型,讓你秒懂差在哪

模型那麼多,該怎麼選擇呢?這裡有27種神經網絡的圖解

【我們為什麼挑選這篇文章】初次接觸神經網路的人,大概都會出現「怎麼這麼多種神經網路?我要選哪個學?他們有啥差別?」的疑惑,而現在,有人將這些神經網路統整起來,圖片搭配簡易說明,讓你一次搞懂這麼多的神經網路,到底差在哪!(責任編輯:林厚勳)

27 種?!神經網路竟有那麼多種?這篇文章將逐一介紹下面這張圖片中的 27 種神經網路類型,並嘗試解釋如何使用它們。準備好了嗎?讓我們開始吧!

模型那麼多,該怎麼選擇呢?這裡有27種神經網路的圖解 神經網路的種類越來越多,可以說是在呈指數級地增長。我們需要一個一目瞭然的圖表,在這些新出現的網路構架和方法之間進行導航。

幸運的是,來自 Asimov 研究所的 Fjodor van Veen 編寫了一個關於神經網路的精彩圖表(就是上面那張大圖)。

下面,我們就來逐一看看圖中的 27 種神經網路:

Perceptron 感知機

模型那麼多,該怎麼選擇呢?這裡有27種神經網路的圖解

Perceptron 感知機,我們知道的最簡單和最古老的神經元模型。接收一些輸入,把它們加總,通過激活函數並傳遞到輸出層。這沒什麼神奇的地方。

前饋神經網路(FF)

模型那麼多,該怎麼選擇呢?這裡有27種神經網路的圖解

前饋神經網路(FF),這也是一個很古老的方法——這種方法起源於 50 年代。它的工作原理通常遵循以下規則:

1. 所有節點都完全連接

2. 激活從輸入層流向輸出,無迴環

3. 輸入和輸出之間有一層(隱含層)

在大多數情況下,這種類型的網路使用反向傳播方法進行訓練。

RBF 神經網路

模型那麼多,該怎麼選擇呢?這裡有27種神經網路的圖解

RBF 神經網路實際上是激活函數是徑向基函數而非邏輯函數的 FF 前饋神經網路(FF)。兩者之間有什麼區別呢?

邏輯函數將某個任意值映射到 [0 ,… 1] 範圍內來,回答「是或否」問題。適用於分類決策系統,但不適用於連續變量。

相反,徑向基函數能顯示「我們距離目標有多遠」。 這完美適用於函數逼近和機器控制(例如作為 PID 控制器的替代)。

簡而言之,這些只是具有不同激活函數和應用方向的前饋網路。

DFF 深度前饋神經網路

模型那麼多,該怎麼選擇呢?這裡有27種神經網路的圖解

DFF 深度前饋神經網路在 90 年代初期開啟了深度學習的潘多拉盒子。這些依然是前饋神經網路,但有不止一個隱含層。那麼,它到底有什麼特殊性?

在訓練傳統的前饋神經網路時,我們只向上一層傳遞了少量的誤差信息。由於堆疊更多的層次導致訓練時間的指數增長,使得深度前饋神經網路非常不實用。直到 00 年代初,我們開發了一系列有效的訓練深度前饋神經網路的方法; 現在它們構成了現代機器學習系統的核心,能實現前饋神經網路的功能,但效果遠高於此。

RNN 遞歸神經網路

模型那麼多,該怎麼選擇呢?這裡有27種神經網路的圖解

RNN 遞歸神經網路引入不同類型的神經元——遞歸神經元。這種類型的第一個網路被稱為約旦網路(Jordan Network),在網路中每個隱含神經元會收到它自己的在固定延遲(一次或多次迭代)後的輸出。除此之外,它與普通的模糊神經網路非常相似。

當然,它有許多變化 — 如傳遞狀態到輸入節點,可變延遲等,但主要思想保持不變。這種類型的神經網路主要被使用在上下文很重要的時候——即過去的迭代結果和樣本產生的決策會對當前產生影響。最常見的上下文的例子是文本——一個單詞只能在前面的單詞或句子的上下文中進行分析。

LSTM 長短時記憶網路

模型那麼多,該怎麼選擇呢?這裡有27種神經網路的圖解

LSTM 長短時記憶網路引入了一個存儲單元,一個特殊的單元,當數據有時間間隔(或滯後)時可以處理數據。遞歸神經網路可以通過「記住」前十個詞來處理文本,LSTM 長短時記憶網路可以通過「記住」許多幀之前發生的事情處理視頻幀。 LSTM 網路也廣泛用於寫作和語音識別。

存儲單元實際上由一些元素組成,稱為門,它們是遞歸性的,並控制信息如何被記住和遺忘。下圖很好的解釋了 LSTM 的結構:

模型那麼多,該怎麼選擇呢?這裡有27種神經網路的圖解

上圖的(x)是門,他們擁有自己的權重,有時也有激活函數。在每個樣本上,他們決定是否傳遞數據,擦除記憶等等 – 你可以在 這裡http://colah.github.io/posts/2015-08-Understanding-LSTMs/)閱讀更詳細的解釋。 輸入門(Input Gate)決定上一個樣本有多少的信息將保存在內存中; 輸出門調節傳輸到下一層的數據量,遺忘門(Forget Gate)控制存儲記憶的損失率。

然而,這是 LSTM 單元的一個非常簡單的實現,還有許多其他架構存在。

GRU

模型那麼多,該怎麼選擇呢?這裡有27種神經網路的圖解

GRU 是具有不同門的 LSTM。

聽起來很簡單,但缺少輸出門可以更容易基於具體輸入重複多次相同的輸出,目前此模型在聲音(音樂)和語音合成中使用得最多。

實際上的組合雖然有點不同:但是所有的 LSTM 門都被組合成所謂的更新門(Update Gate),並且復位門(Reset Gate)與輸入密切相關。

它們比 LSTM 消耗資源少,但幾乎有相同的效果。

Autoencoders 自動編碼器

模型那麼多,該怎麼選擇呢?這裡有27種神經網路的圖解

Autoencoders 自動編碼器用於分類,聚類和特徵壓縮。

當您訓練前饋(FF)神經網路進行分類時,您主要必須在 Y 類別中提供 X 個示例,並且期望 Y 個輸出單元格中的一個被激活。 這被稱為「監督學習」。

另一方面,自動編碼器可以在沒有監督的情況下進行訓練。它們的結構 – 當隱藏單元數量小於輸入單元數量(並且輸出單元數量等於輸入單元數)時,並且當自動編碼器被訓練時輸出儘可能接近輸入的方式,強制自動編碼器泛化數據並搜索常見模式。

變分自編碼器

模型那麼多,該怎麼選擇呢?這裡有27種神經網路的圖解

變分自編碼器,與一般自編碼器相比,它壓縮的是概率,而不是特徵。

儘管如此簡單的改變,但是一般自編碼器只能回答當「我們如何歸納數據?」的問題時,變分自編碼器回答了「兩件事情之間的聯繫有多強大?我們應該在兩件事情之間分配誤差還是它們完全獨立的?」的問題。

這裡https://github.com/kvfrans/variational-autoencoder)可以看到一些更深入的解釋(含代碼範例)。

降噪自動編碼器(DAE)

模型那麼多,該怎麼選擇呢?這裡有27種神經網路的圖解

雖然自動編碼器很酷,但它們有時找不到最魯棒的特徵,而只是適應輸入數據(實際上是過擬合的一個例子)。

降噪自動編碼器(DAE)在輸入單元上增加了一些噪聲 – 通過隨機位來改變數據,隨機切換輸入中的位,等等。通過這樣做,一個強制降噪自動編碼器從一個有點嘈雜的輸入重構輸出,使其更加通用,強制選擇更常見的特徵。

稀疏自編碼器(SAE)

模型那麼多,該怎麼選擇呢?這裡有27種神經網路的圖解

稀疏自編碼器(SAE)是另外一個有時候可以抽離出數據中一些隱藏分組樣試的自動編碼的形式。結構和 AE 是一樣的,但隱藏單元的數量大於輸入或輸出單元的數量。

馬爾可夫鏈(Markov Chain, MC)

模型那麼多,該怎麼選擇呢?這裡有27種神經網路的圖解

馬爾可夫鏈(Markov Chain, MC)是一個比較老的圖表概念了,它的每一個端點都存在一種可能性。過去,我們用它來搭建像「在單詞 hello 之後有 0.0053% 的概率會出現 dear,有 0.03551% 的概率出現 you」這樣的文字結構。

這些馬爾科夫鏈並不是典型的神經網路,它可以被用作基於概率的分類(像貝葉斯過濾),用於聚類(對某些類別而言),也被用作有限狀態機。

霍普菲爾網路(HN)

模型那麼多,該怎麼選擇呢?這裡有27種神經網路的圖解

霍普菲爾網路(HN)對一套有限的樣本進行訓練,所以它們用相同的樣本對已知樣本作出反應。

在訓練前,每一個樣本都作為輸入樣本,在訓練之中作為隱藏樣本,使用過之後被用作輸出樣本。

在 HN 試著重構受訓樣本的時候,他們可以用於給輸入值降噪和修復輸入。如果給出一半圖片或數列用來學習,它們可以回饋全部樣本。

波爾滋曼機(BM)

模型那麼多,該怎麼選擇呢?這裡有27種神經網路的圖解

波爾滋曼機(BM)和 HN 非常相像,有些單元被標記為輸入同時也是隱藏單元。在隱藏單元更新其狀態時,輸入單元就變成了輸出單元。(在訓練時,BM 和 HN 一個一個的更新單元,而非並行)。

這是第一個成功保留模擬退火方法的網路拓撲。

多層疊的波爾滋曼機可以用於所謂的深度信念網路(等一下會介紹),深度信念網路可以用作特徵檢測和抽取。

限制型波爾滋曼機(RBM)

模型那麼多,該怎麼選擇呢?這裡有27種神經網路的圖解

在結構上,限制型波爾滋曼機(RBM)和 BM 很相似,但由於受限 RBM 被允許像 FF 一樣用反向傳播來訓練(唯一的不同的是在反向傳播經過數據之前 RBM 會經過一次輸入層)。

深度信念網路(DBN)

模型那麼多,該怎麼選擇呢?這裡有27種神經網路的圖解

像之前提到的那樣,深度信念網路(DBN)實際上是許多波爾滋曼機(被 VAE 包圍)。他們能被連在一起(在一個神經網路訓練另一個的時候),並且可以用已經學習過的樣式來生成數據。

深度卷積網路(DCN)

模型那麼多,該怎麼選擇呢?這裡有27種神經網路的圖解

當今,深度卷積網路(DCN)是人工神經網路之星。它具有卷積單元(或者池化層)和內核,每一種都用以不同目的。

卷積核事實上用來處理輸入的數據,池化層是用來簡化它們(大多數情況是用非線性方程,比如 max),來減少不必要的特徵。

他們通常被用來做圖像識別,它們在圖片的一小部分上運行(大約 20×20 像素)。輸入窗口一個像素一個像素的沿著圖像滑動。然後數據流向卷積層,卷積層形成一個漏斗(壓縮被識別的特徵)。從圖像識別來講,第一層識別梯度,第二層識別線,第三層識別形狀,以此類推,直到特定的物體那一級。DFF 通常被接在卷積層的末端方便未來的數據處理。

去捲積網路(DN)

模型那麼多,該怎麼選擇呢?這裡有27種神經網路的圖解

去捲積網路(DN)是將 DCN 顛倒過來。DN 能在獲取貓的圖片之後生成像(狗:0,蜥蜴:0,馬:0,貓:1)一樣的向量。DNC 能在得到這個向量之後,能畫出一隻貓。

深度卷積反轉圖像網路(DCIGN)

模型那麼多,該怎麼選擇呢?這裡有27種神經網路的圖解

深度卷積反轉圖像網路(DCIGN),長得像 DCN 和 DN 粘在一起,但也不完全是這樣。

事實上,它是一個自動編碼器,DCN 和 DN 並不是作為兩個分開的網路,而是承載網路輸入和輸出的間隔區。大多數這種神經網路可以被用作圖像處理,並且可以處理他們以前沒有被訓練過的圖像。由於其抽象化的水平很高,這些網路可以用於將某個事物從一張圖片中移除,重畫,或者像大名鼎鼎的 CycleGAN 一樣將一匹馬換成一個斑馬。

生成對抗網路(GAN)

模型那麼多,該怎麼選擇呢?這裡有27種神經網路的圖解

生成對抗網路(GAN)代表了有生成器和分辨器組成的雙網路大家族。它們一直在相互傷害——生成器試著生成一些數據,而分辨器接收樣本數據後試著分辨出哪些是樣本,哪些是生成的。只要你能夠保持兩種神經網路訓練之間的平衡,在不斷的進化中,這種神經網路可以生成實際圖像。

液體狀態機(LSM)

模型那麼多,該怎麼選擇呢?這裡有27種神經網路的圖解

液體狀態機(LSM)是一種稀疏的,激活函數被閾值代替了的(並不是全部相連的)神經網路。只有達到閾值的時候,單元格從連續的樣本和釋放出來的輸出中積累價值信息,並再次將內部的副本設為零。

這種想法來自於人腦,這些神經網路被廣泛的應用於計算機視覺,語音識別系統,但目前還沒有重大突破。

極端學習機(ELM)

模型那麼多,該怎麼選擇呢?這裡有27種神經網路的圖解

極端學習機(ELM)是通過產生稀疏的隨機連接的隱藏層來減少 FF 網路背後的複雜性。它們需要用到更少計算機的能量,實際的效率很大程度上取決於任務和數據。

回聲狀態網路(ESN)

模型那麼多,該怎麼選擇呢?這裡有27種神經網路的圖解

回聲狀態網路(ESN)是重複網路的細分種類。數據會經過輸入端,如果被監測到進行了多次迭代(請允許重複網路的特徵亂入一下),只有在隱藏層之間的權重會在此之後更新。

據我所知,除了多個理論基準之外,我不知道這種類型的有什麼實際應用,歡迎留下你的不同意見。

深度殘差網路(DRN)

模型那麼多,該怎麼選擇呢?這裡有27種神經網路的圖解

深度殘差網路(DRN)是有些輸入值的部分會傳遞到下一層。這一特點可以讓它可以做到很深的層級(達到 300 層),但事實上它們是一種沒有明確延時的 RNN。

Kohonen 神經網路(KN)

模型那麼多,該怎麼選擇呢?這裡有27種神經網路的圖解

Kohonen 神經網路(KN)引入了「單元格距離」的特徵。大多數情況下用於分類,這種網路試著調整它們的單元格使其對某種特定的輸入作出最可能的反應。當一些單元格更新了, 離他們最近的單元格也會更新。

像 SVM 一樣,這些網路總被認為不是「真正」的神經網路。

支持向量機(SVM)

模型那麼多,該怎麼選擇呢?這裡有27種神經網路的圖解

支持向量機(SVM)用於二元分類工作,無論這個網路處理多少維度或輸入,結果都會是「是」或「否」。

SVM 不是所有情況下都被叫做神經網路。

神經圖靈機(NTM)

模型那麼多,該怎麼選擇呢?這裡有27種神經網路的圖解

神經網路像是黑箱——我們可以訓練它們,得到結果,增強它們,但實際的決定路徑大多數我們都是不可見的。

神經圖靈機(NTM)就是在嘗試解決這個問題——它是一個提取出記憶單元之後的 FF。一些作者也說它是一個抽象版的 LSTM。

記憶是被內容編址的,這個網路可以基於現狀讀取記憶,編寫記憶,也代表了圖靈完備神經網路。

─ ─

希望這篇總結對你們有所幫助。

原文連結:https://medium.com/towards-data-science/the-mostly-complete-chart-of-neural-networks-explained-3fb6f2367464

─ ─

(本文經合作夥伴 大數據文摘 授權轉載,並同意 TechOrange 編寫導讀與修訂標題,原文標題為 〈 模型那麼多,該怎麼選擇呢?這裡有 27 種神經網絡的圖解 〉,首圖來源:PEXELS,CC Licensed。)

神經網路還有什麼特別應用?

【真正的宇宙通用翻譯機】卡內基美隆大學研發,超越 Google 神經網路的翻譯法!
【蘋果發表第一篇 AI 論文】類神經網路如何讓電腦合成照片逼真得難以分辨?
《你的名字》濾鏡 App 爆紅技術關鍵:機器學習和神經網路


科技報橘 2019 全面徵才 ── 跟我們一起找到台灣在國際中的創新產業定位

我們正在找「社群編輯 3 名」、「資深採訪編輯 2 名

來信請將履歷與文字作品寄至 [email protected],信件名稱:應徵 TechOrange 社群編輯:(您的大名)

 

 

點關鍵字看更多相關文章: