原文:The mostly complete chart of Neural Networks, explained
中文整理版:模型那么多苇本,該怎么選擇呢?沒事菜拓,這里有27種神經(jīng)網(wǎng)絡(luò)的圖解
【1】Perceptron(P)?感知機
感知機是我們知道的最簡單和最古老的神經(jīng)元模型瓣窄,它接收一些輸入,然后把它們加總纳鼎,通過激活函數(shù)并傳遞到輸出層俺夕。
【2】Feed Forward(FF)前饋神經(jīng)網(wǎng)絡(luò)
前饋神經(jīng)網(wǎng)絡(luò)(FF),這也是一個很古老的方法——這種方法起源于50年代贱鄙。它的工作原理通常遵循以下規(guī)則:
1.所有節(jié)點都完全連接
2.激活從輸入層流向輸出劝贸,無回環(huán)
3.輸入和輸出之間有一層(隱含層)
在大多數(shù)情況下,這種類型的網(wǎng)絡(luò)使用反向傳播方法進行訓練逗宁。
【3】Radial Basis Network(RBF) RBF神經(jīng)網(wǎng)絡(luò)
RBF 神經(jīng)網(wǎng)絡(luò)實際上是激活函數(shù)是徑向基函數(shù)而非邏輯函數(shù)的FF前饋神經(jīng)網(wǎng)絡(luò)(FF)映九。兩者之間有什么區(qū)別呢?
邏輯函數(shù)---將某個任意值映射到[0 ,... 1]范圍內(nèi)來瞎颗,回答“是或否”問題件甥。適用于分類決策系統(tǒng),但不適用于連續(xù)變量哼拔。
相反引有,徑向基函數(shù)---能顯示“我們距離目標有多遠”。 這完美適用于函數(shù)逼近和機器控制(例如作為PID控制器的替代)管挟。
簡而言之轿曙,RBF神經(jīng)網(wǎng)絡(luò)其實就是,具有不同激活函數(shù)和應(yīng)用方向的前饋網(wǎng)絡(luò)僻孝。
【4】Deep?Feed?Forword(DFF)深度前饋神經(jīng)網(wǎng)絡(luò)
DFF深度前饋神經(jīng)網(wǎng)絡(luò)在90年代初期開啟了深度學習的潘多拉盒子导帝。這些依然是前饋神經(jīng)網(wǎng)絡(luò),但有不止一個隱含層穿铆。那么您单,它到底有什么特殊性?
在訓練傳統(tǒng)的前饋神經(jīng)網(wǎng)絡(luò)時荞雏,我們只向上一層傳遞了少量的誤差信息虐秦。由于堆疊更多的層次導致訓練時間的指數(shù)增長,使得深度前饋神經(jīng)網(wǎng)絡(luò)非常不實用凤优。直到00年代初悦陋,我們開發(fā)了一系列有效的訓練深度前饋神經(jīng)網(wǎng)絡(luò)的方法;?現(xiàn)在它們構(gòu)成了現(xiàn)代機器學習系統(tǒng)的核心,能實現(xiàn)前饋神經(jīng)網(wǎng)絡(luò)的功能筑辨,但效果遠高于此俺驶。
【5】Recurrent Neural Network(RNN) 遞歸神經(jīng)網(wǎng)絡(luò)
RNN遞歸神經(jīng)網(wǎng)絡(luò)引入不同類型的神經(jīng)元——遞歸神經(jīng)元。這種類型的第一個網(wǎng)絡(luò)被稱為約旦網(wǎng)絡(luò)(Jordan Network)棍辕,在網(wǎng)絡(luò)中每個隱含神經(jīng)元會收到它自己的在固定延遲(一次或多次迭代)后的輸出暮现。除此之外还绘,它與普通的模糊神經(jīng)網(wǎng)絡(luò)非常相似。
當然栖袋,它有許多變化 — 如傳遞狀態(tài)到輸入節(jié)點拍顷,可變延遲等,但主要思想保持不變塘幅。這種類型的神經(jīng)網(wǎng)絡(luò)主要被使用在上下文很重要的時候——即過去的迭代結(jié)果和樣本產(chǎn)生的決策會對當前產(chǎn)生影響昔案。最常見的上下文的例子是文本——一個單詞只能在前面的單詞或句子的上下文中進行分析。
【6】Long/Short Term Memory (LSTM)?長短時記憶網(wǎng)絡(luò)
LSTM長短時記憶網(wǎng)絡(luò)引入了一個存儲單元晌块,一個特殊的單元爱沟,當數(shù)據(jù)有時間間隔(或滯后)時可以處理數(shù)據(jù)帅霜。遞歸神經(jīng)網(wǎng)絡(luò)可以通過“記住”前十個詞來處理文本匆背,LSTM長短時記憶網(wǎng)絡(luò)可以通過“記住”許多幀之前發(fā)生的事情處理視頻幀。 LSTM網(wǎng)絡(luò)也廣泛用于寫作和語音識別身冀。
存儲單元實際上由一些元素組成钝尸,稱為門,它們是遞歸性的搂根,并控制信息如何被記住和遺忘珍促。
【7】Gated?Recurrent Unit (GRU)
GRU是具有不同門的LSTM。
聽起來很簡單剩愧,但缺少輸出門可以更容易基于具體輸入重復多次相同的輸出猪叙,目前此模型在聲音(音樂)和語音合成中使用得最多。
實際上的組合雖然有點不同:但是所有的LSTM門都被組合成所謂的更新門(Update Gate)仁卷,并且復位門(Reset Gate)與輸入密切相關(guān)穴翩。
它們比LSTM消耗資源少,但幾乎有相同的效果锦积。
【8】Auto?Encoder (AE)?自動編碼器
Autoencoders自動編碼器用于分類芒帕,聚類和特征壓縮。
當您訓練前饋(FF)神經(jīng)網(wǎng)絡(luò)進行分類時丰介,您主要必須在Y類別中提供X個示例背蟆,并且期望Y個輸出單元格中的一個被激活。 這被稱為“監(jiān)督學習”哮幢。
另一方面带膀,自動編碼器可以在沒有監(jiān)督的情況下進行訓練。它們的結(jié)構(gòu) - 當隱藏單元數(shù)量小于輸入單元數(shù)量(并且輸出單元數(shù)量等于輸入單元數(shù))時橙垢,并且當自動編碼器被訓練時輸出盡可能接近輸入的方式垛叨,強制自動編碼器泛化數(shù)據(jù)并搜索常見模式。
【9】Variational AE (VAE)? 變分自編碼器
變分自編碼器钢悲,與一般自編碼器相比点额,它壓縮的是概率舔株,而不是特征。
盡管如此簡單的改變还棱,但是一般自編碼器只能回答當“我們?nèi)绾螝w納數(shù)據(jù)载慈?”的問題時,變分自編碼器回答了“兩件事情之間的聯(lián)系有多強大珍手?我們應(yīng)該在兩件事情之間分配誤差還是它們完全獨立的办铡?”的問題。
在這里(https://github.com/kvfrans/variational-autoencoder)可以看到一些更深入的解釋(含代碼示例)琳要。
【10】Denoising AE (DAE)?降噪自動編碼器
雖然自動編碼器很酷寡具,但它們有時找不到最魯棒的特征,而只是適應(yīng)輸入數(shù)據(jù)(實際上是過擬合的一個例子)稚补。
降噪自動編碼器(DAE)在輸入單元上增加了一些噪聲 - 通過隨機位來改變數(shù)據(jù)童叠,隨機切換輸入中的位,等等课幕。通過這樣做厦坛,一個強制降噪自動編碼器從一個有點嘈雜的輸入重構(gòu)輸出,使其更加通用乍惊,強制選擇更常見的特征杜秸。
【11】Sparse AE (SAE)?稀疏自編碼器
稀疏自編碼器(SAE)是另外一個有時候可以抽離出數(shù)據(jù)中一些隱藏分組樣試的自動編碼的形式。結(jié)構(gòu)和AE是一樣的润绎,但隱藏單元的數(shù)量大于輸入或輸出單元的數(shù)量撬碟。
【12】Markov?Chain (MC)?馬爾科夫鏈
馬爾可夫鏈(Markov Chain, MC)是一個比較老的圖表概念了,它的每一個端點都存在一種可能性莉撇。過去呢蛤,我們用它來搭建像“在單詞hello之后有0.0053%的概率會出現(xiàn)dear,有0.03551%的概率出現(xiàn)you”這樣的文本結(jié)構(gòu)稼钩。
這些馬爾科夫鏈并不是典型的神經(jīng)網(wǎng)絡(luò)顾稀,它可以被用作基于概率的分類(像貝葉斯過濾),用于聚類(對某些類別而言)坝撑,也被用作有限狀態(tài)機静秆。
【13】Hopfield Network (HN)?霍普菲爾網(wǎng)絡(luò)
霍普菲爾網(wǎng)絡(luò)(HN)對一套有限的樣本進行訓練,所以它們用相同的樣本對已知樣本作出反應(yīng)巡李。
在訓練前抚笔,每一個樣本都作為輸入樣本,在訓練之中作為隱藏樣本侨拦,使用過之后被用作輸出樣本殊橙。
在HN試著重構(gòu)受訓樣本的時候,他們可以用于給輸入值降噪和修復輸入。如果給出一半圖片或數(shù)列用來學習膨蛮,它們可以反饋全部樣本叠纹。
【14】Boltzmann Machine (BM)?波爾滋曼機
波爾滋曼機(BM)和HN非常相像,有些單元被標記為輸入同時也是隱藏單元敞葛。在隱藏單元更新其狀態(tài)時誉察,輸入單元就變成了輸出單元。(在訓練時惹谐,BM和HN一個一個的更新單元持偏,而非并行)。
這是第一個成功保留模擬退火方法的網(wǎng)絡(luò)拓撲氨肌。
多層疊的波爾滋曼機可以用于所謂的深度信念網(wǎng)絡(luò)鸿秆,深度信念網(wǎng)絡(luò)可以用作特征檢測和抽取。
【15】Restricted BM (RBM)?限制型波爾滋曼機
在結(jié)構(gòu)上怎囚,限制型波爾滋曼機(RBM)和BM很相似卿叽,但由于受限RBM被允許像FF一樣用反向傳播來訓練(唯一的不同的是在反向傳播經(jīng)過數(shù)據(jù)之前RBM會經(jīng)過一次輸入層)。
【16】Deep Belief Network (DBN)?深度信念網(wǎng)絡(luò)
像之前提到的那樣桩了,深度信念網(wǎng)絡(luò)(DBN)實際上是許多波爾滋曼機(被VAE包圍)附帽。他們能被連在一起(在一個神經(jīng)網(wǎng)絡(luò)訓練另一個的時候),并且可以用已經(jīng)學習過的樣式來生成數(shù)據(jù)井誉。
【17】Deep Convolutional Network (DCN)?深度卷積網(wǎng)絡(luò)
當今,深度卷積網(wǎng)絡(luò)(DCN)是人工神經(jīng)網(wǎng)絡(luò)之星整胃。它具有卷積單元(或者池化層)和內(nèi)核颗圣,每一種都用以不同目的。
卷積核事實上用來處理輸入的數(shù)據(jù)屁使,池化層是用來簡化它們(大多數(shù)情況是用非線性方程在岂,比如max),來減少不必要的特征蛮寂。
他們通常被用來做圖像識別蔽午,它們在圖片的一小部分上運行(大約20x20像素)。輸入窗口一個像素一個像素的沿著圖像滑動酬蹋。然后數(shù)據(jù)流向卷積層及老,卷積層形成一個漏斗(壓縮被識別的特征)范抓。從圖像識別來講骄恶,第一層識別梯度,第二層識別線匕垫,第三層識別形狀僧鲁,以此類推,直到特定的物體那一級。DFF通常被接在卷積層的末端方便未來的數(shù)據(jù)處理寞秃。
【18】Deconvolutional Network (DN)?去卷積網(wǎng)絡(luò)
去卷積網(wǎng)絡(luò)(DN)是將DCN顛倒過來斟叼。DN能在獲取貓的圖片之后生成像(狗:0,蜥蜴:0春寿,馬:0犁柜,貓:1)一樣的向量。DNC能在得到這個向量之后堂淡,能畫出一只貓馋缅。
【19】Deep Convolutional Inverse Graphics Network (DCIGN)?深度卷積反轉(zhuǎn)圖像網(wǎng)絡(luò)
深度卷積反轉(zhuǎn)圖像網(wǎng)絡(luò)(DCIGN),長得像DCN和DN粘在一起绢淀,但也不完全是這樣萤悴。
事實上,它是一個自動編碼器皆的,DCN和DN并不是作為兩個分開的網(wǎng)絡(luò)覆履,而是承載網(wǎng)路輸入和輸出的間隔區(qū)。大多數(shù)這種神經(jīng)網(wǎng)絡(luò)可以被用作圖像處理费薄,并且可以處理他們以前沒有被訓練過的圖像硝全。由于其抽象化的水平很高,這些網(wǎng)絡(luò)可以用于將某個事物從一張圖片中移除楞抡,重畫伟众,或者像大名鼎鼎的CycleGAN一樣將一匹馬換成一個斑馬。
【20】Generative Adversarial Network (GAN)?生成對抗網(wǎng)絡(luò)
生成對抗網(wǎng)絡(luò)(GAN)代表了有生成器和分辨器組成的雙網(wǎng)絡(luò)大家族召廷。它們一直在相互傷害——生成器試著生成一些數(shù)據(jù)凳厢,而分辨器接收樣本數(shù)據(jù)后試著分辨出哪些是樣本,哪些是生成的竞慢。只要你能夠保持兩種神經(jīng)網(wǎng)絡(luò)訓練之間的平衡先紫,在不斷的進化中,這種神經(jīng)網(wǎng)絡(luò)可以生成實際圖像筹煮。
【21】Liquid State Machine (LSM)?液體狀態(tài)機
液體狀態(tài)機(LSM)是一種稀疏的遮精,激活函數(shù)被閾值代替了的(并不是全部相連的)神經(jīng)網(wǎng)絡(luò)。只有達到閾值的時候败潦,單元格從連續(xù)的樣本和釋放出來的輸出中積累價值信息本冲,并再次將內(nèi)部的副本設(shè)為零。
這種想法來自于人腦变屁,這些神經(jīng)網(wǎng)絡(luò)被廣泛的應(yīng)用于計算機視覺眼俊,語音識別系統(tǒng),但目前還沒有重大突破粟关。
【22】Extreme? Learning Machine (ELM)?極端學習機
極端學習機(ELM)是通過產(chǎn)生稀疏的隨機連接的隱藏層來減少FF網(wǎng)絡(luò)背后的復雜性疮胖。它們需要用到更少計算機的能量环戈,實際的效率很大程度上取決于任務(wù)和數(shù)據(jù)。
【23】Echo State Network (ESN)?回聲狀態(tài)網(wǎng)絡(luò)
回聲狀態(tài)網(wǎng)絡(luò)(ESN)是重復網(wǎng)絡(luò)的細分種類澎灸。數(shù)據(jù)會經(jīng)過輸入端院塞,如果被監(jiān)測到進行了多次迭代(請允許重復網(wǎng)路的特征亂入一下),只有在隱藏層之間的權(quán)重會在此之后更新性昭。
據(jù)我所知拦止,除了多個理論基準之外,我不知道這種類型的有什么實際應(yīng)用糜颠。汹族。。其兴。顶瞒。。元旬。
【24】Deep Residual Network (DRN)?深度殘差網(wǎng)絡(luò)
深度殘差網(wǎng)絡(luò)(DRN)是有些輸入值的部分會傳遞到下一層榴徐。這一特點可以讓它可以做到很深的層級(達到300層),但事實上它們是一種沒有明確延時的RNN匀归。
【25】Kohonen Network (KN)?Kohonen神經(jīng)網(wǎng)絡(luò)
Kohonen神經(jīng)網(wǎng)絡(luò)(KN)引入了“單元格距離”的特征坑资。大多數(shù)情況下用于分類,這種網(wǎng)絡(luò)試著調(diào)整它們的單元格使其對某種特定的輸入作出最可能的反應(yīng)穆端。當一些單元格更新了袱贮, 離他們最近的單元格也會更新。
像SVM一樣徙赢,這些網(wǎng)絡(luò)總被認為不是“真正”的神經(jīng)網(wǎng)絡(luò)字柠。
【26】Support Vector Machine (SVM)
支持向量機(SVM)用于二元分類工作,無論這個網(wǎng)絡(luò)處理多少維度或輸入狡赐,結(jié)果都會是“是”或“否”。
SVM不是所有情況下都被叫做神經(jīng)網(wǎng)絡(luò)钦幔。
【27】Neural Turing Machine (NTM)?神經(jīng)圖靈機
神經(jīng)網(wǎng)絡(luò)像是黑箱——我們可以訓練它們枕屉,得到結(jié)果,增強它們鲤氢,但實際的決定路徑大多數(shù)我們都是不可見的搀擂。
神經(jīng)圖靈機(NTM)就是在嘗試解決這個問題——它是一個提取出記憶單元之后的FF。一些作者也說它是一個抽象版的LSTM卷玉。
記憶是被內(nèi)容編址的哨颂,這個網(wǎng)絡(luò)可以基于現(xiàn)狀讀取記憶,編寫記憶相种,也代表了圖靈完備神經(jīng)網(wǎng)絡(luò)威恼。