1 新智元編譯
來源: asimovinstitute.org
譯者:弗格森 王楠
【新智元導(dǎo)讀】人是視覺動物,因此要了解神經(jīng)網(wǎng)絡(luò),沒有什么比用圖將它們的形象畫出來更加簡單易懂了。本文囊括 26 種架構(gòu),雖然不都是神經(jīng)網(wǎng)絡(luò),但卻覆蓋了幾乎所有常用的模型。直觀地看到這些架構(gòu)有助于你更好地了解它們的數(shù)學(xué)含義。當(dāng)然,本文收錄的神經(jīng)網(wǎng)絡(luò)并不完全,并且也并不都是神經(jīng)網(wǎng)絡(luò)。但它將成為你系統(tǒng)掌握神經(jīng)網(wǎng)絡(luò)的好文章。
新的神經(jīng)網(wǎng)絡(luò)架構(gòu)隨時隨地都在出現(xiàn),要時刻保持最新還有點難度。要把所有這些縮略語指代的網(wǎng)絡(luò)(DCIGN,IiLSTM,DCGAN,知道嗎?)都弄清,一開始估計還無從下手。
因此,我決定弄一個“作弊表”。這些圖里面話的大多數(shù)都是神經(jīng)網(wǎng)絡(luò),可也有一些是完全不同的物種。盡管所有這些架構(gòu)都是新奇獨特的,但當(dāng)我開始把它們畫下來的時候,每種架構(gòu)的底層關(guān)系逐漸清晰。
一個問題是要把它們畫成節(jié)點圖:實際上這并沒有展示出它們是如何被使用的。比如說,VAE 看起來跟 AE 差不都,但這兩種網(wǎng)絡(luò)的訓(xùn)練過程其實大不一樣。訓(xùn)練好的網(wǎng)絡(luò)的使用方法就更不同了,因為 VAE 是生成器,在新樣本中插入噪音的,而 AE 則僅僅是將它們得到的輸入映射到它們“記憶”中最近的訓(xùn)練樣本!需要說明的是,這個圖譜并沒有清晰呈現(xiàn)不同節(jié)點內(nèi)在工作原理(那個留做后話)。
要編一份完全的名單尤其困難,因為新的架構(gòu)隨時都在出現(xiàn)。即使是發(fā)表過的架構(gòu),有意識地去把它們都找全也有很大麻煩,要不就是有時候會落下一些。因此,雖說這幅圖會為你提供一些見解,但可千萬別認(rèn)為這幅圖里的內(nèi)容就是全部了。
圖中所描繪的每種架構(gòu),我都配上了非常非常簡短的說明,希望有用。
1. 前向傳播網(wǎng)絡(luò)(FF 或 FFNN)
非常直接,它們從前往后傳輸信息(分別是輸入和輸出)。神經(jīng)網(wǎng)絡(luò)通常都有很多層,包括輸入層、隱藏層、輸出層。單獨一層不會有連接,一般相鄰的兩層是全部相連的(每一層的每個神經(jīng)元都與另一層的每個神經(jīng)元相連)。最簡單,從某種意義上說也是最實用的網(wǎng)絡(luò)結(jié)構(gòu),有兩個輸入單元,一個輸出單元,可以用來為邏輯關(guān)口建模。FFNN 通常用反向傳播算法訓(xùn)練,因為網(wǎng)絡(luò)會將“進(jìn)來的”和“我們希望出來的”兩個數(shù)據(jù)集配對。這也被稱為監(jiān)督學(xué)習(xí),相對的是無監(jiān)督學(xué)習(xí),在無監(jiān)督學(xué)習(xí)的情況下,我們只負(fù)責(zé)輸入,由網(wǎng)絡(luò)自己負(fù)責(zé)輸出。由反向傳播算法得出的誤差通常是在輸入和輸出之間差別的變化(比如 MSE 或線性差)。由于網(wǎng)絡(luò)有足夠多的隱藏層,從理論上說對輸入和輸出建??偸强赡艿?。實際上,它們的使用范圍非常有限,但正向傳播網(wǎng)絡(luò)與其他網(wǎng)絡(luò)結(jié)合在一起會形成十分強大的網(wǎng)絡(luò)。
2. 徑向基函數(shù)(RBF)網(wǎng)絡(luò)
是以徑向基函數(shù)作為激活函數(shù)的 FFNN。RBF 就是這樣簡單。但是,這并不說它們沒有用,只是用其他函數(shù)作為激活函數(shù)的 FFNN 一般沒有自己單獨的名字。要有自己的名字,得遇上好時機才行。
3. Hopfied 網(wǎng)絡(luò)(HN)
所有的神經(jīng)元都與另外的神經(jīng)元相連;每個節(jié)點功能都一樣。在訓(xùn)練前,每個節(jié)點都是輸入;在訓(xùn)練時,每個節(jié)點都隱藏;在訓(xùn)練后,每個節(jié)點都是輸出。訓(xùn)練 HN 的方法是將每個神經(jīng)元的值設(shè)定為理想的模式,然后計算權(quán)重。這之后權(quán)重不會發(fā)生改變。一旦接收了訓(xùn)練,網(wǎng)絡(luò)總會變成之前被訓(xùn)練成的模式,因為整個網(wǎng)絡(luò)只有在這些狀態(tài)下才能達(dá)到穩(wěn)定。需要注意的是,HN 不會總是與理想的狀態(tài)保持一致。網(wǎng)絡(luò)穩(wěn)定的部分原因在于總的“能量”或“溫度”在訓(xùn)練過程中逐漸縮小。每個神經(jīng)元都有一個被激活的閾值,隨溫度發(fā)生變化,一旦超過輸入的總合,就會導(dǎo)致神經(jīng)元變成兩個狀態(tài)中的一個(通常是 -1 或 1,有時候是 0 或 1)。更新網(wǎng)絡(luò)可以同步進(jìn)行,也可以依次輪流進(jìn)行,后者更為常見。當(dāng)輪流更新網(wǎng)絡(luò)時,一個公平的隨機序列會被生成,每個單元會按照規(guī)定的次序進(jìn)行更新。因此,當(dāng)每個單元都經(jīng)過更新而且不再發(fā)生變化時,你就能判斷出網(wǎng)絡(luò)是穩(wěn)定的(不再收斂)。這些網(wǎng)絡(luò)也被稱為聯(lián)存儲器,因為它們會收斂到與輸入最相似的狀態(tài);當(dāng)人類看到半張桌子的時候,我們會想象出桌子的另一半,如果輸入一半噪音、一半桌子,HN 將收斂成一張桌子。
4. 馬爾科夫鏈(MC 或離散時間馬爾科夫鏈,DTMC)
是 BM 和 HN 的前身。可以這樣理解 DTMC:從我現(xiàn)在這個節(jié)點出發(fā),達(dá)到相鄰節(jié)點的幾率有多大?它們是沒有記憶的,也即你的每一個狀態(tài)都完全取決于之前的狀態(tài)。雖然 DTMC 不是一個真正的神經(jīng)網(wǎng)絡(luò),他們卻有與神經(jīng)網(wǎng)絡(luò)相似的性質(zhì),也構(gòu)成了 BM 和 HN 的理論基礎(chǔ)。
5. 玻爾茲曼機(BM)
和 HN 十分相似,但有些神經(jīng)元被標(biāo)記為輸入神經(jīng)元,其他的神經(jīng)元繼續(xù)保持“隱藏”。輸入神經(jīng)元在網(wǎng)絡(luò)整體更新后會成為輸入神經(jīng)元。一開始權(quán)重是隨機的,通過反向傳播算法,或者通過最近出現(xiàn)的對比散度(用馬爾科夫鏈決定兩個獲得信息之間的梯度)。相較于 HN,BM 的神經(jīng)元有時候會呈現(xiàn)二元激活模式,但另一些時候則是隨機的。BM 的訓(xùn)練和運行過程與 HN 十分相似:將輸入神經(jīng)元設(shè)定為固定值,然后任網(wǎng)絡(luò)自己變化。反復(fù)在輸入神經(jīng)元和隱藏神經(jīng)元之間來回走動,最終網(wǎng)絡(luò)會在溫度恰當(dāng)時達(dá)到平衡。
6. 受限玻爾茲曼機(RBM)
與 BM 十分相似(意外吧),因此也與 HN 十分相似。BM 與 RBM 最大的不同在于 RBM 因為受限所以實用性更大。RBM 的輸入神經(jīng)元不與其他輸入神經(jīng)元直接相連,隱藏神經(jīng)元之間也不存在直接的連接。RBM 可以像 FFNN 一樣訓(xùn)練:不采用將信息往前傳輸然后反向傳播的方法,你將信息往前傳,然后將輸出作為輸入(回到第一層)。這之后就可以用雙向傳播算法訓(xùn)練網(wǎng)絡(luò)了。
7. 自編碼器(AE)
跟 FFNN 有些類似,它只是 FFNN 的一種不同的用法,稱不上是從本質(zhì)上與 FFNN 不同的另一種網(wǎng)絡(luò)。AE 的外觀看起來像沙漏,輸入和輸出比隱藏層大。AE 也沿中間層兩邊對稱。最小的層總是在中間,這里也是信息壓縮得最密集的地方。從開始到中間被稱為編碼部分,中間到最后被稱為解碼部分,中間(意外吧)被稱為代碼。你可以使用反向傳播算法訓(xùn)練 AE。AE 兩邊是對稱的,因此編碼權(quán)重和解碼權(quán)重也是相等的。
8. 稀疏自編碼器(SAE)
在某種程度上與 AE 相反。我們沒有讓網(wǎng)絡(luò)在更少的“空間”或節(jié)點上表征一堆信息,而是將信息編碼在更多的空間中。因此,網(wǎng)絡(luò)不是在中間收斂,而是在中間膨脹。這種類型的網(wǎng)絡(luò)可以被用來從一個數(shù)據(jù)集中提取很多小的特征。如果你使用訓(xùn)練 AE 的方法訓(xùn)練 SAE,最終你將會無一例外得到一個沒有用的、跟輸入一模一樣的網(wǎng)絡(luò)。因此,在反饋輸入時要增加一個稀疏驅(qū)動器(sparsity driver),這樣只有一定的誤差才會被輸送回去得到訓(xùn)練,其他的誤差都“無關(guān)”,重新歸零。在某種意義上,這就像脈沖神經(jīng)網(wǎng)絡(luò)一樣,不是所有的神經(jīng)元都在同一時間發(fā)射。
9. 變分自編碼器(VAE)
和 AE 擁有同樣的架構(gòu),但“被教授”的東西卻不同:輸入樣本的近似概率分布。這有點回到本源的感覺,因為它們和 BM 及 RBM 的聯(lián)系更緊密一點。但它們確實依賴于貝葉斯數(shù)學(xué)來處理概率推理和獨立(probabilistic inference and independence),以及依靠重新參數(shù)化(re-parametrisation)來實現(xiàn)這種不同的表征。這種推理和獨立部件理解起來很直觀,但它們或多或少依賴于復(fù)雜的數(shù)學(xué)。其基礎(chǔ)可以歸結(jié)為:將影響考慮在內(nèi)。如果某種事物在一個位置發(fā)生,而其它地方則發(fā)生其它事物,那么它們不一定是相關(guān)的。如果它們不相關(guān),那么誤差傳播應(yīng)該考慮一下這一點。這是一種有用的方法,因為神經(jīng)網(wǎng)絡(luò)是大型的圖(graph,從某種角度來看),所以在深入到更深的層時如果排除掉一些節(jié)點對其它節(jié)點的影響,就會帶來幫助。
10. 去噪自編碼器(DAE)
是一種輸入中不僅包含數(shù)據(jù),也包含噪聲(比如使圖像更有顆粒感)的自動編碼器。但我們以同樣的方式計算誤差,所以該網(wǎng)絡(luò)的輸出是與不帶噪聲的原始輸入進(jìn)行比較。這能讓網(wǎng)絡(luò)不會學(xué)習(xí)細(xì)節(jié),而是學(xué)習(xí)更廣泛的特征,因為學(xué)習(xí)更小的特征往往會被證明是「錯誤的」,因為更小的特征會不斷隨噪聲變化。
11. 深度信念網(wǎng)絡(luò)(DBN)
基本上是 RBM 或 VAE 堆疊起來的架構(gòu)。事實已經(jīng)證明這些網(wǎng)絡(luò)可以堆疊起來高效地訓(xùn)練,其中的每一個 AE 或 REM 只必須編碼編碼之前的網(wǎng)絡(luò)即可。這種技術(shù)也被稱為貪婪訓(xùn)練(greedy training),其中貪婪是指得到局部最優(yōu)的解決方案,從而得到一個合理的但可能并非最優(yōu)的答案。DBN 可通過對比發(fā)散(contrastive divergence)或反向傳播進(jìn)行訓(xùn)練,以及學(xué)習(xí)將數(shù)據(jù)表征為概率模型,就像普通的 RBM 或 VAE 一樣。一旦通過無監(jiān)督學(xué)習(xí)訓(xùn)練或收斂成了一個(更)穩(wěn)定的狀態(tài),該模型就可被用于生成新數(shù)據(jù)。如果采用對比發(fā)散進(jìn)行訓(xùn)練,它甚至可以對已有的數(shù)據(jù)進(jìn)行分類,因為其神經(jīng)元已經(jīng)學(xué)會了尋找不同的特征。
12. 卷積神經(jīng)網(wǎng)絡(luò)(CNN)或深度卷積神經(jīng)網(wǎng)絡(luò)(DCNN)
和其它大多數(shù)網(wǎng)絡(luò)非常不同。它們主要被用于圖像處理,但也可應(yīng)用于音頻等其它類型的輸入。CNN 的一種典型的用例是讓網(wǎng)絡(luò)對輸入的圖像進(jìn)行分類,CNN 往往開始帶有一個輸入“scanner”,其目的是不一次性解析所有的訓(xùn)練數(shù)據(jù)。CNN 的真實世界實現(xiàn)往往會在末端連接一個 FFNN 以便進(jìn)一步處理數(shù)據(jù),這可以實現(xiàn)高度非線性的抽象。這樣的網(wǎng)絡(luò)被稱為 DCNN,但這兩者的名字和縮寫往往可以混用。
13. 解卷積神經(jīng)網(wǎng)絡(luò)(DNN)
是反向的卷積神經(jīng)網(wǎng)絡(luò)。比如給網(wǎng)絡(luò)輸入一個詞「cat」,然后訓(xùn)練它生成一張類似貓的圖像(通過將其與真實的貓圖片進(jìn)行比較)。和普通的 CNN 一樣,DNN 也能和 FFNN 結(jié)合使用,但我們就不給這種網(wǎng)絡(luò)縮寫了。我們也許可以將其稱之為深度解卷積神經(jīng)網(wǎng)絡(luò),但你也可以認(rèn)為當(dāng)你在 DNN 的前端和后端都接上 FFNN 時,你得到的架構(gòu)應(yīng)該有一個新名字。請注意在大多數(shù)應(yīng)用中,人們實際上并不會為該網(wǎng)絡(luò)送入類似文本的輸入,而更多的是一個二元的分類輸入向量。比如設(shè) <0, 1=""> 是貓,<1, 0=""> 是狗,<1, 1=""> 是貓和狗。CNN 中常見的池化層往往會被相似的逆向運算替代,主要使用偏差假設(shè)(biased assumptions)做插值和外推(interpolation and extrapolation )(如果一個池化層使用的是最大池化,你可以通過其逆向過程產(chǎn)生特定度更低的新數(shù)據(jù))。1,>1,>0,>
14. 深度卷積反向圖形網(wǎng)絡(luò)(DCIGN)
從某種程度上說,這個神經(jīng)網(wǎng)絡(luò)的名字有一點欺騙性,它們實際上是VAE,但是在編碼和解碼中分別有CNN 和 DNN。這些網(wǎng)絡(luò)嘗試在編碼的過程中對“特征”作為概率建模,這樣一來,它只需要分別“看”貓和狗的獨照,就能學(xué)會生成一張既有貓又有狗的合照。類似的,你也可以讓它把貓狗合照中的狗去掉,如果你很討厭那只狗的話。Demo顯示,這些模型可以學(xué)習(xí)為圖像中復(fù)雜的轉(zhuǎn)換進(jìn)行建模,比如源文件中3D物體光線的改變。這種網(wǎng)絡(luò)傾向于使用反向傳播進(jìn)行訓(xùn)練。
15. 生成對抗網(wǎng)絡(luò)(GAN)
GAN由不同的網(wǎng)絡(luò)組成,這些網(wǎng)絡(luò)是成對的:每兩個網(wǎng)絡(luò)配對工作。任何一對網(wǎng)站都可以組成 GAN(雖然通常由FFs 和 CNN 配對),一個網(wǎng)絡(luò)的任務(wù)是生成內(nèi)容,另一個負(fù)責(zé)對內(nèi)容進(jìn)行評價。進(jìn)行鑒別的網(wǎng)絡(luò)從訓(xùn)練數(shù)據(jù)或者生成式的網(wǎng)絡(luò)中獲得內(nèi)容。鑒別網(wǎng)絡(luò)能正確地預(yù)測數(shù)據(jù)源,隨后將會被當(dāng)成誤差生成網(wǎng)絡(luò)中的一部分。這形成了一種對抗:鑒別器在對生成數(shù)據(jù)和真實數(shù)據(jù)進(jìn)行區(qū)分時做得越來越好,生成器也在學(xué)習(xí)如何不被鑒別器預(yù)測到。這種網(wǎng)絡(luò)能取得良好的效果,部分原因是,即便非常復(fù)雜的嘈雜模型最終也都是可預(yù)測的,但是它只生成與特征類似的內(nèi)容,所以很難學(xué)會鑒別。GAN 很難訓(xùn)練,因為你不僅需要訓(xùn)練兩個網(wǎng)絡(luò)(況且其中的每一個都有自己的問題),而且二者的動態(tài)也需要被平衡。
16.循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)
RNN 是一種包含時間糾纏的 FFNN: 他們不是無主的stateless;他們在通道間是有聯(lián)系的,通過時間進(jìn)行連接。神經(jīng)元不僅從上一層神經(jīng)網(wǎng)絡(luò)獲得信息,而且可以從自身、從上一個通道中獲得信息。也就是說,輸入和訓(xùn)練網(wǎng)絡(luò)的順序會變得很重要。RNN 有一個很大的問題是梯度消失或爆炸,這取決于所使用的激活函數(shù),在這一過程中,信息會不斷地迅速消失,正如極深的FFNN 網(wǎng)絡(luò)在的信息丟失一樣。直觀地說,這并不是一個大問題,因為他們只是權(quán)重而不是神經(jīng)元狀態(tài),但是,經(jīng)過多次加權(quán)后,權(quán)重已經(jīng)成為了舊信息的存儲地,如果權(quán)重達(dá)到0或者100萬,那么此前的狀態(tài)就沒有什么信息意義了。RNN 可以在許多領(lǐng)域得到應(yīng)用,因為絕大多數(shù)形式的數(shù)據(jù)并不真的擁有可以用序列表示的時間線(比如,聲音或者視頻)??偟膩碚f,循環(huán)網(wǎng)絡(luò)對于完整的信息來說是一個很好的選擇。
17.長/短時記憶網(wǎng)絡(luò) (LSTM)
LSTM 通過引入關(guān)口(gate)和一個精確定義的記憶單元,嘗試解決梯度消失或者爆炸的問題。這一概念大部分是從電路學(xué)獲得的啟發(fā),而不是從生物學(xué)。每一個神經(jīng)元都有一個存儲單元和三個關(guān)口:輸入、輸出和忽略(forget)。這些關(guān)口的功能是通過運行或者禁止流動來保證信息的安全。輸入關(guān)口決定有多少上一層的信息可以存儲到單元中。輸出層承擔(dān)了另一端的工作,決定下一層可以了解到多少這一層的信息。忽略關(guān)口初看是一個很奇怪的設(shè)計,但是,有時候忽略也是很重要的:如果網(wǎng)絡(luò)正在學(xué)習(xí)一本書,并開始新的一章,那么忘掉前幾章的一些內(nèi)容也是很有必要的。LSTM已經(jīng)被證明可以學(xué)習(xí)復(fù)雜的序列,包括像莎士比亞一樣寫作,或者創(chuàng)作音樂。需要注意的是,這些關(guān)口中的每一個都對前一個神經(jīng)元中的存儲單元賦有權(quán)重,所以他們一般會需要更多想資源來運行。
18 . 關(guān)口循環(huán)單元(GRU)
是 LSTM 的一種輕量級變體。它們有一個關(guān)口,連線方式也稍微不同:沒有輸入、輸出、遺忘關(guān)口,它們有一個更新關(guān)口(update gate)。該更新關(guān)口既決定來自上個狀態(tài)的信息保留多少,也決定允許進(jìn)入多少來自上個層的信息。重置的關(guān)口函數(shù)很像 LSTM 中遺忘關(guān)口函數(shù),但位置稍有不同。GRU 的關(guān)口函數(shù)總是發(fā)出全部狀態(tài),它們沒有一個輸出關(guān)口。在大多案例中,它們的職能與 LSTM 很相似。最大的不同就是 GRU 更快、更容易運行(但表達(dá)力也更弱)。在實踐中,可能彼此之間要做出平衡,當(dāng)你需要具有更大表達(dá)力的大型網(wǎng)絡(luò)時,你可能要考慮性能收益。在一些案例中,r如果額外的表達(dá)力不再需要,GRU 就要比 LSTM 好。
19. 神經(jīng)圖靈機(NTM)
可被理解為 LSTM 的抽象化,并試圖將神經(jīng)網(wǎng)絡(luò)去黑箱化( un-black-box,讓我們洞見里面到底發(fā)生了什么。)NTM 中并非直接編碼記憶單元到神經(jīng)元中,里面的記憶是分離的。這種網(wǎng)絡(luò)試圖想將常規(guī)數(shù)字存儲的功效與永久性和神經(jīng)網(wǎng)絡(luò)的效率與表達(dá)力結(jié)合起來。這種網(wǎng)絡(luò)的思路是有一個可內(nèi)容尋址的記憶庫,神經(jīng)網(wǎng)絡(luò)可以直接從中讀取并編寫。NTM 中的「Turing」來自于圖靈完備(Turing complete):基于它所讀取的內(nèi)容讀取、編寫和改變狀態(tài)的能力,意味著它能表達(dá)一個通用圖靈機可表達(dá)的一切事情。
20. 雙向循環(huán)神經(jīng)網(wǎng)絡(luò)(BiRNN)、雙向長短期記憶網(wǎng)絡(luò)(BiLSTM)和雙向關(guān)口控循環(huán)單元(BiGRU)
在詞表中并未展現(xiàn),因為它們看起來和各自單向的結(jié)構(gòu)一樣。不同的是這些網(wǎng)絡(luò)不僅連接過去,也連接未來。舉個例子,通過一個接一個的輸入 fish 這個詞訓(xùn)練單向 LSTM 預(yù)測 fish,在這里面循環(huán)連接隨時間記住最后的值。而一個 BiLSTM 在后向通路(backward pass)的序列中就被輸入下一個詞,給它通向未來的信息。這訓(xùn)練該網(wǎng)絡(luò)填補空白而非預(yù)報信息,也就是在圖像中它并非擴展圖像的邊界,而是可以填補一張圖片中的缺失。
21.深度殘差網(wǎng)絡(luò)(DRN)
是非常深度的 FFNN 網(wǎng)絡(luò),有著額外的連接將輸入從一層傳到后面幾層(通常是 2 到 5 層)。DRN 并非是要發(fā)現(xiàn)將一些輸入(比如一個 5 層網(wǎng)絡(luò))映射到輸出的解決方案,而是學(xué)習(xí)將一些輸入映射到一些輸出 + 輸入上。大體上,它在解決方案中增加了一個恒等函數(shù),攜帶舊的輸入作為后面層的新輸入。有結(jié)果顯示,在超過 150 層后,這些網(wǎng)絡(luò)非常擅長學(xué)習(xí)模式,這要比常規(guī)的 2 到 5 層多得多。然而,有結(jié)果證明這些網(wǎng)絡(luò)本質(zhì)上只是沒有基于具體時間建造的 RNN ,它們總是與沒有 關(guān)口的 LSTM 相對比。
22. 回聲狀態(tài)網(wǎng)絡(luò)(ESN)
是另一種不同類型的網(wǎng)絡(luò)。它不同于其他網(wǎng)絡(luò)的原因在于它在不同神經(jīng)元之間有隨機連接(即,不是在層之間整齊連接。),而且它們訓(xùn)練方式也不同。在這種網(wǎng)絡(luò)中,我們先給予輸入,向前推送并對神經(jīng)元更新一段時間,然后隨時間觀察輸出,而不是像其他網(wǎng)絡(luò)那樣輸入信息然后反向傳播誤差。ESN 的輸入和輸出層有一些輕微的卷積,因為輸入層被用于準(zhǔn)備網(wǎng)絡(luò),輸出層作為隨時間展開的激活模式的觀測器。在訓(xùn)練過程中,只有觀測器和隱藏單元之間連接會被改變。
23. 液態(tài)機(LSM)
看起來與 ESN 非常類似。不同的是,LSM 是脈沖神經(jīng)網(wǎng)絡(luò)(spiking neural networks)這一類型的:用閾值函數(shù)取代 sigmoid 激活函數(shù),每個神經(jīng)元也是一個累加記憶細(xì)胞。所以當(dāng)更新神經(jīng)元的時候,里面的值并不是被設(shè)為臨近值的總和,也不是增加到它自身上。一旦達(dá)到閾值,它將能量釋放到其他神經(jīng)元。這就創(chuàng)造出了一種類似 spiking 的模式——在突然達(dá)到閾值的之前什么也不會發(fā)生。
24. 支持向量機(SVM)
能發(fā)現(xiàn)分類問題的最佳解決方案。傳統(tǒng)上只能夠分類線性可分的數(shù)據(jù),比如說發(fā)現(xiàn)哪個圖像是加菲貓,哪張圖片是史努比,不可能有其他輸出。在訓(xùn)練過程中,SVM 可被視為在一張圖上(2D)標(biāo)繪所有數(shù)據(jù)(加菲貓和史努比),并搞清楚如何在這些數(shù)據(jù)點間畫條線。這條線將分割數(shù)據(jù),以使得加菲貓在一邊,史努比在一邊。調(diào)整這條線到最佳的方式是邊緣位于數(shù)據(jù)點之間,這條線最大化到兩端。分類新數(shù)據(jù)可通過在這張圖上標(biāo)繪一個點來完成,然后就簡單看到這個點位于線的哪邊。使用核(kernel)方法,它們可被教授進(jìn)行 n 維數(shù)據(jù)的分類。這要在 3D 圖上標(biāo)繪數(shù)據(jù)點,從而讓其可分類史努比、加菲貓、Simon’s cat,甚至分類更多的卡通形象。
25.Kohonen 網(wǎng)絡(luò)(KN)
KN 利用競爭學(xué)習(xí)在無監(jiān)督情況下分類數(shù)據(jù)。向網(wǎng)絡(luò)輸入信息,然后網(wǎng)絡(luò)評估哪個神經(jīng)元最匹配該輸入信息。進(jìn)而調(diào)整這些神經(jīng)元以更好地匹配輸入,在這個過程中附帶著相鄰神經(jīng)元。相鄰神經(jīng)元能移動多少取決于它們與最好的匹配單元之間的距離。
聯(lián)系客服