導航:首頁 > 網路共享 > 不同位置共享神經網路

不同位置共享神經網路

發布時間:2022-09-25 21:14:18

『壹』 神經網路演算法是什麼

Introction
--------------------------------------------------------------------------------

神經網路是新技術領域中的一個時尚詞彙。很多人聽過這個詞,但很少人真正明白它是什麼。本文的目的是介紹所有關於神經網路的基本包括它的功能、一般結構、相關術語、類型及其應用。

「神經網路」這個詞實際是來自於生物學,而我們所指的神經網路正確的名稱應該是「人工神經網路(ANNs)」。在本文,我會同時使用這兩個互換的術語。

一個真正的神經網路是由數個至數十億個被稱為神經元的細胞(組成我們大腦的微小細胞)所組成,它們以不同方式連接而型成網路。人工神經網路就是嘗試模擬這種生物學上的體系結構及其操作。在這里有一個難題:我們對生物學上的神經網路知道的不多!因此,不同類型之間的神經網路體系結構有很大的不同,我們所知道的只是神經元基本的結構。

The neuron
--------------------------------------------------------------------------------

雖然已經確認在我們的大腦中有大約50至500種不同的神經元,但它們大部份都是基於基本神經元的特別細胞。基本神經元包含有synapses、soma、axon及dendrites。Synapses負責神經元之間的連接,它們不是直接物理上連接的,而是它們之間有一個很小的空隙允許電子訊號從一個神經元跳到另一個神經元。然後這些電子訊號會交給soma處理及以其內部電子訊號將處理結果傳遞給axon。而axon會將這些訊號分發給dendrites。最後,dendrites帶著這些訊號再交給其它的synapses,再繼續下一個循環。

如同生物學上的基本神經元,人工的神經網路也有基本的神經元。每個神經元有特定數量的輸入,也會為每個神經元設定權重(weight)。權重是對所輸入的資料的重要性的一個指標。然後,神經元會計算出權重合計值(net value),而權重合計值就是將所有輸入乘以它們的權重的合計。每個神經元都有它們各自的臨界值(threshold),而當權重合計值大於臨界值時,神經元會輸出1。相反,則輸出0。最後,輸出會被傳送給與該神經元連接的其它神經元繼續剩餘的計算。

Learning
--------------------------------------------------------------------------------

正如上述所寫,問題的核心是權重及臨界值是該如何設定的呢?世界上有很多不同的訓練方式,就如網路類型一樣多。但有些比較出名的包括back-propagation, delta rule及Kohonen訓練模式。

由於結構體系的不同,訓練的規則也不相同,但大部份的規則可以被分為二大類別 - 監管的及非監管的。監管方式的訓練規則需要「教師」告訴他們特定的輸入應該作出怎樣的輸出。然後訓練規則會調整所有需要的權重值(這是網路中是非常復雜的),而整個過程會重頭開始直至數據可以被網路正確的分析出來。監管方式的訓練模式包括有back-propagation及delta rule。非監管方式的規則無需教師,因為他們所產生的輸出會被進一步評估。

Architecture
--------------------------------------------------------------------------------

在神經網路中,遵守明確的規則一詞是最「模糊不清」的。因為有太多不同種類的網路,由簡單的布爾網路(Perceptrons),至復雜的自我調整網路(Kohonen),至熱動態性網路模型(Boltzmann machines)!而這些,都遵守一個網路體系結構的標准。

一個網路包括有多個神經元「層」,輸入層、隱蔽層及輸出層。輸入層負責接收輸入及分發到隱蔽層(因為用戶看不見這些層,所以見做隱蔽層)。這些隱蔽層負責所需的計算及輸出結果給輸出層,而用戶則可以看到最終結果。現在,為免混淆,不會在這里更深入的探討體系結構這一話題。對於不同神經網路的更多詳細資料可以看Generation5 essays

盡管我們討論過神經元、訓練及體系結構,但我們還不清楚神經網路實際做些什麼。

The Function of ANNs
--------------------------------------------------------------------------------

神經網路被設計為與圖案一起工作 - 它們可以被分為分類式或聯想式。分類式網路可以接受一組數,然後將其分類。例如ONR程序接受一個數字的影象而輸出這個數字。或者PPDA32程序接受一個坐標而將它分類成A類或B類(類別是由所提供的訓練決定的)。更多實際用途可以看Applications in the Military中的軍事雷達,該雷達可以分別出車輛或樹。

聯想模式接受一組數而輸出另一組。例如HIR程序接受一個『臟』圖像而輸出一個它所學過而最接近的一個圖像。聯想模式更可應用於復雜的應用程序,如簽名、面部、指紋識別等。

The Ups and Downs of Neural Networks
--------------------------------------------------------------------------------

神經網路在這個領域中有很多優點,使得它越來越流行。它在類型分類/識別方面非常出色。神經網路可以處理例外及不正常的輸入數據,這對於很多系統都很重要(例如雷達及聲波定位系統)。很多神經網路都是模仿生物神經網路的,即是他們仿照大腦的運作方式工作。神經網路也得助於神經系統科學的發展,使它可以像人類一樣准確地辨別物件而有電腦的速度!前途是光明的,但現在...

是的,神經網路也有些不好的地方。這通常都是因為缺乏足夠強大的硬體。神經網路的力量源自於以並行方式處理資訊,即是同時處理多項數據。因此,要一個串列的機器模擬並行處理是非常耗時的。

神經網路的另一個問題是對某一個問題構建網路所定義的條件不足 - 有太多因素需要考慮:訓練的演算法、體系結構、每層的神經元個數、有多少層、數據的表現等,還有其它更多因素。因此,隨著時間越來越重要,大部份公司不可能負擔重復的開發神經網路去有效地解決問題。

NN 神經網路,Neural Network
ANNs 人工神經網路,Artificial Neural Networks
neurons 神經元
synapses 神經鍵
self-organizing networks 自我調整網路
networks modelling thermodynamic properties 熱動態性網路模型

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
網格演算法我沒聽說過
好像只有網格計算這個詞

網格計算是伴隨著互聯網技術而迅速發展起來的,專門針對復雜科學計算的新型計算模式。這種計算模式是利用互聯網把分散在不同地理位置的電腦組織成一個「虛擬的超級計算機」,其中每一台參與計算的計算機就是一個「節點」,而整個計算是由成千上萬個「節點」組成的「一張網格」, 所以這種計算方式叫網格計算。這樣組織起來的「虛擬的超級計算機」有兩個優勢,一個是數據處理能力超強;另一個是能充分利用網上的閑置處理能力。簡單地講,網格是把整個網路整合成一台巨大的超級計算機,實現計算資源、存儲資源、數據資源、信息資源、知識資源、專家資源的全面共享。

『貳』 神經網路的主要內容特點

(1) 神經網路的一般特點
作為一種正在興起的新型技術神經網路有著自己的優勢,他的主要特點如下:
① 由於神經網路模仿人的大腦,採用自適應演算法。使它較之專家系統的固定的推理方式及傳統計算機的指令程序方式更能夠適應化環境的變化。總結規律,完成某種運算、推理、識別及控制任務。因而它具有更高的智能水平,更接近人的大腦。
② 較強的容錯能力,使神經網路能夠和人工視覺系統一樣,根據對象的主要特徵去識別對象。
③ 自學習、自組織功能及歸納能力。
以上三個特點是神經網路能夠對不確定的、非結構化的信息及圖像進行識別處理。石油勘探中的大量信息就具有這種性質。因而,人工神經網路是十分適合石油勘探的信息處理的。
(2) 自組織神經網路的特點
自組織特徵映射神經網路作為神經網路的一種,既有神經網路的通用的上面所述的三個主要的特點又有自己的特色。
① 自組織神經網路共分兩層即輸入層和輸出層。
② 採用競爭學記機制,勝者為王,但是同時近鄰也享有特權,可以跟著競爭獲勝的神經元一起調整權值,從而使得結果更加光滑,不想前面的那樣粗糙。
③ 這一網路同時考慮拓撲結構的問題,即他不僅僅是對輸入數據本身的分析,更考慮到數據的拓撲機構。
權值調整的過程中和最後的結果輸出都考慮了這些,使得相似的神經元在相鄰的位置,從而實現了與人腦類似的大腦分區響應處理不同類型的信號的功能。
④ 採用無導師學記機制,不需要教師信號,直接進行分類操作,使得網路的適應性更強,應用更加的廣泛,尤其是那些對於現在的人來說結果還是未知的數據的分類。頑強的生命力使得神經網路的應用范圍大大加大。

『叄』 神經網路的基本原理是什麼

神經網路的基本原理是:每個神經元把最初的輸入值乘以一定的權重,並加上其他輸入到這個神經元里的值(並結合其他信息值),最後算出一個總和,再經過神經元的偏差調整,最後用激勵函數把輸出值標准化。基本上,神經網路是由一層一層的不同的計算單位連接起來的。我們把計算單位稱為神經元,這些網路可以把數據處理分類,就是我們要的輸出。

神經網路常見的工具:

以上內容參考:在眾多的神經網路工具中,NeuroSolutions始終處於業界領先位置。它是一個可用於windows XP/7高度圖形化的神經網路開發工具。其將模塊化,基於圖標的網路設計界面,先進的學習程序和遺傳優化進行了結合。該款可用於研究和解決現實世界的復雜問題的神經網路設計工具在使用上幾乎無限制。

以上內容參考:網路-神經網路

『肆』 吳恩達 卷積神經網路 CNN

應用計算機視覺時要面臨的一個挑戰是數據的輸入可能會非常大。例如一張 1000x1000x3 的圖片,神經網路輸入層的維度將高達三百萬,使得網路權重 W 非常龐大。這樣會造成兩個後果:

神經網路結構復雜,數據量相對較少,容易出現過擬合;
所需內存和計算量巨大。
因此,一般的神經網路很難處理蘊含著大量數據的圖像。解決這一問題的方法就是使用卷積神經網路

我們之前提到過,神經網路由淺層到深層,分別可以檢測出圖片的邊緣特徵、局部特徵(例如眼睛、鼻子等),到最後面的一層就可以根據前面檢測的特徵來識別整體面部輪廓。這些工作都是依託卷積神經網路來實現的。

卷積運算(Convolutional Operation)是卷積神經網路最基本的組成部分。我們以邊緣檢測為例,來解釋卷積是怎樣運算的。

圖片最常做的邊緣檢測有兩類:垂直邊緣(Vertical Edges)檢測和水平邊緣(Horizontal Edges)檢測。

比如檢測一張6x6像素的灰度圖片的vertical edge,設計一個3x3的矩陣(稱之為filter或kernel),讓原始圖片和filter矩陣做卷積運算(convolution),得到一個4x4的圖片。 具體的做法是,將filter矩陣貼到原始矩陣上(從左到右從上到下),依次可以貼出4x4種情況。 讓原始矩陣與filter重合的部分做element wise的乘積運算再求和 ,所得的值作為4x4矩陣對應元素的值。如下圖是第一個元素的計算方法,以此類推。

可以看到,卷積運算的求解過程是從左到右,由上到下,每次在原始圖片矩陣中取與濾波器同等大小的一部分,每一部分中的值與濾波器中的值對應相乘後求和,將結果組成一個矩陣。

下圖對應一個垂直邊緣檢測的例子:

如果將最右邊的矩陣當作圖像,那麼中間一段亮一些的區域對應最左邊的圖像中間的垂直邊緣。

下圖3x3濾波器,通常稱為垂直 索伯濾波器 (Sobel filter):

看看用它來處理知名的Lena照片會得到什麼:

現在可以解釋卷積操作的用處了:用輸出圖像中更亮的像素表示原始圖像中存在的邊緣。

你能看出為什麼邊緣檢測圖像可能比原始圖像更有用嗎?

回想一下MNIST手寫數字分類問題。在MNIST上訓練的CNN可以找到某個特定的數字。比如發現數字1,可以通過使用邊緣檢測發現圖像上兩個突出的垂直邊緣。

通常,卷積有助於我們找到特定的局部圖像特徵(如邊緣),用在後面的網路中。

假設輸入圖片的大小為 n×n,而濾波器的大小為 f×f,則卷積後的輸出圖片大小為 (n−f+1)×(n−f+1)。

這樣就有兩個問題:

為了解決這些問題,可以在進行卷積操作前,對原始圖片在邊界上進行填充(Padding),以增加矩陣的大小。通常將 0 作為填充值。

設每個方向擴展像素點數量為 p,則填充後原始圖片的大小為 (n+2p)×(n+2p),濾波器大小保持 f×f不變,則輸出圖片大小為 (n+2p−f+1)×(n+2p−f+1)。

因此,在進行卷積運算時,我們有兩種選擇:

在計算機視覺領域,f通常為奇數。原因包括 Same 卷積中 p=(f−1)/ 2 能得到自然數結果,並且濾波器有一個便於表示其所在位置的中心點。

卷積過程中,有時需要通過填充來避免信息損失,有時也需要通過設置 步長(Stride) 來壓縮一部分信息。

步長表示濾波器在原始圖片的水平方向和垂直方向上每次移動的距離。之前,步長被默認為 1。而如果我們設置步長為 2,則卷積過程如下圖所示:

設步長為 s,填充長度為p, 輸入圖片大小為n x n, 濾波器大小為f x f, 則卷積後圖片的尺寸為:

注意公式中有一個向下取整的符號,用於處理商不為整數的情況。向下取整反映著當取原始矩陣的圖示藍框完全包括在圖像內部時,才對它進行運算。

如果我們想要對三通道的 RGB 圖片進行卷積運算,那麼其對應的濾波器組也同樣是三通道的。過程是將每個單通道(R,G,B)與對應的濾波器進行卷積運算求和,然後再將三個通道的和相加,將 27 個乘積的和作為輸出圖片的一個像素值。

如果想同時檢測垂直和水平邊緣,或者更多的邊緣檢測,可以增加更多的濾波器組。例如設置第一個濾波器組實現垂直邊緣檢測,第二個濾波器組實現水平邊緣檢測。設輸入圖片的尺寸為 n×n×nc(nc為通道數),濾波器尺寸為 f×f×nc,則卷積後的輸出圖片尺寸為 (n−f+1)×(n−f+1)×n′c,n′c為濾波器組的個數。

與之前的卷積過程相比較,卷積神經網路的單層結構多了激活函數和偏移量;而與標准神經網路相比,濾波器的數值對應著權重 W[l],卷積運算對應著 W[l]與 A[l−1]的乘積運算,所選的激活函數變為 ReLU。

對於一個 3x3x3 的濾波器,包括偏移量 b(27+1)在內共有 28 個參數。不論輸入的圖片有多大,用這一個濾波器來提取特徵時,參數始終都是 28 個,固定不變。即選定濾波器組後,參數的數目與輸入圖片的尺寸無關。因此,卷積神經網路的參數相較於標准神經網路來說要少得多。這是 CNN 的優點之一。

圖像中的相鄰像素傾向於具有相似的值,因此通常卷積層相鄰的輸出像素也具有相似的值。這意味著,卷積層輸出中包含的大部分信息都是冗餘的。如果我們使用邊緣檢測濾波器並在某個位置找到強邊緣,那麼我們也可能會在距離這個像素1個偏移的位置找到相對較強的邊緣。但是它們都一樣是邊緣,我們並沒有找到任何新東西。池化層解決了這個問題。這個網路層所做的就是通過減小輸入的大小降低輸出值的數量。池化一般通過簡單的最大值、最小值或平均值操作完成。以下是池大小為2的最大池層的示例:

在計算神經網路的層數時,通常只統計具有權重和參數的層,因此池化層通常和之前的卷積層共同計為一層。

圖中的 FC3 和 FC4 為全連接層,與標準的神經網路結構一致。

個人推薦 一個直觀感受卷積神經網路的網站 。

相比標准神經網路,對於大量的輸入數據,卷積過程有效地減少了 CNN 的參數數量,原因有以下兩點:

-參數共享(Parameter sharing):特徵檢測如果適用於圖片的某個區域,那麼它也可能適用於圖片的其他區域。即在卷積過程中,不管輸入有多大,一個特徵探測器(濾波器)就能對整個輸入的某一特徵進行探測。

-稀疏連接(Sparsity of connections):在每一層中,由於濾波器的尺寸限制,輸入和輸出之間的連接是稀疏的,每個輸出值只取決於輸入在局部的一小部分值。

池化過程則在卷積後很好地聚合了特徵,通過降維來減少運算量。

由於 CNN 參數數量較小,所需的訓練樣本就相對較少,因此在一定程度上不容易發生過擬合現象。並且 CNN 比較擅長捕捉區域位置偏移。即進行物體檢測時,不太受物體在圖片中位置的影響,增加檢測的准確性和系統的健壯性。

在神經網路可以收斂的前提下,隨著網路深度增加,網路的表現先是逐漸增加至飽和,然後迅速下降

需要注意,網路退化問題不是過擬合導致的,即便在模型訓練過程中,同樣的訓練輪次下,退化的網路也比稍淺層的網路的訓練錯誤更高,如下圖所示。

這一點並不符合常理:如果存在某個 K層網路是當前F的最優的網路,我們構造更深的網路。那麼K之後的層數可以擬合成恆等映射,就可以取得和F一直的結果。如果K不是最佳層數,那麼我們比K深,可以訓練出的一定會不差於K的。總而言之,與淺層網路相比,更深的網路的表現不應該更差。因此,一個合理的猜測就是, 對神經網路來說,恆等映射並不容易擬合。

也許我們可以對網路單元進行一定的改造,來改善退化問題?這也就引出了殘差網路的基本思路

既然神經網路不容易擬合一個恆等映射,那麼一種思路就是構造天然的恆等映射。

實驗表明,殘差網路 很好地解決了深度神經網路的退化問題 ,並在ImageNet和CIFAR-10等圖像任務上取得了非常好的結果,同等層數的前提下殘差網路也 收斂得更快 。這使得前饋神經網路可以採用更深的設計。除此之外, 去除個別神經網路層,殘差網路的表現不會受到顯著影響 ,這與傳統的前饋神經網路大相徑庭。

2018年的一篇論文,The Shattered Gradients Problem: If resnets are the answer, then what is the question,指出了一個新的觀點,盡管殘差網路提出是為了解決梯度彌散和網路退化的問題, 它解決的實際上是梯度破碎問題

作者通過可視化的小型實驗(構建和訓練一個神經網路發現,在淺層神經網路中,梯度呈現為棕色雜訊(brown noise),深層神經網路的梯度呈現為白雜訊。在標准前饋神經網路中,隨著深度增加, 神經元梯度的相關性(corelation)按指數級減少 (1 / 2^L) ;同時, 梯度的空間結構也隨著深度增加被逐漸消除 。這也就是梯度破碎現象。

梯度破碎為什麼是一個問題呢?這是因為許多優化方法假設梯度在相鄰點上是相似的,破碎的梯度會大大減小這類優化方法的有效性。另外,如果梯度表現得像白雜訊,那麼某個神經元對網路輸出的影響將會很不穩定。

相較標准前饋網路, 殘差網路中梯度相關性減少的速度從指數級下降到亞線性級 ) (1 / sqrt(L)) ,深度殘差網路中,神經元梯度介於棕色雜訊與白雜訊之間(參見上圖中的c,d,e);殘差連接可以 極大地保留梯度的空間結構 。殘差結構緩解了梯度破碎問題。

1x1 卷積指濾波器的尺寸為 1。當通道數為 1 時,1x1 卷積意味著卷積操作等同於乘積操作。
而當通道數更多時,1x1 卷積的作用實際上類似全連接層的神經網路結構,從而降低(或升高,取決於濾波器組數)數據的維度。

池化能壓縮數據的高度(nH)及寬度(nW),而 1×1 卷積能壓縮數據的通道數(nC)。在如下圖所示的例子中,用 filters個大小為 1×1×32 的濾波器進行卷積,就能使原先數據包含的 32個通道壓縮為 filters 個。

在這之前,網路大都是這樣子的:

也就是卷積層和池化層的順序連接。這樣的話,要想提高精度,增加網路深度和寬度是一個有效途徑,但也面臨著參數量過多、過擬合等問題。(當然,改改超參數也可以提高性能)

有沒有可能在同一層就可以提取不同(稀疏或不稀疏)的特徵呢(使用不同尺寸的卷積核)?於是,2014年,在其他人都還在一味的增加網路深度時(比如vgg),GoogleNet就率先提出了卷積核的並行合並(也稱Bottleneck Layer),如下圖。

和卷積層、池化層順序連接的結構(如VGG網路)相比,這樣的結構主要有以下改進:

按照這樣的結構來增加網路的深度,雖然可以提升性能,但是還面臨計算量大(參數多)的問題。為改善這種現象,GooLeNet借鑒Network-in-Network的思想,使用1x1的卷積核實現降維操作(也間接增加了網路的深度),以此來減小網路的參數量(這里就不對兩種結構的參數量進行定量比較了),如圖所示。

最後實現的inception v1網路是上圖結構的順序連接

由於卷積這門課的其他內容和計算機視覺關系比較密切。對我理解推薦系統幫助不大。所以這個系列就到這里。吳恩達的課還是很好的,作業和課和測驗我都認真做啦。

『伍』 如何理解人工智慧神經網路中的權值共享問題

權值(權重)共享這個詞是由LeNet5模型提出來的。以CNN為例,在對一張圖偏進行卷積的過程中,使用的是同一個卷積核的參數。比如一個3×3×1的卷積核,這個卷積核內9個的參數被整張圖共享,而不會因為圖像內位置的不同而改變卷積核內的權系數。說的再直白一些,就是用一個卷積核不改變其內權系數的情況下卷積處理整張圖片(當然CNN中每一層不會只有一個卷積核的,這樣說只是為了方便解釋而已)。

『陸』 一文看懂四種基本的神經網路架構

原文鏈接:
http://blackblog.tech/2018/02/23/Eight-Neural-Network/

更多干貨就在我的個人博客 http://blackblog.tech 歡迎關注

剛剛入門神經網路,往往會對眾多的神經網路架構感到困惑,神經網路看起來復雜多樣,但是這么多架構無非也就是三類,前饋神經網路,循環網路,對稱連接網路,本文將介紹四種常見的神經網路,分別是CNN,RNN,DBN,GAN。通過這四種基本的神經網路架構,我們來對神經網路進行一定的了解。

神經網路是機器學習中的一種模型,是一種模仿動物神經網路行為特徵,進行分布式並行信息處理的演算法數學模型。這種網路依靠系統的復雜程度,通過調整內部大量節點之間相互連接的關系,從而達到處理信息的目的。
一般來說,神經網路的架構可以分為三類:

前饋神經網路:
這是實際應用中最常見的神經網路類型。第一層是輸入,最後一層是輸出。如果有多個隱藏層,我們稱之為「深度」神經網路。他們計算出一系列改變樣本相似性的變換。各層神經元的活動是前一層活動的非線性函數。

循環網路:
循環網路在他們的連接圖中定向了循環,這意味著你可以按照箭頭回到你開始的地方。他們可以有復雜的動態,使其很難訓練。他們更具有生物真實性。
循環網路的目的使用來處理序列數據。在傳統的神經網路模型中,是從輸入層到隱含層再到輸出層,層與層之間是全連接的,每層之間的節點是無連接的。但是這種普通的神經網路對於很多問題卻無能無力。例如,你要預測句子的下一個單詞是什麼,一般需要用到前面的單詞,因為一個句子中前後單詞並不是獨立的。
循環神經網路,即一個序列當前的輸出與前面的輸出也有關。具體的表現形式為網路會對前面的信息進行記憶並應用於當前輸出的計算中,即隱藏層之間的節點不再無連接而是有連接的,並且隱藏層的輸入不僅包括輸入層的輸出還包括上一時刻隱藏層的輸出。

對稱連接網路:
對稱連接網路有點像循環網路,但是單元之間的連接是對稱的(它們在兩個方向上權重相同)。比起循環網路,對稱連接網路更容易分析。這個網路中有更多的限制,因為它們遵守能量函數定律。沒有隱藏單元的對稱連接網路被稱為「Hopfield 網路」。有隱藏單元的對稱連接的網路被稱為玻爾茲曼機。

其實之前的帖子講過一些關於感知機的內容,這里再復述一下。
首先還是這張圖
這是一個M-P神經元

一個神經元有n個輸入,每一個輸入對應一個權值w,神經元內會對輸入與權重做乘法後求和,求和的結果與偏置做差,最終將結果放入激活函數中,由激活函數給出最後的輸出,輸出往往是二進制的,0 狀態代表抑制,1 狀態代表激活。

可以把感知機看作是 n 維實例空間中的超平面決策面,對於超平面一側的樣本,感知器輸出 1,對於另一側的實例輸出 0,這個決策超平面方程是 w⋅x=0。 那些可以被某一個超平面分割的正反樣例集合稱為線性可分(linearly separable)樣例集合,它們就可以使用圖中的感知機表示。
與、或、非問題都是線性可分的問題,使用一個有兩輸入的感知機能容易地表示,而異或並不是一個線性可分的問題,所以使用單層感知機是不行的,這時候就要使用多層感知機來解決疑惑問題了。

如果我們要訓練一個感知機,應該怎麼辦呢?
我們會從隨機的權值開始,反復地應用這個感知機到每個訓練樣例,只要它誤分類樣例就修改感知機的權值。重復這個過程,直到感知機正確分類所有的樣例。每一步根據感知機訓練法則來修改權值,也就是修改與輸入 xi 對應的權 wi,法則如下:

這里 t 是當前訓練樣例的目標輸出,o 是感知機的輸出,η 是一個正的常數稱為學習速率。學習速率的作用是緩和每一步調整權的程度,它通常被設為一個小的數值(例如 0.1),而且有時會使其隨著權調整次數的增加而衰減。

多層感知機,或者說是多層神經網路無非就是在輸入層與輸出層之間加了多個隱藏層而已,後續的CNN,DBN等神經網路只不過是將重新設計了每一層的類型。感知機可以說是神經網路的基礎,後續更為復雜的神經網路都離不開最簡單的感知機的模型,

談到機器學習,我們往往還會跟上一個詞語,叫做模式識別,但是真實環境中的模式識別往往會出現各種問題。比如:
圖像分割:真實場景中總是摻雜著其它物體。很難判斷哪些部分屬於同一個對象。對象的某些部分可以隱藏在其他對象的後面。
物體光照:像素的強度被光照強烈影響。
圖像變形:物體可以以各種非仿射方式變形。例如,手寫也可以有一個大的圓圈或只是一個尖頭。
情景支持:物體所屬類別通常由它們的使用方式來定義。例如,椅子是為了讓人們坐在上面而設計的,因此它們具有各種各樣的物理形狀。
卷積神經網路與普通神經網路的區別在於,卷積神經網路包含了一個由卷積層和子采樣層構成的特徵抽取器。在卷積神經網路的卷積層中,一個神經元只與部分鄰層神經元連接。在CNN的一個卷積層中,通常包含若干個特徵平面(featureMap),每個特徵平面由一些矩形排列的的神經元組成,同一特徵平面的神經元共享權值,這里共享的權值就是卷積核。卷積核一般以隨機小數矩陣的形式初始化,在網路的訓練過程中卷積核將學習得到合理的權值。共享權值(卷積核)帶來的直接好處是減少網路各層之間的連接,同時又降低了過擬合的風險。子采樣也叫做池化(pooling),通常有均值子采樣(mean pooling)和最大值子采樣(max pooling)兩種形式。子采樣可以看作一種特殊的卷積過程。卷積和子采樣大大簡化了模型復雜度,減少了模型的參數。
卷積神經網路由三部分構成。第一部分是輸入層。第二部分由n個卷積層和池化層的組合組成。第三部分由一個全連結的多層感知機分類器構成。
這里舉AlexNet為例:

·輸入:224×224大小的圖片,3通道
·第一層卷積:11×11大小的卷積核96個,每個GPU上48個。
·第一層max-pooling:2×2的核。
·第二層卷積:5×5卷積核256個,每個GPU上128個。
·第二層max-pooling:2×2的核。
·第三層卷積:與上一層是全連接,3*3的卷積核384個。分到兩個GPU上個192個。
·第四層卷積:3×3的卷積核384個,兩個GPU各192個。該層與上一層連接沒有經過pooling層。
·第五層卷積:3×3的卷積核256個,兩個GPU上個128個。
·第五層max-pooling:2×2的核。
·第一層全連接:4096維,將第五層max-pooling的輸出連接成為一個一維向量,作為該層的輸入。
·第二層全連接:4096維
·Softmax層:輸出為1000,輸出的每一維都是圖片屬於該類別的概率。

卷積神經網路在模式識別領域有著重要應用,當然這里只是對卷積神經網路做了最簡單的講解,卷積神經網路中仍然有很多知識,比如局部感受野,權值共享,多卷積核等內容,後續有機會再進行講解。

傳統的神經網路對於很多問題難以處理,比如你要預測句子的下一個單詞是什麼,一般需要用到前面的單詞,因為一個句子中前後單詞並不是獨立的。RNN之所以稱為循環神經網路,即一個序列當前的輸出與前面的輸出也有關。具體的表現形式為網路會對前面的信息進行記憶並應用於當前輸出的計算中,即隱藏層之間的節點不再無連接而是有連接的,並且隱藏層的輸入不僅包括輸入層的輸出還包括上一時刻隱藏層的輸出。理論上,RNN能夠對任何長度的序列數據進行處理。
這是一個簡單的RNN的結構,可以看到隱藏層自己是可以跟自己進行連接的。

那麼RNN為什麼隱藏層能夠看到上一刻的隱藏層的輸出呢,其實我們把這個網路展開來開就很清晰了。

從上面的公式我們可以看出,循環層和全連接層的區別就是循環層多了一個權重矩陣 W。
如果反復把式2帶入到式1,我們將得到:

在講DBN之前,我們需要對DBN的基本組成單位有一定的了解,那就是RBM,受限玻爾茲曼機。
首先什麼是玻爾茲曼機?
[圖片上傳失敗...(image-d36b31-1519636788074)]
如圖所示為一個玻爾茲曼機,其藍色節點為隱層,白色節點為輸入層。
玻爾茲曼機和遞歸神經網路相比,區別體現在以下幾點:
1、遞歸神經網路本質是學習一個函數,因此有輸入和輸出層的概念,而玻爾茲曼機的用處在於學習一組數據的「內在表示」,因此其沒有輸出層的概念。
2、遞歸神經網路各節點鏈接為有向環,而玻爾茲曼機各節點連接成無向完全圖。

而受限玻爾茲曼機是什麼呢?
最簡單的來說就是加入了限制,這個限制就是將完全圖變成了二分圖。即由一個顯層和一個隱層構成,顯層與隱層的神經元之間為雙向全連接。

h表示隱藏層,v表示顯層
在RBM中,任意兩個相連的神經元之間有一個權值w表示其連接強度,每個神經元自身有一個偏置系數b(對顯層神經元)和c(對隱層神經元)來表示其自身權重。
具體的公式推導在這里就不展示了

DBN是一個概率生成模型,與傳統的判別模型的神經網路相對,生成模型是建立一個觀察數據和標簽之間的聯合分布,對P(Observation|Label)和 P(Label|Observation)都做了評估,而判別模型僅僅而已評估了後者,也就是P(Label|Observation)。
DBN由多個限制玻爾茲曼機(Restricted Boltzmann Machines)層組成,一個典型的神經網路類型如圖所示。這些網路被「限制」為一個可視層和一個隱層,層間存在連接,但層內的單元間不存在連接。隱層單元被訓練去捕捉在可視層表現出來的高階數據的相關性。

生成對抗網路其實在之前的帖子中做過講解,這里在說明一下。
生成對抗網路的目標在於生成,我們傳統的網路結構往往都是判別模型,即判斷一個樣本的真實性。而生成模型能夠根據所提供的樣本生成類似的新樣本,注意這些樣本是由計算機學習而來的。
GAN一般由兩個網路組成,生成模型網路,判別模型網路。
生成模型 G 捕捉樣本數據的分布,用服從某一分布(均勻分布,高斯分布等)的雜訊 z 生成一個類似真實訓練數據的樣本,追求效果是越像真實樣本越好;判別模型 D 是一個二分類器,估計一個樣本來自於訓練數據(而非生成數據)的概率,如果樣本來自於真實的訓練數據,D 輸出大概率,否則,D 輸出小概率。
舉個例子:生成網路 G 好比假幣製造團伙,專門製造假幣,判別網路 D 好比警察,專門檢測使用的貨幣是真幣還是假幣,G 的目標是想方設法生成和真幣一樣的貨幣,使得 D 判別不出來,D 的目標是想方設法檢測出來 G 生成的假幣。
傳統的判別網路:

生成對抗網路:

下面展示一個cDCGAN的例子(前面帖子中寫過的)
生成網路

判別網路

最終結果,使用MNIST作為初始樣本,通過學習後生成的數字,可以看到學習的效果還是不錯的。

本文非常簡單的介紹了四種神經網路的架構,CNN,RNN,DBN,GAN。當然也僅僅是簡單的介紹,並沒有深層次講解其內涵。這四種神經網路的架構十分常見,應用也十分廣泛。當然關於神經網路的知識,不可能幾篇帖子就講解完,這里知識講解一些基礎知識,幫助大家快速入(zhuang)門(bi)。後面的帖子將對深度自動編碼器,Hopfield 網路長短期記憶網路(LSTM)進行講解。

『柒』 哪些神經網路結構會發生權重共享

說的確定應該就是訓練方法吧,神經網路的權值不是人工給定的。而是用訓練集(包括輸入和輸出)訓練,用訓練集訓練一遍稱為一個epoch,一般要許多epoch才行,目的是使得目標與訓練結果的誤差(一般採用均方誤差)小到一個給定的閾值。以上所說是有監督的學習方法,還有無監督的學習方法。

『捌』 DNN、RNN、CNN分別是什麼意思

DNN(深度神經網路),是深度學習的基礎。

DNN可以理解為有很多隱藏層的神經網路。這個很多其實也沒有什麼度量標准, 多層神經網路和深度神經網路DNN其實也是指的一個東西,當然,DNN有時也叫做多層感知機(Multi-Layer perceptron,MLP)。

從DNN按不同層的位置劃分,DNN內部的神經網路層可以分為三類,輸入層,隱藏層和輸出層,如下圖示例,一般來說第一層是輸出層,最後一層是輸出層,而中間的層數都是隱藏層。

CNN(卷積神經網路),是一種前饋型的神經網路,目前深度學習技術領域中非常具有代表性的神經網路之一。

CNN在大型圖像處理方面有出色的表現,目前已經被大范圍使用到圖像分類、定位等領域中。相比於其他神經網路結構,卷積神經網路需要的參數相對較少,使的其能夠廣泛應用。

RNN(循環神經網路),一類用於處理序列數據的神經網路,RNN最大的不同之處就是在層之間的神經元之間也建立的權連接。

從廣義上來說,DNN被認為包含了CNN、RNN這些具體的變種形式。在實際應用中,深度神經網路DNN融合了多種已知的結構,包含卷積層或LSTM單元,特指全連接的神經元結構,並不包含卷積單元或時間上的關聯。

『玖』 如何理解卷積神經網路中的權值共享

所謂的權值共享就是說,給一張輸入圖片,用一個filter去掃這張圖,filter裡面的數就叫權重,這張圖每個位置是被同樣的filter掃的,所以權重是一樣的,也就是共享。 這么說可能還不太明白,如果你能理解什麼叫全連接神經網路的話,那麼從一個盡量減少參數個數的角度去理解就可以了。 對於一張輸入圖片,大小為W*H,如果使用全連接網路,生成一張X*Y的feature map,需要W*H*X*Y個參數,如果原圖長寬是10^2級別的,而且XY大小和WH差不多的話,那麼這樣一層網路需要的參數個數是10^8~10^12級別。 這么多參數肯定是不行的,那麼我們就想辦法減少參數的個數對於輸出層feature map上的每一個像素,他與原圖片的每一個像素都有連接,每一個鏈接都需要一個參數。但注意到圖像一般都是局部相關的,那麼如果輸出層的每一個像素只和輸入層圖片的一個局部相連,那麼需要參數的個數就會大大減少。假設輸出層每個像素只與輸入圖片上F*F的一個小方塊有連接,也就是說輸出層的這個像素值,只是通過原圖的這個F*F的小方形中的像素值計算而來,那麼對於輸出層的每個像素,需要的參數個數就從原來的W*H減小到了F*F。如果對於原圖片的每一個F*F的方框都需要計算這樣一個輸出值,那麼需要的參數只是W*H*F*F,如果原圖長寬是10^2級別,而F在10以內的話,那麼需要的參數的個數只有10^5~10^6級別,相比於原來的10^8~10^12小了很多很多。

『拾』 人工智慧CNN卷積神經網路如何共享權值

首先權值共享就是濾波器共享,濾波器的參數是固定的,即是用相同的濾波器去掃一遍圖像,提取一次特徵特徵,得到feature map。在卷積網路中,學好了一個濾波器,就相當於掌握了一種特徵,這個濾波器在圖像中滑動,進行特徵提取,然後所有進行這樣操作的區域都會被採集到這種特徵,就好比上面的水平線。

閱讀全文

與不同位置共享神經網路相關的資料

熱點內容
iphone怎麼切換網路 瀏覽:567
四種網路共享方式 瀏覽:895
手機連接wifi顯示2g網路 瀏覽:907
哪裡下載大型單機網路游戲 瀏覽:29
極限挑戰第六季網路哪個平台播 瀏覽:348
大慶網路運營中心客服電話是多少 瀏覽:504
魔百盒網路設置網路密碼 瀏覽:457
有網路沒密碼怎麼改 瀏覽:719
網路打賞一萬鑽石是多少錢 瀏覽:771
光貓傳遞網路信號的危害 瀏覽:639
可以通過網路找回手機嗎 瀏覽:349
商用密碼演算法的網路攝像機 瀏覽:427
魅族17設置3g網路 瀏覽:686
海上衛星網路wifi 瀏覽:672
宇族網路是什麼游戲需要花錢嗎 瀏覽:123
周鴻禕國家網路安全大腦 瀏覽:456
手機能撥網路電話嗎 瀏覽:14
上海網路廣告有哪些 瀏覽:885
地震區域有手機網路嗎 瀏覽:490
中國電信自助修改寬頻網路密碼 瀏覽:897

友情鏈接