search
尋找貓咪~QQ 地點 桃園市桃園區 Taoyuan , Taoyuan

一文讀懂神經網路

0 概要

  • 簡介————神經網路是什麼?

  • 用途————神經網路是幹什麼的?

  • 特點————神經網路有哪些特點?

  • 適用情況——什麼時候使用神經網路?

  • 術語————神經網路有哪些基本概念?

    5.1 神經元

    5.2 學習

    5.3 學習演算法

    5.4 有監督學習

    5.5 無監督學習

    5.6 輸入層

    5.7 隱層

    5.8 輸出層

    5.9 訓練集

    5.10驗證集

    5.11測試集

    5.12過擬合

    5.13欠擬合

    5.14準確率

    5.15召回率

    5.16F1

  • 學習演算法——神經網路是怎麼更新參數和結構的?

    6.1 誤差修正學習

    6.2 Hebb學習

    6.3 遺傳演算法

    6.4 競爭學習

    6.5 基於記憶的學習

  • 典型神經網路——有哪些神經網路?

    7.1 前饋神經網路

    7.1.1 單層感知器

    7.1.2 線性神經網路

    7.1.3 BP神經網路

    7.1.4 RBF神經網路

    7.1.5 RBM

    7.1.6 CNN(卷積神經網路)

    7.1.7 DBN(深度置信網路)

    7.1.8 Word2vec

    7.2 反饋神經網路

    7.2.1 Elman神經網路

    7.2.2 Hopfield神經網路

    7.3 自組織神經網路(也是前饋神經網路)

    7.3.1 通用型競爭神經網路

    7.3.2 SOM神經網路(自組織特徵映射神經網路)

    7.3.3 LVQ神經網路(學習向量量化神經網路)

  • 分類————不同神經網路之間有哪些異同點?

1 簡介——神經網路是什麼?

人工神經網路是一個描述生物神經網路運行機理和工作過程的數學-物理模型,是一個以人工神經元為節點、以神經元之間的連接關係為路徑權值的有向圖。人工神經網路一般使用電子器件實現或用軟體在計算機上模擬,可以具備生物神經系統的某種特殊功能。

人工神經網路是對人腦完成特定任務或感興趣功能的方法進行建模的自適應機器,是一個由簡單處理元構成的規模宏大的并行分散式處理器。天然具有存儲經驗和使之可用的特性。神經網路在兩個方面與人類相似:1、神經網路獲取的知識是從外界環境中學習得來的;互連神經元的連接強度,即突觸權值,用於儲存獲取的知識。

人工神經網路是根植於神經系統、數學、統計學、物理學、計算機科學工程等學科的一種技術。

2 用途——神經網路是幹什麼的?

腦具有精巧的構造,並可以通過「經驗」來建立它自己的規則。而神經網路也具有一定的結構,並可以通過歷史數據訓練從而具有一定的功能。神經網路因自身結構和訓練數據的不同而具有不同的功能。具體參見表格1

表格 1神經網路的功能

最近十多年來,人工神經網路的研究工作不斷深入,已經取得了很大的進展,其在模式識別、智能機器人、自動控制、預測估計、生物、醫學、經濟等領域已成功地解決了許多現代計算機難以解決的實際問題,表現出了良好的智能特性。

3 適用情況————什麼時候使用神經網路?

神經網路是機器學習的一個分支,所以需要「經驗」的積累才能提高自身性能。它的適用情況也和普通機器學習演算法相似:第一,當我們無法編製一套程序來解決一個問題時,可以考慮使用神經網路,如在手寫字體識別;第二,當我們處理的任務很難編製而又很容易變更需求時,可以考慮使用神經網路,如構建不同客戶的購物喜好;第三,當我們處理的任務已有大量可參考的經驗數據,或者該任務自身能夠產生足夠的經驗數據時,可以考慮使用神經網路,如圍棋弈棋程序;第四,當我們處理的任務只需要一個滿意解而不是精確解時,可以考慮使用神經網路,因為它不保證任務完成的100%正確。同時,根據具體任務、訓練數據的不同,還可以選擇不同種類的神經網路。

4 特點——神經網路有哪些特點?

4.1 非線性

一個人工神經元可以是線性的也可以是非線性的,而由非線性的神經元構成的網路是非線性的。而非線性是自然界的普遍特性,具有閾值的神經元構成的網路具有更好的性能,可以提高容錯性和存儲容量。

4.2 適應性

人工神經網路具有自適應、自組織、自學習能力。神經網路不但處理的信息可以有各種變化,而且在處理信息的同時,自身的結構和權值也在不斷變化。

4.3 容錯性

由於網路信息存儲的分佈特性,即使一個神經元或它的連接損壞,也不會造成整個網路結構的災難性惡化。

4.4 并行性

神經網路的大規模并行性使它具有快速處理任務的能力。

4.5 分析和設計的一致性

神經網路作為信息處理器具有通用性,使得在不同應用中神經網路共享共同的理論和學習演算法,而模塊化網路可以用模塊的無縫集成來實現。

4.6 神經生物類比

人工神經網路是對生物神經網路的模擬:人工神經元模仿生物神經元,人工神經元之間的連接模仿生物神經元的突觸,信息流的計算模仿生物電和神經遞質的傳遞,任務數據模仿人類的經歷。

4.7 背景信息

神經網路的特定結構和激髮狀態選擇,代表了先驗知識運用。

4.8 證據響應

在模式識別的問題中,神經網路可以設計成既提供不限於選擇哪一個特定模式的信息,也提供決策置信度的信息。後者可以用來拒判那些出現的過於模糊的模式。

5 術語——神經網路有哪些基本概念?

神經元

神經元是神經網路操作的基本信息處理單位,它是人工神經網路的設計基礎。

突觸(權值)

每一個都由其權值或者強度作為特徵。特別是,在連接到神經元k的突觸j上的輸入信號被乘以k的突觸權值

偏置

用來調節值域的。

加法器

是一個線性組合器,求輸入信號與神經元相應突觸權值的加權和,並與偏置求和。

激活函數

用來限制神經元的輸入輸出振幅。激活函數也成為壓制函數,因為它的輸出信號壓制(限制)到允許範圍之內的一定值。

常用激活函數有

A.線性函數

B.閾值函數

C.斜面函數

D.S形函數

E.雙極S形函數

F.反正切函數

學習

學習是一個過程,通過這個過程神經網路的自由參數在其嵌入的環境的機理過程之下得到調節。學習的類型由參數的改變方式決定。

學習演算法

建議解決學習問題的一個恰當定義的規則集合稱作學習演算法。

有監督學習

從標記的訓練數據來推斷一個功能的機器學習任務。在監督學習中,每個實例都是由一個輸入對象(通常為矢量)和一個期望的輸出值(也稱為監督信號)組成

無監督學習

對沒有概念標記(分類)的訓練樣本進行學習,以發現訓練樣本集中的結構性知識。非監督學習一般有兩種思路。第一種思路是在指導Agent時不為其指定明確的分類,而是在成功時採用某種形式的激勵制度。第二種思路的非監督學習類型稱之為聚合。這類學習類型的目標不是讓效用函數最大化,而是找到訓練數據中的近似點。聚合常常能發現那些與假設匹配的相當好的直觀分類

輸入層

輸入信號的感知神經元,個數一般等於輸入特徵的維數。

隱層

只用於計算的神經元,個數一般不確定,但有經驗值可以參考。

輸出層

輸出信號的計算神經元,個數一般等於被分類或擬合的個數。

訓練集

用來訓練模型或確定模型參數的,如更新神經網路參數和結構。

驗證集

用來做模型選擇,即做模型的最終優化及確定的,如調整K-meansK

測試集

純粹是為了測試已經訓練好的模型的推廣能力。

過擬合

使用了過大的訓練集合,使得模型過於複雜,僅僅反映了所給數據的特質,而不是隱藏其下得一般規律,表現為對訓練集好,對測試集表現差,泛化能力差。如「根據房屋面積和房屋價格的關係,得到『n次多項式』假設函數」。

欠擬合

使用了過小的訓練集合,使得模型過於簡單,數據中非常明顯的特徵沒有被成功擬合出來,表現為對訓練集表現差。如「根據房屋面積和房屋價格的關係,得到『線性』假設函數」。

準確率

提取出的正確信息條數 / 提取出的信息條數

召回率

提取出的正確信息條數 / 樣本中的信息條數

F1

正確率 * 召回率 * 2 / (正確率 + 召回率) F 值即為正確率和召回率的調和平均值)

6 學習演算法——神經網路是怎麼更新參數和結構的?

誤差修正學習

使神經網路的輸出信號逐漸逼近標準輸出,這一目標通過最小化代價函數。其中,而是標準輸出,是神經網路的輸出值。

Hebb學習

Hebb提出來的,是最早、最著名的訓練演算法,至今仍在各種神經網路模型中起著重要作用。在ANNHebb演算法最簡單可以描述為:如果一個處理單元從另一處理單元接收輸入激勵信號,而且如果兩者都處於高激勵電平,那麼處理單元之間的加權就應當增強。用數學來表示,就是兩節點的連接權將根據兩節點的激勵電平的乘積來改變,即

其中表示第

(n+1)

次調解前,從節點

j

到節點

i

的連接權值;是第

(n+1)

次調解后,從節點

j

到節點

i

的連接權值。

Bolzmann學習

Bolzmann學習規則是一個根植於統計力學的思想推導得出的隨機學習演算法。基於Bolzmann學習規則設計的神經網路被稱為Bolzmann機。

Bolzmann機中的神經元都是二值化的,也就是說只有激活和不激活兩種狀態,即01;可見層和隱藏層之間的邊的權重可以用來表示,是一個|V|×|H|大小的實數矩陣。在網路參數更新時,演算法難點主要就是對權值和偏置求導,以採用梯度下降更新;但是因為VH都是二值化的,沒有連續的可導函數去計算,實際中採用的採樣的方法來計算,這裡面就可以用比如gibbs採樣的方法,而HitonRBM中採用了對比散度的方法來更新網路參數。

遺傳演算法

遺傳演算法是模擬自然選擇、遺傳學機理的生物進化過程的計算模型,是一種通過模擬自然進化過程搜索最優解的方法。遺傳演算法是從一系列解及開始的,然後經過雜交、變異選擇優秀解並淘汰差解,從而形成新的解集,重複以上過程直到獲得滿意解。如:首先根據先驗知識或隨機產生一系列的網路參數(矩陣W)的集合,然後選擇雙親雜交產生後代,然後對部分網路參數(矩陣W)變異產生後代,接著用適應度函數(如代價函數)選擇優秀後代,即網路參數(矩陣W),然後將後代作為初始解集重複以上過程,指導獲得優秀解W`,如使得代價函數最小的網路參數。

競爭學習

在競爭學習中,神經網路中的輸出神經元彼此通過競爭來成為活躍的(點火)。對於競爭學習規則,有三個基本元素:1.一個神經元集合,這些神經元除了一些隨機分佈的突觸權值之外是完全相同的,並且由於突觸權值的不同而對一個給定的輸入模式集合有不同的相應;2.對神經元強度加上限制;3.允許神經元為響應一個給定輸入子集的權利而競爭的機制,從而使得每次只有一個輸出神經元或者一組只有一個神經元是激活的。獲得神經元成為勝者全得神經元。因此,網路的神經元個體學會專門辨別相似模式的總體,這樣做的結果,它們成為不同類別輸入模式的特徵探測器。

表示連接輸入節點

j

到神經元

k

的突觸權值。嘉定每個神經元被分配固定量的突觸權值(即所有突觸權值都是正的),權值分佈在它的輸入節點之中;也就是

然後神經元通過將突觸權值從它的不活躍輸入移向活躍輸入來進行學習。如果神經元對一個特定輸入模式不響應,那麼沒有學習發生在那個神經元上。如果一個特定升級呀贏得了競爭,這個神經元的每個輸入節點以一定比例釋放它的突觸權值,釋放的權值然後平均分佈到活躍輸入節點上,按照競爭學習規則,作用於突觸權值的該變數

定義為

其中是學習效率。這個規則具有將獲勝神經元k的突觸權值向量向輸入模式移動的整體效果。

在基於記憶的學習中,所有(或大部分)以往的經驗被現實的存儲在正確分類的輸入-輸出實例的大量記憶中,這裡表示輸入向量,表示對應的期望響應。不失一般性,我們限制期望響應為一個標量。所有基於記憶的學習演算法包括兩個重要的組成部分:1.用於定義測試向量的局部鄰域的準則;2.用於局部鄰域中的訓練實例的學習規則。演算法隨這兩個組成部分的不同而不同。7.1 前饋神經網路

7.1.1 單層感知器

概念

激活函數是閾值函數的神經元模型,是用於線性可分模式(即模式分別位於超平面的兩邊)分類的最簡單的神經元模型。(Rosenblatt證明,如果兩類模式線性可分,則演算法收斂)

網路結構

訓練過程

1.定義變數和參數。X為輸入,y為實際輸出,d為期望輸出,b為偏置,w為權值。

2.初始化。n=0,將權值向量w置為隨機值或全零值。

3.激活。輸入訓練樣本,對每個訓練樣本制定其期望輸出。

4.

計算實際輸出。5.更新權值向量。

6.判斷。若滿足收斂條件,演算法結束;若不滿足收斂條件,n++,轉移到第3步繼續執行。

註:

迭代結束條件:

a.誤差小於某個預先設定的較小的值;

b.兩次迭代之間的權值變化已經很小;

c.設定最大迭代次數M,當迭代了M次后停止。

學習率:

不應過大,以便於為輸入向量提供一個比較穩定的權值估計

局限性

  • 感知器的激活函數為閾值函數,輸出值只有兩種取值,限制了在分類種類上的擴展;

  • 如果輸入樣本存在奇異樣本,網路訓練需要很長時間;

  • 感知器的學習演算法只對單層有效

7.1.2 線性神經網路

概念

激活函數是y=x的神經元模型,是用於線性可分模式。

網路結構

學習過程

參見「單層感知器」的「學習過程」模塊。只是參數的更新採用Widrow-Hoff學習規則,如下所示:

局限性

線性神經網路在收斂速度和精度上較感知器有了很大提高,但由於其線性運演算法則,它只能解決線性可分問題。

線性神經網路與單層感知器的對比

1.網路傳輸函數不同:感知器的傳輸速度是一個二值閾值元件。而線性神經網路的傳輸函數是連續的。所以感知器只能二分類,線性神經網路可以擬合和逼近。

2.學習演算法。LMS演算法得到的分類邊界往往處於兩類模式或正中間。而感知器學習演算法在剛剛能正確分類的位置就停下來了。從而使分類邊界離一些模式距離過近,使系統誤差更敏感。

7.1.3 BP神經網路

概念

由多層感知器組合形成的「全局逼近」的多層次網路。網路中,層與層之間全連接,同一層之間的神經元無連接。由輸入層、隱層、輸出層組成。它是遞歸技術的應用,在統計學中統稱為隨機逼近。

網路結構

A 節點輸出模型

隱節點輸出模型:

輸出節點輸出模型:

其中,

f

:非線性作用函數,

B 作用函數模型

作用函數是反應下層輸入對上層節點刺激脈衝強度的函數,又稱刺激函數,一般是(

0,1

)內連續取值的

sigmoid函數。

C 誤差計算模型

誤差計算模型是反映神經網路期望輸出與計算輸出之間誤差大小的函數:。其中,:節點

i

的期望輸出,:節點

i

的計算輸出。

D自學習模型

,其中

為輸出節點計算誤差。

為輸出節點

j

的計算輸出;

a

為動量因子。

學習過程

參數的更新使用的是反向傳播演算法,它是基於誤差修正學習規則的。誤差反向傳播學習由兩次經過網路不同層的通過組成:一次前向通過和一次後向通過。在前向通過中,一個輸入向量作用於網路感知節點,它的影響通過網路一層接一層的傳播,最後產生一個輸出作為網路的實際輸出。在前行通過中,網路的突觸權值全為固定的。另一方面,在反向通過中,網路的突觸權值全部根據誤差規則來調整。特別是從目標響應減去網路的實際響應為誤差信號。這個誤差信號反向傳播經過整個網路,與突觸連接方向相反因此叫「誤差反向傳播」。

工作流程

A 初始化

B 訓練樣本的呈現

C 信息前向計算

D 誤差反向傳播

E 判斷終止條件并迭代

局限性

A 局部極小值問題

B 收斂速度慢

C BP神經網路結構選擇不一

D 應用實例與網路規模存在矛盾

E BP神經網路的預測能力和訓練能力矛盾

F BP的樣本依賴性問題

G 泛化能力的局限性

改進

為了加快網路的訓練速度、避免陷入局部極小值,BP神經網路可以使用以下三種方式進行改進:1.附加動量法;2.誤差函數改進;3.自適應學習效率。

7.1.4 RBF神經網路

概念

RBF神經網路是一個三層神經網路,將複雜的、非線性的模式分類問題投射到高維空間再加以處理,是一種能夠完成函數逼近、分類的局部逼近網路。

徑向基函數:就是某種沿徑向對稱的單調函數。通常定義為空間中任意一點到某一中心之間的歐幾里得距離的單調函數,可記作,作用往往是局部的,即X遠離時函數取值很小。最常用的徑向基函數是高斯核函數、多二次函數、擬多二次函數、反常S型函數。

網路結構

最基本形式額徑向基函數網路的構成包括三層,其中每一層都有著完全不同的作用。輸入層由一些源點(感知單元)組成,它們將網路與外界環境連接起來。第二層是網路中僅有的一個隱層,它的作用是從輸入空間到隱藏空間之間進行非線性變換;在大多數情況下隱藏空間有較高的維數。輸出層是線性的,它為作用於輸入層的激活模式(信號)提供響應。

學習過程

RBF網路設計師基於網路的學習演算法的設計。RBF網路的學習演算法一般包括兩個不同的階段:一是隱層徑向基中心的確定階段,無監督學習;而是徑向基函數權值學習調整階段,有監督學習。因此RBF網路所用的非線性函數形式不影響網路性能,關鍵在基中心、寬度和權值調整演算法的確定。

根據徑向基函數中心的確定方法不同,在設計RBF網路上有不同的學習策略。如:

  • 隨機選取固定中心

  • 中心的自組織選擇:基於聚類的RBF網路設計演算法

  • 中心的監督選擇:基於梯度的

  • 正交最小二乘學習演算法

  • 基於OLSRBF網路設計演算法

RBF神經網路與BP神經網路的對比

相同點

徑向基函數網路與多層感知器都是非線性多層前饋網路,它們都是通用逼近器。所以,毫不奇怪對於一個特定的MLP總存在一個RBF能夠精確的模仿它,反之亦然。

不同點

網路結構不同:

A BP神經網路是全連接的,而RBF神經網路輸入層到隱藏層之間為直接連接,隱層到輸出層為全連接。

B BP網路隱層單元為激活函數sigmoid函數,如logistics,而RBF網路隱層單元激活函數為對於中心對稱的徑向基函數,如Gauss

C BP網路是三層或三層以上的靜態前饋神經網路,其隱層和隱層節點不容易確定,沒有普遍適用的規律可循,一旦網路結構確定下來,在訓練階段網路結構將不再變化;RBF網路是三層靜態前饋神經網路,網路結構和參數在訓練中可以不斷調整。

訓練演算法不同:

A BP神經網路為全局逼近網路,學習速度慢;RB F網路為局部逼近網路,學習速度快。

B BP網路主要的訓練方法是BP演算法或改進BP演算法;而RBF網路的學習演算法一般包括兩個不同的階段:一是隱層徑向基中心的確定階段,無監督學習;而是徑向基函數權值學習調整階段,有監督學習。

理念不同:

BP網路是遞歸技術的應用,這種技術在統計學中統稱為隨機逼近;而RBF網路將網路的設計看做是一個高維空間中尋找一個能夠最佳擬合訓練數據的曲面。

優點

A具有唯一最佳逼近的特性,且無局部極小問題

BRBF網路具有較強的輸入和輸出映射功能,並且理論證明在前向網路中RBF網路是完成映射功能的最優網路。

C網路連接權值和輸出呈線性關係

D分類能力好

E學習過程收斂速度快

局限性

A最嚴重的問題就是沒有能力來解釋自己的推理過程和推理依據。

B不能向用戶提出必要的詢問,而且當數據不充分的時候,神經網路就無法工作。

C把一切問題的特徵都變為數字,把一切推理都變為數值計算,其結果勢必丟失信息。

DRBF網路用於非線性系統建模需要解決的關鍵問題是樣本數據的選擇。

7.1.5 RBM

概念

RBM是一種根植於統計力學的隨機神經網路,是一種基於能量的模型,一種有效的特徵提取方法。網路中的神經元是隨機神經元,神經元的輸出只有兩種狀態(未激活和激活狀態),用二進位01表示。狀態的取值根據概率統計法制決定。

網路結構

RBM包含兩個層——可見層和隱藏層。神經元之間的連接具有如下特點:層內無連接,層間全連接。這裡,層內既包括可見層內的神經元也包括隱藏層的神經元;而全連接指的是隱藏層的每一個神經元與可見層的所有神經元有連接;可見層的每一神經元與隱藏層的所有神經元有連接。由此可見RBM對應的圖是一個二分圖。

學習過程

學習目標:最大化似然,,其中Z(θ)是歸一化因子。可以使用梯度下降的方式求取最大值,但是時間複雜度太高,不實用。

學習方法:對比散度(CD演算法)(詳見受限玻爾茲曼機(RBM)學習筆記(六)對比散度演算法

  • 初始化:初始化可見層、網路參數

  • 迭代:對於每個樣本循環,更新網路參數

採樣出隱藏層的狀態向量

採樣出可見層的狀態向量

根據採樣的結果,使用更新公式更新網路參數

局限性

對統計誤差敏感,RBM學習規則設計兩個平均相關性之間的差異,一個相關性計算正向階段而另一個計算負向階段。當這兩個相關性相似時,抽樣雜訊的出現使得它們的差異具有更多的雜訊。

7.1.5 CNN(卷積神經網路)

概念

卷積神經網路是一種前饋神經網路,它的人工神經元可以響應一部分覆蓋範圍內的周圍單元,對於大型圖像處理有出色表現。它有5個特點:1.局部感知;2.參數共享;3.採樣;4.多卷積核;5.多卷積層。其中前3個特徵是CNN較少參數數目的利器。

網路結構

CNN由輸入層、卷積層和抽樣層的交替組合、全連接層、輸出層組成。其中輸入層一般是二維的,如64*64的圖像,輸入量可以看做是一個矩陣,其大小等於圖像的像素個數。卷積層是依次將矩陣的區域與卷積核作卷積運算,從而產生一個新的矩陣;而矩陣的區域是從左上角開始依次向右或向下移動一維產生的,指導碰到右端或下方邊界;而卷積核可以有多個,因此原矩陣經過卷積層的處理後會產生多個新矩陣。採樣層是將原矩陣的區域抽象成一個數字錶示,從而極大減少特徵的維數;而矩陣的區域的選擇與卷積層相同;矩陣區域抽象成數字的方法:取最大值,或最小值,或平均值等;抽象層的處理不會引起矩陣個數的變化,而只是改變矩陣的規模。全連接層是指將卷積層和抽樣層的交替組合產生的矩陣映射成一維的向量,然後採用BP神經網路的結構和處理方式。輸出層神經元的個數等於分類的個數,用於表示分類的輸出值。

學習過程

前行傳輸計算

卷積層:依次將矩陣的區域與卷積核作卷積運算,從而產生一個新的矩陣

採樣層:將原矩陣的區域抽象成一個數字錶示,從而極大減少特徵的維數

全連接層:參見BP神經網路

反向傳輸權值

輸出層的殘差

BP一樣,CNN的輸出層的殘差與中間層的殘差計算方式不同,輸出層的殘差是輸出值與類標值得誤差值,而中間各層的殘差來源於下一層的殘差的加權和。

下一層為採樣層(subsampling)的卷積層的殘差

當一個卷積層L的下一層(L+1)為採樣層,並假設我們已經計算得到了採樣層的殘差,現在計算該卷積層的殘差。從最上面的網路結構圖我們知道,採樣層(L+1)的map大小是卷積層L1/scale*scale),可以對採樣層的殘差與一個scale*scale的全1矩陣進行克羅內克積進行擴充,使得採樣層的殘差的維度與上一層的輸出map的維度一致。

下一層為卷積層(subsampling)的採樣層的殘差

當某個採樣層L的下一層是卷積層(L+1),並假設我們已經計算出L+1層的殘差,現在計算L層的殘差。

局限性

過多的參數個數會極大地提升運算時間,降低測試的效率;同時過多的層數伴隨著嚴重的梯度消失問題(vanishing gradient),嚴重影響訓練效果。

7.1.5 DBN(深度信念網路)

概念

DBN是一種多隱層前饋神經網路,通過低層的無監督學習自動提取特徵,通過高層的有監督學習完成分類和擬合。它是一種生成模型,通過訓練其神經元間的權重,我們可以讓整個神經網路按照最大概率來生成訓練數據。我們不僅可以使用DBN識別特徵、分類數據,還可以用它來生成數據。

網路結構

DBN由多層RBM完成特徵提取,從而實現數據的降維,本操作是無監督學習;然後將輸出作為BP神經網路的輸出,從而完成分類或擬合任務,本操作是有監督學習。DBN可以看做是「DBN=RBM+BP神經網路」。

學習過程

前幾層多層RBM的學習過程參見「6.1.5RBM

最後一層BP神經網路的學習過程參見「6.1.5RBM

局限性

網路參數多,網路訓練需要大量數據。

7.1.6 Word2vec

概念

word2vec Google2013年中開源的一款將詞表徵為實數值向量的高效工具,採用的模型有CBOWContinuous Bag –Of-Words,即連續的詞袋模型 )和 Skip -Gram兩種。Word2vecz通過訓練,可以把文本內容的處理簡化為k維空間中向量運算,而向量空間上的相似度可以用來表示文本語義上的相似度。因此,word2vec輸出的詞向量可以被用來做很多NLP相關的工作,比如聚類、找同義詞、詞性分析等。

網路結構

CBOW

其中第一層,也就是最上面的那一層可以稱為輸入層。輸入的是若干個詞的詞向量(詞向量的意思就是把一個詞表示成一個向量的形式表達,後面會介紹)。中間那個層可以成為隱層,是輸入的若干個詞向量的累加和,注意是向量的累加和,結果是一個向量。第三層是方框裡面的那個二叉樹,可以稱之為輸出層,隱層的那個節點要跟輸出層的那個二叉樹的所有非葉節點鏈接的,線太多畫不過來了。第三層的這個二叉樹是一個霍夫曼樹,每個非葉節點也是一個向量,但是這個向量不代表某個詞,代表某一類別的詞;每個葉子節點代表一個詞向量,為了簡單隻用一個w表示,沒有下標。另外要注意的是,輸入的幾個詞向量其實跟這個霍夫曼樹中的某幾個葉子節點是一樣的,當然輸入的那幾個詞跟它們最終輸出的到的那個詞未必是同一個詞,而且基本不會是同一個詞,只是這幾個詞跟輸出的那個詞往往有語義上的關係。

Skip-gram模型

只有輸入層到隱層的網路結構不同,其他均相同

學習過程

層次softmax

NegativeSampling

局限性

1.模型的性能完全取決於語料的數量和質量;

2.詞向量的相似度其實只是詞語語境的相似度,沒有考慮其他的影響因素。

7.2反饋神經網路

7.2.1 Elman神經網路

概念

Elman網路可以看作是一個具有局部記憶單元和局部反饋連接的前向神經網路。

網路結構

主要結構是前饋連接,包括輸入層、隱含層、關聯層、輸出層。輸入層、隱含層、輸出層和BP神經網路相同,只是輸出層的為線性函數。關聯層從隱含層接收反饋信號,每一個隱含層節點都有一個與之對應的關聯層節點連接。關聯層的作用是通過聯接記憶將上一個時刻的隱層狀態連同當前時刻的網路輸入一起作為隱層的輸入,相當於狀態反饋。只是

學習過程

參見7.1.3 BP神經網路的BP演算法。

局限性

當數據樣本數量很大時,網路學習的時間比較長。

7.2.2 Hopfield神經網路

概念

Hopfield神經網路,也稱為自聯想記憶神經網路。網路中會存儲一些特定的平衡點,當給定網路一個出事條件時,網路最後會在這個點上停下來。它是一種無監督學習的網路,根據激活函數的不同,可以分為離散型和連續型Hopfield神經網路。

網路結構

0層僅僅是作為網路的輸人,它不是實際神經元,所以無計算功能;而第一層是實際神經元,故而執行對輸人信息和權係數乘積求累加和,並由非線性函數f處理后產生輸出信息。其中離散型Hopfield神經網路的f是一個閾值函數,而連續型的fsigmoid函數。

學習過程

對於Hopfield網路,用它作聯想記憶時,首先通過一個學習訓練過程確定網路中的權係數,使所記憶的信息在網路的n維超立方體的某一個頂角的能量最小。當網路的權係數確定之後,只要向網路給出輸入向量,這個向量可能是局部數據,即不完全或部分不正確的數據,但是網路仍然產生所記憶的信息的完整輸出。

步驟:1.網路初始化

2.從網路中隨機選取一個神經元,並求該神經元的輸出,其他神經元不變

3.判斷是否達到穩定狀態。如果網路穩定,則結束;否者執行第2

7.3自組織網路(也是前饋神經網路)

7.3.1通用型競爭神經網路

概念

競爭型神經網路是以無監督學習方式進行訓練的,它通過自身訓練,自動完成對原始數據的聚類。

網路結構

競爭型神經網路的輸入為每個樣本的各維的分量,計算輸入向量與每一類別「代表」的距離負數,並與閾值求和。如果所有的閾值向量為0,則當輸入向量和輸入權值向量相等時,輸出為最大值0

學習規則

競爭型神經網路按Kohonen學習規則對獲勝神經元的權值進行調整。假若第i個神經元獲勝,則輸入權值向量的第i行元素(即獲勝神經元的各連接權)按下式進行調整:

按照這一規則,修改後的神經元權值向量將更加接近當前的輸入。

競爭型神經網路中某些神經元的權值向量從一開始就遠離所有的輸入向量,從而使得該神經元不管進行多長的訓練,也永遠不會贏得競爭。為了避免「死神經元」這一現象的發生,對那些很少獲勝(甚至從來不曾獲勝)的神經元賦以較大的閾值,而對那些經常獲勝的神經元賦以較小的閾值。正的閾值與距離的負值相加,使很少獲勝的神經元競爭層傳輸函數的輸入就象獲勝的神經元一樣。其權值修正如下:

局限性

不適用於樣本雜亂無序的情況。當樣本沒有明顯的分類特徵時,網路對輸入模式的響應呈現振蕩的現象,即對同一類輸入模式的響應可能激活不同的輸出神經元,從而不能實現正確的分類。

不適用於樣本過於相似的情況。當各類別的特徵相近時,網路對輸入模式的響應也會呈現振蕩的現象。

7.3.2 SOM神經網路(自組織特徵映射神經網路)

概念

SOM是採用無監督學習的前饋神經網路,通過對輸入模式的反覆學習,捕捉住各個輸入模式中所含的模式特徵,並對其進行自組織,在競爭層將分類結果表現出來。

網路結構

自組織特徵映射網路的拓撲結構分為兩層:輸入層和輸出層(競爭層)。SOM拓撲結構不包括隱含層,輸入層為一維。輸出層可以是一維、二維或多維。其中二維競爭層由矩陣方式構成,二維競爭層的應用最為廣泛。SOM中有兩種連接權值,一種是神經元對外部輸入反應的連接權值,另外一種是神經元之間的特徵權值,它的大小控制著神經元之間交互作用的強弱。

學習過程

1.權連接初始化,對所有從輸入結點到輸出結點的連接權值賦予隨機的小數,置時間計數t = 0

2.對網路輸入模式3.計算輸入與全部輸出結點所連接向量的距離

4.具有最小距離的結點競爭獲勝5.調整輸出結點j*所連接的權值及幾何鄰域內的結點所連權值

6.若還有輸入樣本數據,t = t+1,轉2

7.3.2 LVQ神經網路(學習向量量化神經網路)

概念

LVQ學習向量量化神經網路是一種用於訓練競爭層的有監督的學習方法的輸入前向神經網路,其演算法是Kohonen競爭演算法演化而來的。它在模式識別和優化領域有著廣泛的應用。

網路結構

網路由3層神經元組成,即輸入層、競爭層和線性輸出層。該網路在輸入層與競爭層之間為完全連接,而在競爭層與線性輸出層之間為部分連接,每個輸出神經元與競爭神經元的不同組相連接,競爭層和線性輸出神經元之間的連接權值固定為1,輸入層和競爭神經元間的連接權值建立為參考矢量的分量(對每個競爭神經元指定一個參考矢量)

學習過程

LVQ網路根據輸入向量和權值向量的最小歐氏距離選取獲勝神經元,並且採用勝者為王的競爭機制,令該神經元的輸出為1,其他神經元的輸出為0

LVQ 神經網路的學習演算法如下:

1.產生隨機數設定輸入層和隱藏層之間的權值初始值;

2.將輸入向量送入輸入層;

3.根據歐式距離即,計算隱藏層與輸入向量的距離;

4.選擇與權值向量的距離最小的神經元;

5.更新連接權值如果勝出神經元和預先指定的分類一致稱為正確分類, 更新;如果勝出神經元和預先指定的分類不一致,稱為不正確分類,權值的調整按更新.其中t為迭代次數, 為學習步長。

6.判斷是否滿足預先設定的最大迭代次數, 滿足則演算法結束,否則返回(2),進入下一輪的學習。

8 分類——————不同神經網路之間有哪些異同點?



熱門推薦

本文由 yidianzixun 提供 原文連結

寵物協尋 相信 終究能找到回家的路
寫了7763篇文章,獲得2次喜歡
留言回覆
回覆
精彩推薦