神經網絡基礎:七種網絡單元,四種層連接方式

2020-12-04 機器之心Pro

選自THE ASIMOV INSTITUTE作者:FJODOR VAN VEEN機器之心編譯參與:黃小天、李亞洲

2016 年 9 月,Fjodor Van Veen 寫了一篇名為《The Neural Network Zoo》的文章,全面盤點了神經網絡的大量框架,並繪製了直觀示意圖進行說明。近日,他又發表了一篇題為《The Neural Network Zoo Prequel:Cells and Layers》文章,該文是其上篇文章的前篇,對於文中涉及但沒有深入展開的神經網絡的單元與層的部分再次做了一個圖文並茂的介紹。機器之心對該文進行了編譯,原文連結見文末。

Cell(單元)

《The Neural Network Zoo》一文展示了不同類型的單元和不同的層連接風格,但並沒有深入探討每個單元類型是如何工作的。大量的單元類型擁有彼此不同的顏色,從而更清晰地區分網絡,但是自此之後我發現這些單元的工作方式大同小異,下面我對每個單元逐一描述。

基本的神經網絡單元,屬於常規性前饋架構之中的類型,且相當簡單。單元通過權重與其他神經元相連接,即,它可以連接到前一層的所有神經元。每個連接有其自身的權重,在開始時它常常是一個隨機數。一個權重可以是負數、正數、小值、大值或者為 0。它連接的每一個單元值被其各自的連接權重相乘,得到的結果值全部相加。在其頂部,也會相加一個偏置項。偏置項可以防止單元陷入零點輸出(outputting zero),加速其操作,並減少解決問題所需的神經元數量。偏置項也是一個數,有時是常數(通常是 -1 或 1),有時是變量。這一總和接著傳遞至激活函數,得到的結果值即是單元值。

卷積單元和前饋單元很像,除了前者通常連接到前一層的僅僅少數幾個神經元之外。它們常用於保護空間信息,因為其連接到的不是少數幾個隨機單元,而是一定距離內的所有單元。這使得它們很適合處理帶有大量局部信息的數據,比如圖像和音頻(但大部分是圖像)。解卷積單元與卷積單元相反:前者傾向於通過局部連接到下一層來解碼空間信息。兩個單元通常有獨自訓練的克隆(clone),每個克隆各有其權重,並以相同的方式相互連接。這些克隆可被看做具有相同結構的分離網絡。兩者本質上和常規單元相同,但是使用不同。

池化和內插單元(interpolating cell)頻繁地與卷積單元相連接。這些單元實際上並不是單元,而是原始操作。池化單元接收輸入的連接並決定哪些連接獲得通過。在圖像中,這可被看做是縮小圖片。你再也看不到所有的像素,並且它不得不學習哪些像素應該保留哪些捨棄。內插單元執行相反的操作,它們接收一些信息並將其映射到更多的信息。額外信息是組成的,就像放大一個低解析度圖片一樣。內插單元不是池化單元唯一的反轉操作,但是二者相對來講比較普遍,因為其實現快速而簡單。它們各自連接,這很像卷積與解卷積。

平均值與標準差單元(幾乎完全是作為概率性單元被成對發現)用於表徵概率分布。平均值就是平均值,標準差是指在兩個方向上能偏離這個平均值有多遠。例如,一個用於圖像的概率 cell 可以包含一個特定像素上有多少紅色的信息。比如說平均值為 0.5,標準差為 0.2。當從這些概率單元中取樣時,需要在高斯隨機數生成器中輸入這些值,值在 0.4 到 0.6 之間的為可能性相當大的結果;那些遠離 0.5 的值可能性則很低(但依然有可能)。平均值與標準差 cell 經常全連接到前一層或下一層,並且沒有偏差。

循環單元不僅連接到層,並且隨著時間推移還會有連接。每個單元內部存儲有先前的值。它們就像基本單元一樣被更新,但是帶有額外的權重:連接到單元的先前值,並且絕大部分時間也連接到同一層的所有單元。當前值和存儲的先前值之間的這些權重更像是一個易失性存儲器(a volatile memory),就像 RAM,接收擁有一個特定「狀態」的屬性,同時如果沒被饋送則消失。由於先前值被傳遞到激活函數,並且通過激活函數每一個更新傳遞這個激活的值連帶其他的權重,所以信息將不斷丟失。事實上,保留率是如此之低,以至於在 4 至 5 次迭代之後,幾乎所有的信息都丟失了。

長短期記憶單元用於解決發生在循環單元中信息快速丟失的問題。LSTM 單元是邏輯迴路,複製了為電腦設計內存單元的方式。相較於存儲兩個狀態的 RNN 單元,LSTM 單元可存儲四個:輸出的當前值和最終值,以及「內存單元」狀態的當前值和最終值。LSTM 單元包含三個「門」:輸入門、輸出門、遺忘門,並且也僅包含常規輸入。這些門中每一個各有其權重,這意味著連接到這種類型的 cell 需要設置四個權重(而不是僅僅一個)。門函數很像流門(flow gate),而不像柵門(fence gates):它們可以讓任何東西通過,只是一點點,沒有,或者之間的任何。這通過與值在 0 到 1(儲存在這一門值中)之間的輸入信息相乘而發揮作用。輸入門接著決定有多少輸入可被加入到單元值中。輸出門決定有多少輸出值可通過剩餘的網絡被看到。遺忘門並不與輸出單元的先前值相連接,但卻與先前的內存單元值相連接。它決定了保留多少最終的內存單元狀態。由於它不連接到輸出,所以信息丟失更少,因為循環中沒有放置激活函數。

Gated 循環單元是 LSTM 的一種變體。它們也是用門防止信息丟失,但也就兩種門:更新門(update) 和重置門(reset)。這略微缺乏表現力,但更快。因為它們在處處都有更少的連接。其實,LSTM 和 GRU 之間有兩個不同:GRU 沒有輸出門保護的隱單元態,而是把輸入和遺忘門結合成了一個更新門。其中的思路是,如果你想要大量的新信息,可以遺忘一些舊信息(或者相反)。

將神經元連接成圖的最基礎方式是將一切相互連接,這可以在 Hopfield 網絡和玻爾茲曼機中看到。當然,這意味著連接的數量會有指數級的增長,但表現力是不折不扣的。這被稱為全連接。

而後,有人發現將網絡分成不同的層是有用的,其中一層的一系列或一組神經元之間不連接,但與其他組的神經元相連接。例如受限玻爾茲曼機中的網絡層。如今,使用層的觀念已經推廣到了任何數量的層,在幾乎所有的架構中都能看到。這也被稱為全連接(可能有點混淆),因為實際上完全連接的網絡很不常見。

卷積連接層要比全連接層更受限制:每個神經元只與其他組相近的神經元連接。圖像和音頻包含大量的信息,不能一對一地被用於直接饋送到網絡(例如,一個神經元對應一個像素)。卷積連接的思路來自於對保留重要的空間信息的觀察。結果證明,這是一個好的想法,被用於許多基於神經網絡的圖像和語音應用中。但這種設置沒有全連接層更具表達力。其實它是一種「重要性」過濾的方式,決定這些緊湊的信息數據包中哪些是重要的。卷積連接對降維也很棒。依靠其實現,及時空間上非常遠的神經元也能連接,但量程高於 4 或 5 的神經元就很少被用到了。注意,這裡的「空間」通常指代二維空間,用這種二維空間表達神經元互相連接的三維面。連接範圍在所有的維度都能被應用。

另一個選擇當然就是隨機連接神經元了(randomly connected neurons)。它也有兩個主要變體:允許一部分所有可能的連接,或者連接層之間神經元的一部分。隨機連接有利於線性地減少網絡的表現,可被用於陷入表現問題的大型網絡的全連接層。在某些情況下,有更多神經元的更稀疏的連接層表現更好,特別是當有大量的信息需要存儲,但不需要交換時(有點類似於卷積連接層的效力,但卻是隨機的)。就像 ELM、ESN 和 LSM 中看到的,非常稀疏的連接系統(1% 或 2%)也會被用到。特別是在脈衝網絡(spiking network)中,因為一個神經元有越多的連接,每個權重攜帶的能量越少,意味著越少的傳播和模式重複。

延時連接是指神經元間並非從前面的層獲得信息,而是從過去獲得信息(大部分是之前的迭代)。這使得時間信息(時間、時序)可被存儲。這類連接有時要手動重置,從而清除網絡的「state」。與常規連接的主要不同是這些連接持續在變化,甚至在網絡沒被訓練時。

下圖展示了以上描述內容的一些小樣本網絡及其連接。在不知道什麼連接什麼時,我就會使用它(特別是在做 LSTM 或 GRU cell 時):

原文連結:http://www.asimovinstitute.org/neural-network-zoo-prequel-cells-layers/

相關焦點

  • 初識人工神經網絡
    大腦中神經元細胞以一種大量複雜並行的方式連接在一起,每個神經元可能和上萬個其它神經元連接在一起;而計算機中電晶體以相對簡單的方式串聯在一起,每個電晶體可能只和兩到三個其它電晶體連接起來形成邏輯門電路。這種連接結構上的差異導致了大腦和計算機在工作方式的巨大差異。
  • 簡單圖神經網絡(GNN)的基礎知識
    在社交網絡分析等一些應用中,圖神經網絡已經得到了廣泛的應用。新加坡科技研究局(A*STAR)的研究者 Rishabh Anand 近日通過圖解的方式介紹了圖與圖神經網絡的基本概念,或許能幫助初學者更直觀地理解圖神經網絡的內涵和價值。
  • 神經網絡理論基礎及Python實現
    一、多層前向神經網絡 多層前向神經網絡由三部分組成:輸出層、隱藏層、輸出層,每層由單元組成; 輸入層由訓練集的實例特徵向量傳入,經過連接結點的權重傳入下一層,前一層的輸出是下一層的輸入;隱藏層的個數是任意的,輸入層只有一層,輸出層也只有一層; 除去輸入層之外,隱藏層和輸出層的層數和為n,則該神經網絡稱為n層神經網絡
  • 神經網絡算法原理_神經網絡算法的應用_神經網絡算法實例說明
    神經網絡是一種模擬人腦結構的算法模型。其原理就在於將信息分布式存儲和並行協同處理。雖然每個單元的功能非常簡單,但大量單元構成的網絡系統就能實現非常複雜的數據計算,並且還是一個高度複雜的非線性動力學習系統。   神經網絡的結構更接近於人腦,具有大規模並行、分布式存儲和處理、自組織、自適應和自學能力。
  • 華泰證券: 人工智慧選股之全連接神經網絡
    本報告主要介紹的全連接神經網絡是一種結構簡單、易於理解、計算效率高的模型,我們對其原理進行了形象化的描述,同時對模型結構和參數設置進行了詳細剖析,最後構建選股策略進行回測,發現全連接神經網絡選股模型的年化收益和信息比率優於線性模型。  全連接神經網絡模型一般包含輸入層、若干個隱藏層、輸出層,每層包含數目不等的節點。
  • 人工神經網絡的五大主要應用場景
    人工神經網絡(ANN)是一種被設計用來模擬人腦分析和處理信息的計算系統。它是人工智慧(AI)的基礎,解決了以人類或統計標準將被證明是不可能或很難解決的問題。人工神經網絡具有自我學習能力,能夠在獲得更多數據的前提下產生更好的結果。人腦對現實世界情境的解讀方式是計算機無法做到的。神經網絡最初是在20世紀50年代發展起來的,目的就是解決這個問題。
  • 四大深度學習框架+四類GPU+七種神經網絡:交叉性能評測
    選自add-for作者:Pedro Gusmo機器之心編譯參與:李澤南、黃小天最近,Pedro Gusmo 等人對於英偉達的四種 GPU 在四種不同深度學習框架下的性能進行了評測。本次評測共使用了 7 種用於圖像識別的深度學習模型。第一個評測對比不同 GPU 在不同神經網絡和深度學習框架下的表現。
  • 如何得出神經網絡需要多少隱藏層、每層需要多少神經元?
    在計算機科學中,借鑑了生物神經網絡的ANN用一組網絡層表示。這些網絡層可以分為三類:輸入層、隱藏層、輸出層。輸入層和輸出層的層數、大小是最容易確定的。每個網絡都有一個輸入層,一個輸出層。首先需要回答的問題,是否需要隱藏層。關於這個問題,有一條一般規則:在神經網絡中,若且唯若數據必須以非線性的方式分割時,才需要隱藏層。回到我們的例子。
  • 深度學習背後的基礎-神經網絡揭秘
    我們說, 一個神經細胞就是一個最小的認知單元, 何為認知單元, 就是把一定的數據組成起來,對它做出一個判斷, 我們可以給它看成一個具有偏好的探測器。 聯繫機器學習, 就是分類器,不停的對外界數據進行處理。為什麼要做分類? 因為正確的分類, 是認知的基礎, 也是決策的基礎。 因為認識任何概念, 往往都是離散的分類問題, 比如色彩, 物體的形狀等等。
  • 神經網絡中容易被忽視的基礎知識
    但注意,對於非線性的模型:SVM 和神經網絡走了兩條不同的道路:神經網絡通過多個隱層的方法來實現非線性的函數,有一些理論支持(比如說帶隱層的神經網絡可以模擬任何函數),但是目前而言還不是非常完備;SVM 則採用了 kernel trick 的方法,這個在理論上面比較完備(RKHS,簡單地說就是一個泛函的線性空間
  • 神經網絡模型預測值 論文_bp神經網絡預測模型建模步驟 - CSDN
    這就好像Hopfield神經網絡和玻爾茲曼機(Boltzmann machines)的連接方式。當然,這也就意味著連接數量會隨著神經元個數的增加呈指數級地增加,但是,對應的函數表達力也會越來越強。這就是所謂的全連接(completely (or fully) connected)。經歷了一段時間的發展,發現把神經網絡分解成不同的神經細胞層會非常有效。
  • 尾狀核(caudate)——神經網絡連接
    這些神經元在皮層中的分布具有嚴格的層次,大腦半球內側面的古皮層分化較簡單,一般只有三層:①分子層;②錐體細胞層;③多形細胞層。在大腦半球外側面的新皮層則分化程度較高,共有六層:①分子層(又稱帶狀層);②外顆粒層;③外錐體細胞層;④內顆粒層;⑤內錐體細胞層(又稱節細胞層);⑥多形細胞層。⒉ 皮層的深面為白質,白質內還有灰質核,這些核靠近腦底,稱為基底核(或稱基底神經節)。
  • 神經網絡原來是這樣和數學掛鈎的
    五、神經網絡上面我們考察了神經單元,它是神經元的模型化。那麼,既然大腦是由神經元構成的網絡,如果我們模仿著創建神經單元的網絡,是不是也能產生某種「智能」呢?這自然是讓人期待的。眾所周知,人們的期待沒有被辜負,由神經單元組成的網絡在人工智慧領域碩果纍纍。
  • 聊聊11種主要的神經網絡結構
    標準網絡1.感知器感知器是所有神經網絡中最基礎的,是更複雜的神經網絡的基本構建塊。 它僅連接輸入單元和輸出單元。前饋網絡前饋網絡是感知器的集合,其中存在三種基本類型的層-輸入層,隱藏層和輸出層。 在每次連接期間,來自上一層的信號乘以權重,加到偏置上,並通過激活函數。 前饋網絡使用反向傳播來迭代更新參數,直到達到理想的性能為止。
  • 人工神經網絡及其應用
    半個世紀後,生理學家 W.s.McCulloch和數學家W.A.Pitts於1943年發表了一篇神經網絡方面的著名文章。在這篇文章中,他們在已知的神經細胞生物學基礎上從信息處理的角度出發,提出形式神經元的數學模型,稱為M-P模型。該模型為開創神經學科理論研究的新時代。在1949年,心理學家Donala O.Hebb出版一本為《行為構成》的書,在書中他建立了現在被人們稱為Hebb算法的連接訓練算法。
  • 人工神經網絡四種算法,你有知道的嗎?
    人工神經網絡的許多算法已在智能信息處理系統中獲得廣泛採用,尤為突出是是以下4種算法:ART網絡、LVQ網絡、Kohonen網絡Hopfield網絡,下面就具體介紹一下這這四種算法:1.自適應諧振理論(ART)網絡
  • 人工智慧-深度學習-神經網絡結構MLP,CNN,RNN,LSTM
    卷積神經網絡通常包含以下幾種層:卷積層(Convolutional layer),卷積神經網路中每層卷積層由若干卷積單元組成,每個卷積單元的參數都是通過反向傳播算法優化得到的。具體如下圖所示,樣例輸入單元大小是32×32×3, 輸出單元的深度是5, 對於輸出單元不同深度的同一位置,與輸入圖片連接的區域是相同的,但是參數(過濾器)不同。
  • 「研究」人工神經網絡的常用連接模型
    根據神經元之間的相互結合關係和作用方式,人工神經網絡可有如下幾種典型的結合形式:(1)前向網絡:網絡的結構如圖(a),(b)所示。網絡中的神經元是分層排列的,每個神經元只與前一層的神經元相連接,隱含層的層數可以是一層或多層。
  • MAC 的可變多隱層神經網絡
    一.可變多隱層神經網絡的python實現多隱層網絡,用一個隱層網絡來逼近任何連續函數。架構由深層網絡代替單隱層,在擬合過程中可以更快地收斂歸一結果。這種神經網絡有兩個節點:1. 靈活性非常靈活,隱藏層地數目是可以設置地,隱藏層地激活函數也是可以設置地。
  • 基於憶阻器的神經網絡應用研究
    在神經形態計算的研究領域,類神經網絡與新型神經形態硬體是兩大基礎研究,在此研究基礎上,結合對生物大腦機制的愈加深入了解,最終實現人工智慧。 在類神經網絡方面,以深度學習為基礎的神經網絡研究已經普遍存在於人工智慧領域。神經網絡,即以數學模型來模擬人腦神經元及突觸的結構,並結合多層次傳導來模擬神經元的互聯結構,現如今已大量應用於人工智慧。