從神經(jīng)元到CNN、RNN姐叁、GAN…神經(jīng)網(wǎng)絡(luò)集錦

姓名:周雪寧

學(xué)號:1702110196

轉(zhuǎn)載:https://mp.weixin.qq.com/s/Si2jtA3jrKJVCXJ1B3fZQw

【嵌牛導(dǎo)讀】:在深度學(xué)習(xí)十分火熱的今天瓦盛,不時會涌現(xiàn)出各種新型的人工神經(jīng)網(wǎng)絡(luò),想要實(shí)時了解這些新型神經(jīng)網(wǎng)絡(luò)的架構(gòu)還真是不容易外潜。光是知道各式各樣的神經(jīng)網(wǎng)絡(luò)模型縮寫(如:DCIGN原环、BiLSTM、DCGAN……還有哪些处窥?)嘱吗,就已經(jīng)讓人招架不住了。因此滔驾,這里整理出一份清單來梳理所有這些架構(gòu)谒麦。其中大部分是人工神經(jīng)網(wǎng)絡(luò),也有一些完全不同的怪物嵌灰。盡管所有這些架構(gòu)都各不相同弄匕、功能獨(dú)特颅悉,當(dāng)我在畫它們的節(jié)點(diǎn)圖時……其中潛在的關(guān)系開始逐漸清晰起來沽瞭。

【嵌牛鼻子】:RBM,CNN,RNN,GAN

【嵌牛提問】:這么多經(jīng)典神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)分別側(cè)重于哪些工作?具體原理是什么剩瓶?它們之間有什么聯(lián)系與區(qū)別驹溃?

【嵌牛正文】:

把這些架構(gòu)做成節(jié)點(diǎn)圖城丧,會存在一個問題:它無法展示神經(jīng)網(wǎng)絡(luò)架構(gòu)內(nèi)部的工作原理。舉例來說豌鹤,變分自編碼機(jī)(VAE:variational autoencoders )看起來跟自編碼機(jī)(AE:autoencoders)差不多亡哄,但它們的訓(xùn)練過程卻大不相同。訓(xùn)練后的模型在使用場景上差別更大:VAE是生成器布疙,通過插入噪音數(shù)據(jù)來獲取新樣本蚊惯;而AE僅僅是把他們所收到的任何信息作為輸入,映射到“記憶中”最相似的訓(xùn)練樣本上灵临。

在介紹不同模型的神經(jīng)元和神經(jīng)細(xì)胞層之間的連接方式前截型,我們一步一步來,先來了解不同的神經(jīng)元節(jié)點(diǎn)內(nèi)部是如何工作的儒溉。

神經(jīng)元

對不同類型的神經(jīng)元標(biāo)記不同的顏色宦焦,可以更好地在各種網(wǎng)絡(luò)架構(gòu)之間進(jìn)行區(qū)分。但是顿涣,這些神經(jīng)元的工作方式卻是大同小異波闹。在下圖的基本神經(jīng)元結(jié)構(gòu)后面,你會看到詳細(xì)的講解:

基本的人工神經(jīng)網(wǎng)絡(luò)神經(jīng)元(basic neural network cell)相當(dāng)簡單涛碑,這種簡單的類型可以在常規(guī)的前饋人工神經(jīng)網(wǎng)絡(luò)架構(gòu)里面找到精堕。這種神經(jīng)元與其它神經(jīng)元之間的連接具有權(quán)重,也就是說蒲障,它可以和前一層神經(jīng)網(wǎng)絡(luò)層中的所有神經(jīng)元有連接锄码。

每一個連接都有各自的權(quán)重,通常情況下是一些隨機(jī)值(關(guān)于如何對人工神經(jīng)網(wǎng)絡(luò)的權(quán)重進(jìn)行初始化是一個非常重要的話題晌涕,這將會直接影響到之后的訓(xùn)練過程滋捶,以及最終整個模型的性能)。這個權(quán)重可以是負(fù)值余黎,正值重窟,非常小,或者非常大惧财,也可以是零巡扇。和這個神經(jīng)元連接的所有神經(jīng)元的值都會乘以各自對應(yīng)的權(quán)重。然后垮衷,把這些值都求和厅翔。

在這個基礎(chǔ)上,會額外加上一個bias搀突,它可以用來避免輸出為零的情況刀闷,并且能夠加速某些操作,這讓解決某個問題所需要的神經(jīng)元數(shù)量也有所減少。這個bias也是一個數(shù)字甸昏,有些時候是一個常量(經(jīng)常是-1或者1)顽分,有些時候會有所變化。這個總和最終被輸入到一個激活函數(shù)施蜜,這個激活函數(shù)的輸出最終就成為這個神經(jīng)元的輸出卒蘸。

卷積神經(jīng)元(Convolutional cells)和前饋神經(jīng)元非常相似,除了它們只跟前一神經(jīng)細(xì)胞層的部分神經(jīng)元有連接翻默。因?yàn)樗鼈儾皇呛湍承┥窠?jīng)元隨機(jī)連接的缸沃,而是與特定范圍內(nèi)的神經(jīng)元相連接,通常用來保存空間信息修械。這讓它們對于那些擁有大量局部信息和泌,比如圖像數(shù)據(jù)、語音數(shù)據(jù)(但多數(shù)情況下是圖像數(shù)據(jù))祠肥,會非常實(shí)用武氓。

解卷積神經(jīng)元恰好相反:它們是通過跟下一神經(jīng)細(xì)胞層的連接來解碼空間信息。這兩種神經(jīng)元都有很多副本仇箱,它們都是獨(dú)立訓(xùn)練的县恕;每個副本都有自己的權(quán)重,但連接方式卻完全相同剂桥≈抑颍可以認(rèn)為,這些副本是被放在了具備相同結(jié)構(gòu)的不同的神經(jīng)網(wǎng)絡(luò)中权逗。這兩種神經(jīng)元本質(zhì)上都是一般意義上的神經(jīng)元美尸,但是,它們的使用方式卻不同斟薇。

池化神經(jīng)元和插值神經(jīng)元(Pooling and interpolating cells)經(jīng)常和卷積神經(jīng)元結(jié)合起來使用师坎。它們不是真正意義上的神經(jīng)元,只能進(jìn)行一些簡單的操作堪滨。

池化神經(jīng)元接受到來自其它神經(jīng)元的輸出過后胯陋,決定哪些值可以通過,哪些值不能通過袱箱。在圖像領(lǐng)域遏乔,可以理解成是把一個圖像縮小了(在查看圖片的時候,一般軟件都有一個放大发笔、縮小的功能盟萨;這里的圖像縮小,就相當(dāng)于軟件上的縮小圖像了讨;也就是說我們能看到圖像的內(nèi)容更加少了捻激;在這個池化的過程當(dāng)中制轰,圖像的大小也會相應(yīng)地減少)。這樣铺罢,你就再也不能看到所有的像素了艇挨,池化函數(shù)會知道什么像素該保留残炮,什么像素該舍棄韭赘。

插值神經(jīng)元恰好是相反的操作它們獲取一些信息,然后映射出更多的信息势就。額外的信息都是按照某種方式制造出來的泉瞻,這就好像在一張小分辨率的圖片上面進(jìn)行放大。插值神經(jīng)元不僅僅是池化神經(jīng)元的反向操作苞冯,而且袖牙,它們也是很常見,因?yàn)樗鼈冞\(yùn)行非尘顺快鞭达,同時,實(shí)現(xiàn)起來也很簡單皇忿。池化神經(jīng)元和插值神經(jīng)元之間的關(guān)系畴蹭,就像卷積神經(jīng)元和解卷積神經(jīng)元之間的關(guān)系。

均值神經(jīng)元和標(biāo)準(zhǔn)方差神經(jīng)元(Mean and standard deviation cells)(作為概率神經(jīng)元它們總是成對地出現(xiàn))是一類用來描述數(shù)據(jù)概率分布的神經(jīng)元鳍烁。均值就是所有值的平均值叨襟,而標(biāo)準(zhǔn)方差描述的是這些數(shù)據(jù)偏離(兩個方向)均值有多遠(yuǎn)。比如:一個用于圖像處理的概率神經(jīng)元可以包含一些信息幔荒,比如:在某個特定的像素里面有多少紅色糊闽。舉個例來說,均值可能是0.5爹梁,同時標(biāo)準(zhǔn)方差是0.2右犹。當(dāng)要從這些概率神經(jīng)元取樣的時候,你可以把這些值輸入到一個高斯隨機(jī)數(shù)生成器姚垃,這樣就會生成一些分布在0.4和0.6之間的值傀履;值離0.5越遠(yuǎn),對應(yīng)生成的概率也就越小莉炉。它們一般和前一神經(jīng)元層或者下一神經(jīng)元層是全連接钓账,而且,它們沒有偏差(bias)絮宁。

循環(huán)神經(jīng)元(Recurrent cells?)不僅僅在神經(jīng)細(xì)胞層之間有連接梆暮,而且在時間軸上也有相應(yīng)的連接。每一個神經(jīng)元內(nèi)部都會保存它先前的值绍昂。它們跟一般的神經(jīng)元一樣更新啦粹,但是偿荷,具有額外的權(quán)重:與當(dāng)前神經(jīng)元之前值之間的權(quán)重,還有大多數(shù)情況下唠椭,與同一神經(jīng)細(xì)胞層各個神經(jīng)元之間的權(quán)重跳纳。當(dāng)前值和存儲的先前值之間權(quán)重的工作機(jī)制,與非永久性存儲器(比如RAM)的工作機(jī)制很相似贪嫂,繼承了兩個性質(zhì):

第一寺庄,維持一個特定的狀態(tài);

第二:如果不對其持續(xù)進(jìn)行更新(輸入)力崇,這個狀態(tài)就會消失斗塘。

由于先前的值是通過激活函數(shù)得到的,而在每一次的更新時亮靴,都會把這個值和其它權(quán)重一起輸入到激活函數(shù)馍盟,因此,信息會不斷地流失茧吊。實(shí)際上贞岭,信息的保存率非常的低,以至于僅僅四次或者五次迭代更新過后搓侄,幾乎之前所有的信息都會流失掉瞄桨。

長短期記憶神經(jīng)元(Long short term memory cells)用于克服循環(huán)神經(jīng)元中信息快速流失的問題。

LSTM是一個邏輯回路休讳,其設(shè)計受到了計算機(jī)內(nèi)存單元設(shè)計的啟發(fā)讲婚。與只存儲兩個狀態(tài)的循環(huán)神經(jīng)元相比,LSTM可以存儲四個狀態(tài):輸出值的當(dāng)前和先前值俊柔,記憶神經(jīng)元狀態(tài)的當(dāng)前值和先前值筹麸。它們都有三個門:輸入門,輸出門雏婶,遺忘門物赶,同時,它們也還有常規(guī)的輸入留晚。

這些門它們都有各自的權(quán)重酵紫,也就是說,與這種類型的神經(jīng)元細(xì)胞連接需要設(shè)置四個權(quán)重(而不是一個)错维。這些門的工作機(jī)制與流門(flow gates)很相似奖地,而不是柵欄門(fence gates):它們可以讓所有的信息都通過,或者只是通過部分赋焕,也可以什么都不讓通過参歹,或者通過某個區(qū)間的信息。

這種運(yùn)行機(jī)制的實(shí)現(xiàn)是通過把輸入信息和一個在0到1之間的系數(shù)相乘隆判,這個系數(shù)存儲在當(dāng)前門中犬庇。這樣僧界,輸入門決定輸入的信息有多少可以被疊加到當(dāng)前門值。輸出門決定有多少輸出信息是可以傳遞到后面的神經(jīng)網(wǎng)絡(luò)中臭挽。遺忘門并不是和輸出神經(jīng)元的先前值相連接捂襟,而是,和前一記憶神經(jīng)元相連接欢峰。它決定了保留多少記憶神經(jīng)元最新的狀態(tài)信息葬荷。因?yàn)闆]有和輸出相連接,以及沒有激活函數(shù)在這個循環(huán)中赤赊,因此只會有更少的信息流失闯狱。

門控循環(huán)神經(jīng)元(Gated recurrent units (cells))是LSTM的變體煞赢。它們同樣使用門來抑制信息的流失抛计,但是只用兩個門:更新門和重置門。這使得構(gòu)建它們付出的代價沒有那么高照筑,而且運(yùn)行速度更加快了吹截,因?yàn)樗鼈冊谒械牡胤绞褂昧烁俚倪B接。

從本質(zhì)上來說LSTM和GRU有兩個不同的地方:

第一:GRU神經(jīng)元沒有被輸出門保護(hù)的隱神經(jīng)元凝危;

第二:GRU把輸出門和遺忘門整合在了一起波俄,形成了更新門。核心的思想就是如果你想要一些新的信息蛾默,那么你就可以遺忘掉一些陳舊的信息(反過來也可以)懦铺。

神經(jīng)細(xì)胞層(Layers)

形成一個神經(jīng)網(wǎng)絡(luò),最簡單的連接神經(jīng)元方式是——把所有的神經(jīng)元與其它所有的神經(jīng)元相連接支鸡。這就好像Hopfield神經(jīng)網(wǎng)絡(luò)和玻爾茲曼機(jī)(Boltzmann machines)的連接方式冬念。當(dāng)然,這也就意味著連接數(shù)量會隨著神經(jīng)元個數(shù)的增加呈指數(shù)級地增加牧挣,但是急前,對應(yīng)的函數(shù)表達(dá)力也會越來越強(qiáng)。這就是所謂的全連接(completely (or fully) connected)瀑构。

經(jīng)歷了一段時間的發(fā)展裆针,發(fā)現(xiàn)把神經(jīng)網(wǎng)絡(luò)分解成不同的神經(jīng)細(xì)胞層會非常有效。神經(jīng)細(xì)胞層的定義是一群彼此之間互不連接的神經(jīng)元寺晌,它們僅跟其它神經(jīng)細(xì)胞層有連接世吨。這一概念在受限玻爾茲曼機(jī)(Restricted Boltzmann Machines)中有所體現(xiàn)。現(xiàn)在呻征,使用神經(jīng)網(wǎng)絡(luò)就意味著使用神經(jīng)細(xì)胞層耘婚,并且是任意數(shù)量的神經(jīng)細(xì)胞層。其中一個比較令人困惑的概念是全連接(fully connected or completely connected)怕犁,也就是某一層的每個神經(jīng)元跟另一層的所有神經(jīng)元都有連接边篮,但真正的全連接神經(jīng)網(wǎng)絡(luò)相當(dāng)罕見己莺。

卷積連接層(Convolutionally connected layers)相對于全連接層要有更多的限制:在卷積連接層中的每一個神經(jīng)元只與相鄰的神經(jīng)元層連接。圖像和聲音蘊(yùn)含了大量的信息戈轿,如果一對一地輸入到神經(jīng)網(wǎng)絡(luò)(比如凌受,一個神經(jīng)元對應(yīng)一個像素)。卷積連接的形成思杯,受益于保留空間信息更為重要的觀察胜蛉。實(shí)踐證明這是一個非常好的猜測,因?yàn)楝F(xiàn)在大多數(shù)基于人工神經(jīng)網(wǎng)絡(luò)的圖像和語音應(yīng)用都使用了這種連接方式色乾。然而誊册,這種連接方式所需的代價遠(yuǎn)遠(yuǎn)低于全連接層的形式。從本質(zhì)上來講暖璧,卷積連接方式起到重要性過濾的作用案怯,決定哪些緊緊聯(lián)系在一起的信息包是重要的;卷積連接對于數(shù)據(jù)降維非常有用澎办。

當(dāng)然了嘲碱,還有另外一種選擇,就是隨機(jī)連接神經(jīng)元(randomly connected neurons)局蚀。這種形式的連接主要有兩種變體:

第一麦锯,允許部分神經(jīng)元進(jìn)行全連接。

第二琅绅,神經(jīng)元層之間只有部分連接扶欣。

隨機(jī)連接方式有助于線性地降低人工神經(jīng)網(wǎng)絡(luò)的性能;當(dāng)全連接層遇到性能問題的時候千扶,在大規(guī)模人工神經(jīng)網(wǎng)絡(luò)中料祠,使用隨機(jī)連接方式非常有益。擁有更多神經(jīng)元且更加稀疏的神經(jīng)元層在某些情況下運(yùn)行效果更好县貌,特別是很多的信息需要被存儲起來术陶,但是,需要交換的信息并不多(這與卷積連接層的運(yùn)行機(jī)制很相似煤痕,但是梧宫,它們是隨機(jī)的)。非常稀疏的連接網(wǎng)絡(luò)(1%或2%)也有被使用摆碉,比如ELMs,ESNs?和LSMs塘匣。這特別適用于脈沖網(wǎng)絡(luò)(spiking networks),因?yàn)橐粋€神經(jīng)元擁有更多的連接巷帝,它對應(yīng)的權(quán)重具有的能量也就更少忌卤,這也就意味著將會有更少的擴(kuò)展和重復(fù)模式。

時間滯后連接(Time delayed connections)是指相連的神經(jīng)元(通常是在同一個神經(jīng)元層楞泼,甚至于一個神經(jīng)元自己跟自己連接)驰徊,它們不從前面的神經(jīng)元層獲取信息笤闯,而是從神經(jīng)元層先前的狀態(tài)獲取信息。這使得暫時(時間上或者序列上)聯(lián)系在一起的信息可以被存儲起來棍厂。這些形式的連接經(jīng)常被手工重新進(jìn)行設(shè)置颗味,從而可以清除神經(jīng)網(wǎng)絡(luò)的狀態(tài)。和常規(guī)連接的主要區(qū)別是牺弹,這種連接會持續(xù)不斷地改變浦马,即便這個神經(jīng)網(wǎng)絡(luò)當(dāng)前沒有處于訓(xùn)練狀態(tài)。

下圖展示了以上所介紹的神經(jīng)網(wǎng)絡(luò)及其連接方式张漂。當(dāng)我卡在哪種神經(jīng)元與哪個神經(jīng)細(xì)胞層該連到一起的時候晶默,就會拿這張圖出來作為參考(尤其是在處理和分析LSTM與GRU神經(jīng)元時):

顯而易見,整理一份完整的清單是不切實(shí)際的航攒,因?yàn)樾碌募軜?gòu)正被源源不斷地發(fā)明出來磺陡。所以酌泰,接下來這份清單的目的后众,只想帶你一窺人工智能領(lǐng)域的基礎(chǔ)設(shè)施。對于每一個畫成節(jié)點(diǎn)圖的架構(gòu),我都會寫一個非常非常簡短的描述盆驹。你會發(fā)現(xiàn)這些描述還是很有用的,畢竟滩愁,總還是有一些你并不是那么熟悉的架構(gòu)躯喇。

以下內(nèi)容將詳細(xì)介紹25個神經(jīng)網(wǎng)絡(luò)模型。

值得一提的是硝枉,雖說大多數(shù)的簡寫都已被普遍接受廉丽,但總會出現(xiàn)一些沖突。RNNs有時表示遞歸神經(jīng)網(wǎng)絡(luò)(recursive neural networks)妻味,但大多時候正压,它們指的是循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural networks)。這還沒完责球,它們在許多地方還會泛指各種循環(huán)架構(gòu)焦履,這包括在LSTMs、GRU甚至是雙向變體雏逾。AEs也經(jīng)常會面臨同樣的問題嘉裤,VAEs、DAEs及其相似結(jié)構(gòu)有時都被簡稱為AEs栖博。很多縮寫后面的“N”也常常會有所變化屑宠,因?yàn)橥粋€架構(gòu)你既可稱之為卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network),也可簡稱為卷積網(wǎng)絡(luò)(convolutional network)仇让,這樣就出現(xiàn)了CNN和CN兩種形式典奉。

前饋神經(jīng)網(wǎng)絡(luò)(FFNN)

前饋神經(jīng)感知網(wǎng)絡(luò)與感知機(jī)(FF or FFNN:Feed forward neural networks and P:perceptrons)非常簡單躺翻,信息從前往后流動(分別對應(yīng)輸入和輸出)。

一般在描述神經(jīng)網(wǎng)絡(luò)的時候卫玖,都是從它的層說起获枝,即相互平行的輸入層、隱含層或者輸出層神經(jīng)結(jié)構(gòu)骇笔。單獨(dú)的神經(jīng)細(xì)胞層內(nèi)部省店,神經(jīng)元之間互不相連;而一般相鄰的兩個神經(jīng)細(xì)胞層則是全連接(一層的每個神經(jīng)元和另一層的每一個神經(jīng)元相連)笨触。一個最簡單卻最具有實(shí)用性的神經(jīng)網(wǎng)絡(luò)由兩個輸入神經(jīng)元和一個輸出神經(jīng)元構(gòu)成懦傍,也就是一個邏輯門模型。給神經(jīng)網(wǎng)絡(luò)一對數(shù)據(jù)集(分別是“輸入數(shù)據(jù)集”和“我們期望的輸出數(shù)據(jù)集”)芦劣,一般通過反向傳播算法來訓(xùn)練前饋神經(jīng)網(wǎng)絡(luò)(FFNNs)粗俱。

這就是所謂的監(jiān)督式學(xué)習(xí)。與此相反的是無監(jiān)督學(xué)習(xí):我們只給輸入虚吟,然后讓神經(jīng)網(wǎng)絡(luò)去尋找數(shù)據(jù)當(dāng)中的規(guī)律寸认。反向傳播的誤差往往是神經(jīng)網(wǎng)絡(luò)當(dāng)前輸出和給定輸出之間差值的某種變體(比如MSE或者僅僅是差值的線性變化)。如果神經(jīng)網(wǎng)絡(luò)具有足夠的隱層神經(jīng)元串慰,那么理論上它總是能夠建立輸入數(shù)據(jù)和輸出數(shù)據(jù)之間的關(guān)系偏塞。在實(shí)踐中,F(xiàn)FNN的使用具有很大的局限性邦鲫,但是灸叼,它們通常和其它神經(jīng)網(wǎng)絡(luò)一起組合成新的架構(gòu)

徑向基神經(jīng)網(wǎng)絡(luò)(RBF)

徑向神經(jīng)網(wǎng)絡(luò)(RBF:Radial basis function)是一種以徑向基核函數(shù)作為激活函數(shù)的前饋神經(jīng)網(wǎng)絡(luò)。沒有更多描述了庆捺。這不是說沒有相關(guān)的應(yīng)用古今,但大多數(shù)以其它函數(shù)作為激活函數(shù)的FFNNs都沒有它們自己的名字。這或許跟它們的發(fā)明年代有關(guān)系

霍普菲爾網(wǎng)絡(luò)(HN)

霍普菲爾網(wǎng)絡(luò)(HN:Hopfield network)是一種每一個神經(jīng)元都跟其它神經(jīng)元相互連接的網(wǎng)絡(luò)滔以。

這就像一盤完全攪在一起的意大利面捉腥,因?yàn)槊總€神經(jīng)元都在充當(dāng)所有角色:訓(xùn)練前的每一個節(jié)點(diǎn)都是輸入神經(jīng)元,訓(xùn)練階段是隱神經(jīng)元你画,輸出階段則是輸出神經(jīng)元抵碟。

該神經(jīng)網(wǎng)絡(luò)的訓(xùn)練,是先把神經(jīng)元的值設(shè)置到期望模式撬即,然后計算相應(yīng)的權(quán)重立磁。在這以后,權(quán)重將不會再改變了剥槐。一旦網(wǎng)絡(luò)被訓(xùn)練包含一種或者多種模式唱歧,這個神經(jīng)網(wǎng)絡(luò)總是會收斂于其中的某一種學(xué)習(xí)到的模式,因?yàn)樗粫谀骋粋€狀態(tài)才會穩(wěn)定。值得注意的是颅崩,它并不一定遵從那個期望的狀態(tài)(很遺憾几于,它并不是那個具有魔法的黑盒子)。它之所以會穩(wěn)定下來沿后,部分要?dú)w功于在訓(xùn)練期間整個網(wǎng)絡(luò)的“能量(Energy)”或“溫度(Temperature)”會逐漸地減少沿彭。每一個神經(jīng)元的激活函數(shù)閾值都會被設(shè)置成這個溫度的值,一旦神經(jīng)元輸入的總和超過了這個閾值尖滚,那么就會讓當(dāng)前神經(jīng)元選擇狀態(tài)(通常是-1或1喉刘,有時也是0或1)。

可以多個神經(jīng)元同步漆弄,也可以一個神經(jīng)元一個神經(jīng)元地對網(wǎng)絡(luò)進(jìn)行更新睦裳。一旦所有的神經(jīng)元都已經(jīng)被更新,并且它們再也沒有改變撼唾,整個網(wǎng)絡(luò)就算穩(wěn)定(退火)了廉邑,那你就可以說這個網(wǎng)絡(luò)已經(jīng)收斂了。這種類型的網(wǎng)絡(luò)被稱為“聯(lián)想記憶(associative memory)”倒谷,因?yàn)樗鼈儠諗康胶洼斎胱钕嗨频臓顟B(tài)蛛蒙;比如,人類看到桌子的一半就可以想象出另外一半渤愁;與之相似牵祟,如果輸入一半噪音+一半桌子,這個網(wǎng)絡(luò)就能收斂到整張桌子猴伶。

馬爾可夫鏈(MC)

馬爾可夫鏈(MC:Markov Chain)或離散時間馬爾可夫鏈(DTMC:MC or discrete time Markov Chain)在某種意義上是BMs和HNs的前身课舍。可以這樣來理解:從從我當(dāng)前所處的節(jié)點(diǎn)開始他挎,走到任意相鄰節(jié)點(diǎn)的概率是多少呢?它們沒有記憶(所謂的馬爾可夫特性):你所得到的每一個狀態(tài)都完全依賴于前一個狀態(tài)捡需。盡管算不上神經(jīng)網(wǎng)絡(luò)办桨,但它卻跟神經(jīng)網(wǎng)絡(luò)類似,并且奠定了BM和HN的理論基礎(chǔ)站辉。跟BM呢撞、RBM、HN一樣饰剥,MC并不總被認(rèn)為是神經(jīng)網(wǎng)絡(luò)殊霞。此外,它也并不總是全連接的汰蓉。

玻爾茲曼機(jī)(BM)

玻爾茲曼機(jī)(BM:Boltzmann machines)和霍普菲爾網(wǎng)絡(luò)很接近绷蹲,差別只是:一些神經(jīng)元作為輸入神經(jīng)元,剩余的則是作為隱神經(jīng)元。

在整個神經(jīng)網(wǎng)絡(luò)更新過后祝钢,輸入神經(jīng)元成為輸出神經(jīng)元比规。剛開始神經(jīng)元的權(quán)重都是隨機(jī)的,通過反向傳播(back-propagation)算法進(jìn)行學(xué)習(xí)拦英,或是最近常用的對比散度(contrastive divergence)算法(馬爾可夫鏈用于計算兩個信息增益之間的梯度)蜒什。

相比HN,大多數(shù)BM的神經(jīng)元激活模式都是二元的疤估。BM由MC訓(xùn)練獲得灾常,因而是一個隨機(jī)網(wǎng)絡(luò)。BM的訓(xùn)練和運(yùn)行過程铃拇,跟HN大同小異:為輸入神經(jīng)元設(shè)好鉗位值岗憋,而后讓神經(jīng)網(wǎng)絡(luò)自行學(xué)習(xí)。因?yàn)檫@些神經(jīng)元可能會得到任意的值锚贱,我們反復(fù)地在輸入和輸出神經(jīng)元之間來回地進(jìn)行計算仔戈。激活函數(shù)的激活受全局溫度的控制,如果全局溫度降低了拧廊,那么神經(jīng)元的能量也會相應(yīng)地降低监徘。這個能量上的降低導(dǎo)致了它們激活模式的穩(wěn)定。在正確的溫度下吧碾,這個網(wǎng)絡(luò)會抵達(dá)一個平衡狀態(tài)凰盔。

受限玻爾茲曼機(jī)(RBM)

受限玻爾茲曼機(jī)(RBM:Restricted Boltzmann machines)與BM出奇地相似,因而也同HN相似倦春。

它們的最大區(qū)別在于:RBM更具實(shí)用價值户敬,因?yàn)樗鼈兪艿搅烁嗟南拗啤K鼈儾粫S意在所有神經(jīng)元間建立連接睁本,而只在不同神經(jīng)元群之間建立連接尿庐,因此任何輸入神經(jīng)元都不會同其他輸入神經(jīng)元相連,任何隱神經(jīng)元也不會同其他隱神經(jīng)元相連呢堰。

RBM的訓(xùn)練方式就像稍微修改過的FFNN:前向通過數(shù)據(jù)之后再將這些數(shù)據(jù)反向傳回(回到第一層)抄瑟,而非前向通過數(shù)據(jù)然后反向傳播誤差。之后枉疼,再使用前向和反向傳播進(jìn)行訓(xùn)練皮假。

自編碼機(jī)(AE)

自編碼機(jī)(AE:Autoencoders)和FFNN有些相近,因?yàn)樗袷荈FNN的另一種用法骂维,而非本質(zhì)上完全不同的另一種架構(gòu)惹资。

自編碼機(jī)的基本思想是自動對信息進(jìn)行編碼(像壓縮一樣,而非加密)航闺,它也因此而得名褪测。整個網(wǎng)絡(luò)的形狀酷似一個沙漏計時器,中間的隱含層較小,兩邊的輸入層汰扭、輸出層較大稠肘。自編碼機(jī)總是對稱的,以中間層(一層還是兩層取決于神經(jīng)網(wǎng)絡(luò)層數(shù)的奇偶)為軸萝毛。最小的層(一層或者多層)總是在中間项阴,在這里信息壓縮程度最大(整個網(wǎng)絡(luò)的關(guān)隘口)。在中間層之前為編碼部分笆包,中間層之后為解碼部分环揽,中間層則是編碼部分。

自編碼機(jī)可用反向傳播算法進(jìn)行訓(xùn)練庵佣,給定輸入歉胶,將誤差設(shè)為輸入和輸出之差。自編碼機(jī)的權(quán)重也是對稱的巴粪,因此編碼部分權(quán)重與解碼部分權(quán)重完全一樣通今。

稀疏自編碼機(jī)(SAE)

稀疏自編碼機(jī)(SAE:Sparse autoencoders)某種程度上同自編碼機(jī)相反。稀疏自編碼機(jī)不是用更小的空間表征大量信息肛根,而是把原本的信息編碼到更大的空間內(nèi)辫塌。因此,中間層不是收斂派哲,而是擴(kuò)張臼氨,然后再還原到輸入大小。它可以用于提取數(shù)據(jù)集內(nèi)的小特征芭届。

如果用訓(xùn)練自編碼機(jī)的方式來訓(xùn)練稀疏自編碼機(jī)储矩,幾乎所有的情況,都是得到毫無用處的恒等網(wǎng)絡(luò)(輸入=輸出褂乍,沒有任何形式的變換或分解)持隧。為避免這種情況,需要在反饋輸入中加上稀疏驅(qū)動數(shù)據(jù)树叽。稀疏驅(qū)動的形式可以是閾值過濾舆蝴,這樣就只有特定的誤差才會反向傳播用于訓(xùn)練,而其它的誤差則被忽略為0题诵,不會用于反向傳播。這很像脈沖神經(jīng)網(wǎng)絡(luò)(并不是所有的神經(jīng)元一直都會輸出)层皱。

變分自編碼機(jī)(VAE)

變分自編碼機(jī)(VAE:Variational autoencoders)和AE有著相同的架構(gòu)性锭,卻被教會了不同的事情:輸入樣本的一個近似概率分布,這讓它跟BM叫胖、RBM更相近草冈。

不過,VAE卻依賴于貝葉斯理論來處理概率推斷和獨(dú)立(probabilistic inference and independence),以及重新參數(shù)化(re-parametrisation)來進(jìn)行不同的表征怎棱。推斷和獨(dú)立非常直觀哩俭,但卻依賴于復(fù)雜的數(shù)學(xué)理論∪担基本原理是:把影響納入考慮凡资。如果在一個地方發(fā)生了一件事情,另外一件事情在其它地方發(fā)生了谬运,它們不一定就是關(guān)聯(lián)在一起的隙赁。如果它們不相關(guān),那么誤差傳播應(yīng)該考慮這個因素梆暖。這是一個有用的方法伞访,因?yàn)樯窠?jīng)網(wǎng)絡(luò)是一個非常大的圖表,如果你能在某些節(jié)點(diǎn)排除一些來自于其它節(jié)點(diǎn)的影響轰驳,隨著網(wǎng)絡(luò)深度地增加厚掷,這將會非常有用。

去噪自編碼機(jī)(DAE)

去噪自編碼機(jī)(DAE:Denoising autoencoders)是一種自編碼機(jī)级解,它的訓(xùn)練過程冒黑,不僅要輸入數(shù)據(jù),還有再加上噪音數(shù)據(jù)(就好像讓圖像變得更加模糊一樣)蠕趁。

但在計算誤差的時候跟自動編碼機(jī)一樣薛闪,降噪自動編碼機(jī)的輸出也是和原始的輸入數(shù)據(jù)進(jìn)行對比。這種形式的訓(xùn)練旨在鼓勵降噪自編碼機(jī)不要去學(xué)習(xí)細(xì)節(jié)俺陋,而是一些更加宏觀的特征豁延,因?yàn)榧?xì)微特征受到噪音的影響,學(xué)習(xí)細(xì)微特征得到的模型最終表現(xiàn)出來的性能總是很差腊状。

深度信念網(wǎng)絡(luò)(DBN)

深度信念網(wǎng)絡(luò)(DBN:Deep belief networks)之所以取這個名字诱咏,是由于它本身幾乎是由多個受限玻爾茲曼機(jī)或者變分自編碼機(jī)堆砌而成。

實(shí)踐表明一層一層地對這種類型的神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練非常有效缴挖,這樣每一個自編碼機(jī)或者受限玻爾茲曼機(jī)只需要學(xué)習(xí)如何編碼前一神經(jīng)元層的輸出袋狞。這種訓(xùn)練技術(shù)也被稱為貪婪訓(xùn)練,這里貪婪的意思是通過不斷地獲取局部最優(yōu)解映屋,最終得到一個相當(dāng)不錯解(但可能不是全局最優(yōu)的)苟鸯。可以通過對比散度算法或者反向傳播算法進(jìn)行訓(xùn)練棚点,它會慢慢學(xué)著以一種概率模型來表征數(shù)據(jù)早处,就好像常規(guī)的自編碼機(jī)或者受限玻爾茲曼機(jī)。一旦經(jīng)過非監(jiān)督式學(xué)習(xí)方式瘫析,訓(xùn)練或者收斂到了一個穩(wěn)定的狀態(tài)砌梆,那么這個模型就可以用來產(chǎn)生新的數(shù)據(jù)默责。如果以對比散度算法進(jìn)行訓(xùn)練,那么它甚至可以用于區(qū)分現(xiàn)有的數(shù)據(jù)咸包,因?yàn)槟切┥窠?jīng)元已經(jīng)被引導(dǎo)來獲取數(shù)據(jù)的不同特定桃序。

卷積神經(jīng)網(wǎng)絡(luò)(CNN)

卷積神經(jīng)網(wǎng)絡(luò)(CNN:Convolutional neural networks)或深度卷積神經(jīng)網(wǎng)絡(luò)(DCNN:deep convolutional neural networks)跟其它類型的神經(jīng)網(wǎng)絡(luò)大有不同。它們主要用于處理圖像數(shù)據(jù)烂瘫,但可用于其它形式數(shù)據(jù)的處理媒熊,如語音數(shù)據(jù)。對于卷積神經(jīng)網(wǎng)絡(luò)來說忱反,一個典型的應(yīng)用就是給它輸入一個圖像泛释,而后它會給出一個分類結(jié)果。也就是說温算,如果你給它一張貓的圖像怜校,它就輸出“貓”;如果你給一張狗的圖像注竿,它就輸出“狗”茄茁。

卷積神經(jīng)網(wǎng)絡(luò)是從一個數(shù)據(jù)掃描層開始,這種形式的處理并沒有嘗試在一開始就解析整個訓(xùn)練數(shù)據(jù)巩割。比如:對于一個大小為200X200像素的圖像裙顽,你不會想構(gòu)建一個40000個節(jié)點(diǎn)的神經(jīng)元層。而是宣谈,構(gòu)建一個20X20像素的輸入掃描層愈犹,然后,把原始圖像第一部分的20X20像素圖像(通常是從圖像的左上方開始)輸入到這個掃描層闻丑。當(dāng)這部分圖像(可能是用于進(jìn)行卷積神經(jīng)網(wǎng)絡(luò)的訓(xùn)練)處理完漩怎,你會接著處理下一部分的20X20像素圖像:逐漸(通常情況下是移動一個像素,但是嗦嗡,移動的步長是可以設(shè)置的)移動掃描層勋锤,來處理原始數(shù)據(jù)。

注意

你不是一次性移動掃描層20個像素(或其它任何掃描層大小的尺度)侥祭,也不是把原始圖像切分成20X20像素的圖像塊叁执,而是用掃描層在原始圖像上滑過。這個輸入數(shù)據(jù)(20X20像素的圖像塊)緊接著被輸入到卷積層矮冬,而非常規(guī)的神經(jīng)細(xì)胞層——卷積層的節(jié)點(diǎn)不是全連接谈宛。每一個輸入節(jié)點(diǎn)只會和最近的那個神經(jīng)元節(jié)點(diǎn)連接(至于多近要取決于具體的實(shí)現(xiàn),但通常不會超過幾個)胎署。

這些卷積層會隨著深度的增加而逐漸變腥胝酢:大多數(shù)情況下,會按照輸入層數(shù)量的某個因子縮邢跖 (比如:20個神經(jīng)元的卷積層径筏,后面是10個神經(jīng)元的卷積層,再后面就是5個神經(jīng)元的卷積層)障陶。2的n次方(32,16, 8, 4, 2, 1)也是一個非常常用的因子滋恬,因?yàn)樗鼈冊诙x上可以簡潔且完整地除盡。除了卷積層抱究,池化層(pooling layers)也非常重要恢氯。

池化是一種過濾掉細(xì)節(jié)的方式:一種常用的池化方式是最大池化,比如用2X2的像素鼓寺,然后取四個像素中值最大的那個傳遞勋拟。為了讓卷積神經(jīng)網(wǎng)絡(luò)處理語音數(shù)據(jù),需要把語音數(shù)據(jù)切分妈候,一段一段輸入敢靡。在實(shí)際應(yīng)用中,通常會在卷積神經(jīng)網(wǎng)絡(luò)后面加一個前饋神經(jīng)網(wǎng)絡(luò)苦银,以進(jìn)一步處理數(shù)據(jù)啸胧,從而對數(shù)據(jù)進(jìn)行更高水平的非線性抽象。

解卷積網(wǎng)絡(luò)(DN)

解卷積網(wǎng)絡(luò)(DN:Deconvolutional networks)幔虏,又稱為逆圖形網(wǎng)絡(luò)(IGNs:inverse graphics networks)纺念,是逆向的卷積神經(jīng)網(wǎng)絡(luò)。

想象一下想括,給一個神經(jīng)網(wǎng)絡(luò)輸入一個“貓”的詞陷谱,就可以生成一個像貓一樣的圖像,通過比對它和真實(shí)的貓的圖片來進(jìn)行訓(xùn)練瑟蜈。跟常規(guī)CNN一樣烟逊,DN也可以結(jié)合FFNN使用,但沒必要為這個新的縮寫重新做圖解釋踪栋。它們可被稱為深度解卷積網(wǎng)絡(luò)焙格,但把FFNN放到DNN前面和后面是不同的,那是兩種架構(gòu)(也就需要兩個名字)夷都,對于是否需要兩個不同的名字你們可能會有爭論眷唉。需要注意的是,絕大多數(shù)應(yīng)用都不會把文本數(shù)據(jù)直接輸入到神經(jīng)網(wǎng)絡(luò)囤官,而是用二元輸入向量冬阳。比如<0,1>代表貓,<1,0>代表狗党饮,<1,1>代表貓和狗肝陪。

CNN的池化層往往也是被對應(yīng)的逆向操作替換了,主要是插值和外推(基于一個基本的假設(shè):如果一個池化層使用了最大池化刑顺,你可以在逆操作的時候生成一些相對于最大值更小的數(shù)據(jù))氯窍。

深度卷積逆向圖網(wǎng)絡(luò)(DCIGN)

深度卷積逆向圖網(wǎng)絡(luò)(DCIGN:Deep convolutional inverse graphics networks)饲常,這個名字具有誤導(dǎo)性,因?yàn)樗鼈儗?shí)際上是VAE狼讨,但分別用CNN贝淤、DNN來作編碼和解碼的部分。

這些網(wǎng)絡(luò)嘗試在編碼過程中對“特征“進(jìn)行概率建模政供,這樣一來播聪,你只要用貓和狗的獨(dú)照,就能讓它們生成一張貓和狗的合照布隔。同理离陶,你可以輸入一張貓的照片,如果貓旁邊有一只惱人的鄰家狗衅檀,你可以讓它們把狗去掉招刨。很多演示表明,這種類型的網(wǎng)絡(luò)能學(xué)會基于圖像的復(fù)雜變換术吝,比如燈光強(qiáng)弱的變化计济、3D物體的旋轉(zhuǎn)。一般也是用反向傳播算法來訓(xùn)練此類網(wǎng)絡(luò)排苍。

生成式對抗網(wǎng)絡(luò)(GAN)

生成式對抗網(wǎng)絡(luò)(GAN:Generative adversarial networks)是一類不同的網(wǎng)絡(luò)沦寂,它們有一對“雙胞胎”:兩個網(wǎng)絡(luò)協(xié)同工作。

GAN可由任意兩種網(wǎng)絡(luò)組成(但通常是FF和CNN)淘衙,其中一個用于生成內(nèi)容传藏,另一個則用于鑒別生成的內(nèi)容

鑒別網(wǎng)絡(luò)(discriminating network)同時接收訓(xùn)練數(shù)據(jù)和生成網(wǎng)絡(luò)(generative network)生成的數(shù)據(jù)彤守。鑒別網(wǎng)絡(luò)的準(zhǔn)確率毯侦,被用作生成網(wǎng)絡(luò)誤差的一部分。這就形成了一種競爭:鑒別網(wǎng)絡(luò)越來越擅長于區(qū)分真實(shí)的數(shù)據(jù)和生成數(shù)據(jù)具垫,而生成網(wǎng)絡(luò)也越來越善于生成難以預(yù)測的數(shù)據(jù)侈离。這種方式非常有效,部分是因?yàn)椋杭幢阆喈?dāng)復(fù)雜的類噪音模式最終都是可預(yù)測的筝蚕,但跟輸入數(shù)據(jù)有著極為相似特征的生成數(shù)據(jù)卦碾,則很難區(qū)分。

訓(xùn)練GAN極具挑戰(zhàn)性起宽,因?yàn)槟悴粌H要訓(xùn)練兩個神經(jīng)網(wǎng)絡(luò)(其中的任何一個都會出現(xiàn)它自己的問題)洲胖,同時還要平衡兩者的運(yùn)行機(jī)制。如果預(yù)測或生成相比對方表現(xiàn)得過好坯沪,這個GAN就不會收斂绿映,因?yàn)樗鼤?nèi)部發(fā)散。

循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)

循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN:Recurrent neural networks)是具有時間聯(lián)結(jié)的前饋神經(jīng)網(wǎng)絡(luò):它們有了狀態(tài)腐晾,通道與通道之間有了時間上的聯(lián)系叉弦。神經(jīng)元的輸入信息丐一,不僅包括前一神經(jīng)細(xì)胞層的輸出,還包括它自身在先前通道的狀態(tài)卸奉。

這就意味著:你的輸入順序?qū)绊懮窠?jīng)網(wǎng)絡(luò)的訓(xùn)練結(jié)果:相比先輸入“曲奇餅”再輸入“牛奶”钝诚,先輸入“牛奶”再輸入“曲奇餅”后,或許會產(chǎn)生不同的結(jié)果榄棵。RNN存在一大問題:梯度消失(或梯度爆炸,這取決于所用的激活函數(shù))潘拱,信息會隨時間迅速消失疹鳄,正如FFNN會隨著深度的增加而失去信息一樣。

直覺上芦岂,這不算什么大問題瘪弓,因?yàn)檫@些都只是權(quán)重,而非神經(jīng)元的狀態(tài)禽最,但隨時間變化的權(quán)重正是來自過去信息的存儲腺怯;如果權(quán)重是0或1000000,那之前的狀態(tài)就不再有信息價值川无。

原則上呛占,RNN可以在很多領(lǐng)域使用,因?yàn)榇蟛糠謹(jǐn)?shù)據(jù)在形式上不存在時間線的變化懦趋,(不像語音或視頻)晾虑,它們能以某種序列的形式呈現(xiàn)出來。一張圖片或一段文字可以一個像素或者一個文字地進(jìn)行輸入仅叫,因此帜篇,與時間相關(guān)的權(quán)重描述了該序列前一步發(fā)生了什么,而不是多少秒之前發(fā)生了什么诫咱。一般來說笙隙,循環(huán)神經(jīng)網(wǎng)絡(luò)是推測或補(bǔ)全信息很好的選擇,比如自動補(bǔ)全坎缭。

長短期記憶(LSTM)

長短期記憶(LSTM:Long / short term memory)網(wǎng)絡(luò)試圖通過引入門結(jié)構(gòu)與明確定義的記憶單元來解決梯度消失/爆炸的問題竟痰。

這更多的是受電路圖設(shè)計的啟發(fā),而非生物學(xué)上某種和記憶相關(guān)機(jī)制幻锁。每個神經(jīng)元都有一個記憶單元和三個門:輸入門凯亮、輸出門、遺忘門哄尔。這三個門的功能就是通過禁止或允許信息流動來保護(hù)信息假消。

輸入門決定了有多少前一神經(jīng)細(xì)胞層的信息可留在當(dāng)前記憶單元,輸出層在另一端決定下一神經(jīng)細(xì)胞層能從當(dāng)前神經(jīng)元獲取多少信息岭接。遺忘門乍看很奇怪富拗,但有時候遺忘部分信息是很有用的:比如說它在學(xué)習(xí)一本書臼予,并開始學(xué)一個新的章節(jié),那遺忘前面章節(jié)的部分角色就很有必要了啃沪。

實(shí)踐證明粘拾,LSTM可用來學(xué)習(xí)復(fù)雜的序列,比如像莎士比亞一樣寫作创千,或創(chuàng)作全新的音樂缰雇。值得注意的是,每一個門都對前一神經(jīng)元的記憶單元賦有一個權(quán)重追驴,因此會需要更多的計算資源械哟。

門循環(huán)單元(GRU)

門循環(huán)單元(GRU : Gated recurrent units)是LSTM的一種輕量級變體。它們少了一個門殿雪,同時連接方式也稍有不同:它們采用了一個更新門(update gate)暇咆,而非LSTM所用的輸入門、輸出門丙曙、遺忘門爸业。

更新門決定了保留多少上一個狀態(tài)的信息,還決定了收取多少來自前一神經(jīng)細(xì)胞層的信息亏镰。重置門(reset gate)跟LSTM遺忘門的功能很相似扯旷,但它存在的位置卻稍有不同。它們總是輸出完整的狀態(tài)拆挥,沒有輸出門薄霜。多數(shù)情況下,它們跟LSTM類似纸兔,但最大的不同是:GRU速度更快惰瓜、運(yùn)行更容易(但函數(shù)表達(dá)力稍弱)装盯。

在實(shí)踐中曲稼,這里的優(yōu)勢和劣勢會相互抵消:當(dāng)你你需要更大的網(wǎng)絡(luò)來獲取函數(shù)表達(dá)力時下面,這樣反過來碟案,性能優(yōu)勢就被抵消了上岗。在不需要額外的函數(shù)表達(dá)力時棉饶,GRU的綜合性能要好于LSTM垦页。

神經(jīng)圖靈機(jī)(NTM)

神經(jīng)圖靈機(jī)(NTM: Neural Turing machines)可以理解為對LSTM的抽象紊册,它試圖把神經(jīng)網(wǎng)絡(luò)去黑箱化(以窺探其內(nèi)部發(fā)生的細(xì)節(jié))赋续。

NTM不是把記憶單元設(shè)計在神經(jīng)元內(nèi)男翰,而是分離出來。NTM試圖結(jié)合常規(guī)數(shù)字信息存儲的高效性纽乱、永久性與神經(jīng)網(wǎng)絡(luò)的效率及函數(shù)表達(dá)能力蛾绎。它的想法是設(shè)計一個可作內(nèi)容尋址的記憶庫,并讓神經(jīng)網(wǎng)絡(luò)對其進(jìn)行讀寫操作。NTM名字中的“圖靈(Turing)”是表明租冠,它是圖靈完備(Turing complete)的鹏倘,即具備基于它所讀取的內(nèi)容來讀取、寫入顽爹、修改狀態(tài)的能力纤泵,也就是能表達(dá)一個通用圖靈機(jī)所能表達(dá)的一切。

BiRNN镜粤、BiLSTM捏题、BiGRU

雙向循環(huán)神經(jīng)網(wǎng)絡(luò)(BiRNN:Bidirectional recurrent neural networks)、雙向長短期記憶網(wǎng)絡(luò)(BiLSTM:bidirectional long / short term memory networks?)和雙向門控循環(huán)單元(BiGRU:bidirectional gated recurrent units)在圖表中并未呈現(xiàn)出來繁仁,因?yàn)樗鼈兛雌饋砼c其對應(yīng)的單向神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)一樣涉馅。

所不同的是,這些網(wǎng)絡(luò)不僅與過去的狀態(tài)有連接黄虱,而且與未來的狀態(tài)也有連接。比如庸诱,通過一個一個地輸入字母捻浦,訓(xùn)練單向的LSTM預(yù)測“魚(fish)”(在時間軸上的循環(huán)連接記住了過去的狀態(tài)值)。在BiLSTM的反饋通路輸入序列中的下一個字母桥爽,這使得它可以了解未來的信息是什么朱灿。這種形式的訓(xùn)練使得該網(wǎng)絡(luò)可以填充信息之間的空白,而不是預(yù)測信息钠四。因此盗扒,它在處理圖像時不是擴(kuò)展圖像的邊界,而是填補(bǔ)一張圖片中的缺失缀去。

深度殘差網(wǎng)絡(luò)(DRN)

深度殘差網(wǎng)絡(luò)(DRN: Deep residual networks)是非常深的FFNN網(wǎng)絡(luò)侣灶,它有一種特殊的連接,可以把信息從某一神經(jīng)細(xì)胞層傳至后面幾層(通常是2到5層)缕碎。

該網(wǎng)絡(luò)的目的不是要找輸入數(shù)據(jù)與輸出數(shù)據(jù)之間的映射褥影,而是致力于構(gòu)建輸入數(shù)據(jù)與輸出數(shù)據(jù)+輸入數(shù)據(jù)之間的映射函數(shù)。本質(zhì)上咏雌,它在結(jié)果中增加一個恒等函數(shù)凡怎,并跟前面的輸入一起作為后一層的新輸入。結(jié)果表明赊抖,當(dāng)層數(shù)超過150后统倒,這一網(wǎng)絡(luò)將非常擅于學(xué)習(xí)模式,這比常規(guī)的2到5層要多得多氛雪。然而房匆,有證據(jù)表明這些網(wǎng)絡(luò)本質(zhì)上只是沒有時間結(jié)構(gòu)的RNN,它們總是與沒有門結(jié)構(gòu)的LSTM相提并論。

回聲狀態(tài)網(wǎng)絡(luò)(ESN)

回聲狀態(tài)網(wǎng)絡(luò)(ESN:Echo state networks)是另一種不同類型的(循環(huán))網(wǎng)絡(luò)坛缕。

它的不同之處在于:神經(jīng)元之間的連接是隨機(jī)的(沒有整齊劃一的神經(jīng)細(xì)胞層)墓猎,其訓(xùn)練過程也有所不同。不同于輸入數(shù)據(jù)后反向傳播誤差赚楚,ESN先輸入數(shù)據(jù)毙沾、前饋、而后更新神經(jīng)元狀態(tài)宠页,最后來觀察結(jié)果左胞。它的輸入層和輸出層在這里扮演的角色不太常規(guī),輸入層用來主導(dǎo)網(wǎng)絡(luò)举户,輸出層作為激活模式的觀測器隨時間展開烤宙。在訓(xùn)練過程中,只有觀測和隱藏單元之間連接會被改變俭嘁。

極限學(xué)習(xí)機(jī)(ELM)

極限學(xué)習(xí)機(jī)(ELM:Extreme learning machines)本質(zhì)上是擁有隨機(jī)連接的FFNN躺枕。

它們與LSM、ESN極為相似供填,除了循環(huán)特征和脈沖性質(zhì)拐云,它們還不使用反向傳播。相反近她,它們先給權(quán)重設(shè)定隨機(jī)值叉瘩,然后根據(jù)最小二乘法擬合來一次性訓(xùn)練權(quán)重(在所有函數(shù)中誤差最小)粘捎。這使ELM的函數(shù)擬合能力較弱薇缅,但其運(yùn)行速度比反向傳播快多了。

液態(tài)機(jī)(LSM)

液態(tài)機(jī)(LSM:Liquid state machines)換湯不換藥攒磨,跟ESN同樣相近泳桦。

區(qū)別在于,LSM是一種脈沖神經(jīng)網(wǎng)絡(luò)(spiking neural networks)咧纠,用閾值激活函數(shù)(threshold functions)取代了sigmoid激活函數(shù)蓬痒,每個神經(jīng)元同時也是具有累加性質(zhì)的記憶單元。因此漆羔,當(dāng)神經(jīng)元狀態(tài)更新時梧奢,其值不是相鄰神經(jīng)元的累加值,而是它自身狀態(tài)值的累加演痒。一旦累加到閾值亲轨,它就釋放能量至其它神經(jīng)元。這就形成了一種類似于脈沖的模式:神經(jīng)元不會進(jìn)行任何操作鸟顺,直至到達(dá)閾值的那一刻惦蚊。

支持向量機(jī)(SVM)

支持向量機(jī)(SVM:Support vector machines)能為分類問題找出最優(yōu)方案器虾。

傳統(tǒng)意義上,它們只能處理線性可分的數(shù)據(jù)蹦锋;比如找出哪張圖片是加菲貓兆沙、哪張是史努比,此外就無法做其它輸出了莉掂。

訓(xùn)練過程中葛圃,SVM可以理解為:先在平面圖表上標(biāo)繪所有數(shù)據(jù)(加菲貓、史努比)憎妙,然后找出到那條能夠最好區(qū)分這兩類數(shù)據(jù)點(diǎn)的線库正。這條線能把數(shù)據(jù)分為兩部分,線的這邊全是史努比厘唾,線的那邊全是加菲貓褥符。而后移動并優(yōu)化該直線,令兩邊數(shù)據(jù)點(diǎn)到直線的距離最大化抚垃。分類新的數(shù)據(jù)喷楣,則將該數(shù)據(jù)點(diǎn)畫在這個圖表上,然后察看這個數(shù)據(jù)點(diǎn)在分隔線的哪一邊(史努比一側(cè)鹤树,還是加菲貓一側(cè))抡蛙。

通過使用核方法,SVM便可用來分類n維空間的數(shù)據(jù)魂迄。這就引出了在3維空間中標(biāo)繪數(shù)據(jù)點(diǎn),從而讓SVM可以區(qū)分史努比惋耙、加菲貓與西蒙捣炬,甚至在更高的維度對更多卡通人物進(jìn)行分類。SVM并不總被視為神經(jīng)網(wǎng)絡(luò)绽榛。

Kohonen 網(wǎng)絡(luò)

最后湿酸,我們來介紹一下Kohonen網(wǎng)絡(luò)(KN,也稱之為自組織(特征)映射(SOM/SOFM:self organising (feature) map))灭美。

KN利用競爭學(xué)習(xí)來對數(shù)據(jù)進(jìn)行分類推溃,不需要監(jiān)督。先給神經(jīng)網(wǎng)絡(luò)一個輸入届腐,而后它會評估哪個神經(jīng)元最匹配該輸入铁坎。然后這個神經(jīng)元會繼續(xù)調(diào)整以更好地匹配輸入數(shù)據(jù),同時帶動相鄰的神經(jīng)元犁苏。相鄰神經(jīng)元移動的距離硬萍,取決于它們與最佳匹配單元之間的距離。KN有時也不被認(rèn)為是神經(jīng)網(wǎng)絡(luò)围详。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末朴乖,一起剝皮案震驚了整個濱河市祖屏,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌买羞,老刑警劉巖袁勺,帶你破解...
    沈念sama閱讀 207,248評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異畜普,居然都是意外死亡期丰,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,681評論 2 381
  • 文/潘曉璐 我一進(jìn)店門漠嵌,熙熙樓的掌柜王于貴愁眉苦臉地迎上來咐汞,“玉大人,你說我怎么就攤上這事儒鹿』海” “怎么了?”我有些...
    開封第一講書人閱讀 153,443評論 0 344
  • 文/不壞的土叔 我叫張陵约炎,是天一觀的道長植阴。 經(jīng)常有香客問我,道長圾浅,這世上最難降的妖魔是什么掠手? 我笑而不...
    開封第一講書人閱讀 55,475評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮狸捕,結(jié)果婚禮上喷鸽,老公的妹妹穿的比我還像新娘。我一直安慰自己灸拍,他們只是感情好做祝,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,458評論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著鸡岗,像睡著了一般混槐。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上轩性,一...
    開封第一講書人閱讀 49,185評論 1 284
  • 那天声登,我揣著相機(jī)與錄音,去河邊找鬼揣苏。 笑死悯嗓,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的舒岸。 我是一名探鬼主播绅作,決...
    沈念sama閱讀 38,451評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼蛾派!你這毒婦竟也來了俄认?” 一聲冷哼從身側(cè)響起个少,我...
    開封第一講書人閱讀 37,112評論 0 261
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎眯杏,沒想到半個月后夜焦,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,609評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡岂贩,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,083評論 2 325
  • 正文 我和宋清朗相戀三年茫经,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片萎津。...
    茶點(diǎn)故事閱讀 38,163評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡卸伞,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出锉屈,到底是詐尸還是另有隱情荤傲,我是刑警寧澤,帶...
    沈念sama閱讀 33,803評論 4 323
  • 正文 年R本政府宣布颈渊,位于F島的核電站遂黍,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏俊嗽。R本人自食惡果不足惜雾家,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,357評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望绍豁。 院中可真熱鬧芯咧,春花似錦、人聲如沸竹揍。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,357評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽鬼佣。三九已至,卻和暖如春霜浴,著一層夾襖步出監(jiān)牢的瞬間晶衷,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,590評論 1 261
  • 我被黑心中介騙來泰國打工阴孟, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留晌纫,地道東北人。 一個月前我還...
    沈念sama閱讀 45,636評論 2 355
  • 正文 我出身青樓永丝,卻偏偏與公主長得像锹漱,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子慕嚷,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,925評論 2 344

推薦閱讀更多精彩內(nèi)容

  • 這是無意看到的一本書哥牍,卻因?yàn)榕d趣使然花了半個月把它看完了毕泌。 在書中,可以看到二戰(zhàn)時期的無奈與悲哀嗅辣,可以看到背井離鄉(xiāng)...
    陳園閱讀 916評論 0 1
  • 上一篇文章 簡書首頁數(shù)據(jù)抓取的答疑 撼泛,分析了在抓取簡書首頁時的問題,還有一些小的細(xì)節(jié)需要注意澡谭。 一愿题、Scrapy:...
    向右奔跑閱讀 975評論 0 5
  • 文&圖/麥子 下課了,走出教室蛙奖,一眼就望見那陽光下迎面而來的少年潘酗。 我說“你看那落日美不美” 你說“落日雖美不及你”
    昩上花開閱讀 921評論 0 0