史上最全!27種神經網絡簡明圖解:模型那麼多,我該怎麼選?

2021-01-13 大數據文摘

大數據文摘作品

編譯:田奧leo、桑桑、璐、Aileen

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

神經網絡的種類越來越多,可以說是在呈指數級地增長。我們需要一個一目了然的圖表,在這些新出現的網絡構架和方法之間進行導航。


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


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



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

 


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

1.所有節點都完全連接

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

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

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

 


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


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


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


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

 


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


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

 


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


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

 


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


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



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


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

 


GRU是具有不同門的LSTM


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


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


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

 


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


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


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

 


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


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


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

 


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


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



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

 


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


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

 


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


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


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

 


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


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


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



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




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

 



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


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


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

 



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

 



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


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




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

 



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


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

 



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

 



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


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




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




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


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

 



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


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

 



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


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


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

 

希望這篇總結對你們有所幫助。如文中有錯誤或者疏漏,歡迎留言給我們糾正或補充。


原文連結:

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


【今日機器學習概念】

Have a Great Defination

線下課程推薦|機器學習和人工智慧方向


新年新目標,稀牛喊你找工作啦!

✪  高頻面試考點

✪  行業項目經驗

✪  簡歷修改完善

✪  面試注意事項


VIP小班授課,定製化服務,2018春招Offer觸手可即!


回復「志願者」加入我們


相關焦點

  • 模型那麼多,該怎麼選擇呢?沒事,這裡有27種神經網絡的圖解
    大數據文摘作品編譯:田奧leo、桑桑、璐、Aileen27種?!神經網絡竟有那麼多種?這篇文章將逐一介紹下面這張圖片中的27種神經網絡類型,並嘗試解釋如何使用它們。準備好了嗎?讓我們開始吧!神經網絡的種類越來越多,可以說是在呈指數級地增長。
  • 神經網絡的基礎是MP模型?南大周志華組提出新型神經元模型FT
    據論文介紹,這項研究為神經網絡提供了一種新的基本構造單元,展示了開發具有神經元可塑性的人工神經網絡的可行性。當前的神經網絡大多基於 MP 模型,即按照生物神經元的結構和工作原理構造出來的抽象和簡化模型。此類模型通常將神經元形式化為一個「激活函數複合上輸入信號加權和」的形式。
  • 神經網絡模型預測值 論文_bp神經網絡預測模型建模步驟 - CSDN
    對於每一個畫成節點圖的架構,我都會寫一個非常非常簡短的描述。你會發現這些描述還是很有用的,畢竟,總還是有一些你並不是那麼熟悉的架構。以下內容將詳細介紹25個神經網絡模型,如果你想閱讀關於它們的原始論文,請在微信中回復「神經網絡」,即可獲得打包的PDF文件。
  • 谷歌開放Inception-ResNet-v2:一種新的圖像分類卷積神經網絡模型
    今天,谷歌再次宣布開放 Inception-ResNet-v2,一個在 ILSVRC 圖像分類基準上取得頂尖準確率的卷積神經網絡。文中提到的論文可點擊「閱讀原文」進行下載。為了在該領域取得更多進展,今天我們非常高興的宣布開放 Inception-ResNet-v2,這是一個在 ILSVRC 圖像分類基準上取得頂尖準確率的卷積神經網絡。
  • 華泰證券: 人工智慧選股之全連接神經網絡
    本報告主要介紹的全連接神經網絡是一種結構簡單、易於理解、計算效率高的模型,我們對其原理進行了形象化的描述,同時對模型結構和參數設置進行了詳細剖析,最後構建選股策略進行回測,發現全連接神經網絡選股模型的年化收益和信息比率優於線性模型。  全連接神經網絡模型一般包含輸入層、若干個隱藏層、輸出層,每層包含數目不等的節點。
  • 高清圖解:神經網絡、機器學習、數據科學一網打盡|附PDF
    今天,新智元要為大家推薦一個超實用、顏值超高的神經網絡+機器學習+數據科學和Python的完全圖解,文末附有高清PDF版連結,支持下載、列印,推薦大家可以做成滑鼠墊、桌布,或者印成手冊等隨手攜帶,隨時翻看。
  • 多變量多因子的非線性模型|BP神經網絡模型
    神經網絡模型的靈感來源於生物體內的神經網絡,大量的神經元(可以理解為變量)之間相互聯繫,共同協作處理問題。通過不斷調整輸入神經元的權重,達到目標結果,這也就是訓練的過程二、BP神經網絡BP的全稱是Backpropagation,譯為反向傳播,是目前應用最為廣泛的神經網絡模型之一。
  • 神經網絡的性能竟然優於神經符號模型
    不僅如此,實驗結果證實,神經網絡的在關鍵任務上的效果還要更好。不需要預先訓練,完全無監督,居然這麼神奇?按照之前的常識,結合了算法和符號推理技術的神經符號模型(Neurosymbolic Models),會比神經網絡更適合於預測和解釋任務,此外,神經符號模型在反事實方面表現更好。
  • 什麼是人工智慧神經網絡? 神經網絡是怎麼應用到各領域的?|什麼|...
    人腦中的神經網絡是一個非常複雜的組織,成人的大腦中約有1000億個神經元,人類至今仍在探索人腦的工作原理。而人們通過對生物神經元的研究和理解,構建了一個模擬人腦的計算模型:人工神經網絡!   那麼,人工神經網絡是什麼?人類通過構造神經網絡,能否給AI賦能,使之自我進化?   什麼是神經網絡?
  • 【深度】機器學習進化史:從線性模型到神經網絡
    我們不需要太過麻煩,就能使用100臺機器,並訓練一個邏輯回歸或支持向量機,但是開發一個分布式神經網絡學習設置卻難的多。那麼,猜猜看現在神經網絡這塊誰做的最成功?到目前為止,唯一的公司就是Google。他們是這一領域裡的先驅。現在就像是回到了2005年,當時Google發布了MapReduce,每個人都爭相建立同樣的基礎設施。
  • 深度| 清華大學自動化系張長水教授:神經網絡模型的結構優化
    清華大學自動化系張長水教授帶來了題為《神經網絡模型的結構優化》的報告。今天我和大家分享的主題是「神經網絡模型的結構優化」。因此就提出這樣的問題,我們怎麼樣讓深度學習網絡緊湊、小型化。在實際中,我們做深度學習的時候有一個很重要的問題,就是要調參數。首先,給你一個問題,你有了數據,選擇了一個基本模型,但是這個模型結構到底怎麼設置,層有多少,每層寬度多少?這樣一些參數怎麼去定?有很多的因素會影響我們學習的性能。有人做過一項這樣的研究,你能夠把網絡學的好,學習率(learning rate)是最重要的一個因素。
  • 神經網絡中避免過擬合5種方法介紹
    本文介紹了5種在訓練神經網絡中避免過擬合的技術。 最近一年我一直致力於深度學習領域。這段時間裡,我使用過很多神經網絡,比如卷積神經網絡、循環神經網絡、自編碼器等等。我遇到的最常見的一個問題就是在訓練時,深度神經網絡會過擬合。 當模型試著預測噪聲較多的數據的趨勢時,由於模型參數過多、過於複雜,就會導致過擬合。過擬合的模型通常是不精確的,因為這樣的預測趨勢並不會反映數據的真實情況。
  • 深度學習之卷積神經網絡經典模型
    下面詳細介紹一下LeNet-5模型工作的原理。LeNet-5模型一共有7層,每層包含眾多參數,也就是卷積神經網絡中的參數。雖然層數只有7層,這在如今龐大的神經網絡中可是說是非常少的了,但是包含了卷積層,池化層,全連接層,可謂麻雀雖小五臟俱全了。為了方便,我們把卷積層稱為C層,下採樣層叫做下採樣層。
  • 基於深度神經網絡的脫硫系統預測模型及應用
    該模型對輸入參數採用了指數滑動平均、合併最小分析周期等數據預處理技術進行降噪,在網絡訓練過程中採用 out技術防止過擬合。仿真結果對比現場數據表明,模型對漿液 pH 值、出口 SO2濃度和脫硫率均體現出良好的預測能力。
  • CNN vs RNN vs ANN——3種神經網絡分析模型,你pick誰?
    機器學習算法並沒有什麼不足之處,那麼為什麼數據科學家要選擇深度學習算法呢?神經網路能夠提供給我們哪些傳統機器學習提供不了的功能呢?我還常常會見到另一個問題——神經網絡需要強大的計算能力,那麼當問題中只是存在一些細微差別時,使用神經網絡真的值得嗎?問題的答案很簡單——值得!
  • 神經網絡和深度學習簡史(全)
    Minsky的書最著名的觀點有幾個:(1)我們需要用MLPs[多層感知機,多層神經網絡的另一種說法)來代表簡單的非線性函數,比如XOR 映射;而且(2)世界上沒人發現可以將MLPs訓練得夠好,以至於可以學會這麼簡單的函數的方法。Minsky的書讓世上絕大多數人相信,神經網絡是最糟糕的異端,死路一條。
  • Keras入門系列教程:兩分鐘構建你的第一個神經網絡模型
    構建一個簡單的模型順序模型在Keras中,您可以組裝網絡層來構建模型。模型通常是一個網絡層構成的圖。最常見的模型類型是一個叫做序貫模型的疊加層:tf.keras.Sequential模型。構建一個簡單的全連接的網絡(即多層感知器):model = keras.models.Sequential()# 添加一個含有64個神經網絡單元的全連接層到模型中,並且指定輸入數據的維度model.add(keras.layers.Dense(64, activation
  • 百度NLP | 神經網絡模型壓縮技術
    模型越趨複雜,由最初的詞袋模型(BOW)發展至建模短距離依賴關係的卷積神經網絡(CNN),建模長距離依賴關係的循環神經網絡(RNN),以及基於詞與詞之間匹配矩陣神經網絡(MM-DNN)等等。同時,由於語言複雜、表達多樣、應用廣泛,為了更好的解決語言學習的問題,我們將更多的 NLP 特徵引入 DNN 模型,比如基於 t 統計量的二元結構特徵,基於依存分析技術的詞語搭配結構特徵等。
  • 谷歌大腦發現神經網絡「牛頓法」:網絡足夠寬就能簡化成線性模型
    曉查 發自 凹非寺 量子位 報導 | 公眾號 QbitAI來自谷歌大腦的研究者發現,對於寬神經網絡,深度學習動態可以大大簡化,並且在無限寬度限制條件下,它們由網絡初始參數的一階泰勒展開的線性模型所決定。所謂的無限寬度(infinite width),指的是完全連接層中的隱藏單元數,或卷積層中的通道數量有無窮多。
  • 四個任務就要四個模型?現在單個神經網絡模型就夠了!
    眾所周知,神經網絡十分擅長處理特定領域的任務,但在處理多任務時結果並不是那麼理想。這與人類大腦不同,人類大腦能夠在多樣化任務中使用相同的概念。那麼,你是如何完成這些任務的呢?你的大腦中是否有專門負責處理這些任務的神經網絡?現代神經科學對此給出了答案:大腦中的信息是跨不同的部位進行分享和交流的。大腦究竟怎樣完成這些任務只是研究的一個領域,而對於這種執行多任務的能力是怎樣產生的,我們也有一些線索——答案可能就存在於如何在神經網絡中存儲和解釋數據。