自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

一文看懂四種基本的神經(jīng)網(wǎng)絡(luò)架構(gòu)

人工智能 深度學習
本文將介紹四種常見的神經(jīng)網(wǎng)絡(luò),分別是CNN,RNN,DBN,GAN。通過這四種基本的神經(jīng)網(wǎng)絡(luò)架構(gòu),我們來對神經(jīng)網(wǎng)絡(luò)進行一定的了解。

[[260546]]

剛剛?cè)腴T神經(jīng)網(wǎng)絡(luò),往往會對眾多的神經(jīng)網(wǎng)絡(luò)架構(gòu)感到困惑,神經(jīng)網(wǎng)絡(luò)看起來復雜多樣,但是這么多架構(gòu)無非也就是三類,前饋神經(jīng)網(wǎng)絡(luò),循環(huán)網(wǎng)絡(luò),對稱連接網(wǎng)絡(luò),本文將介紹四種常見的神經(jīng)網(wǎng)絡(luò),分別是CNN,RNN,DBN,GAN。通過這四種基本的神經(jīng)網(wǎng)絡(luò)架構(gòu),我們來對神經(jīng)網(wǎng)絡(luò)進行一定的了解。

什么是神經(jīng)網(wǎng)絡(luò)

神經(jīng)網(wǎng)絡(luò)是機器學習中的一種模型,是一種模仿動物神經(jīng)網(wǎng)絡(luò)行為特征,進行分布式并行信息處理的算法數(shù)學模型。這種網(wǎng)絡(luò)依靠系統(tǒng)的復雜程度,通過調(diào)整內(nèi)部大量節(jié)點之間相互連接的關(guān)系,從而達到處理信息的目的。

一般來說,神經(jīng)網(wǎng)絡(luò)的架構(gòu)可以分為三類:

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

這是實際應用中最常見的神經(jīng)網(wǎng)絡(luò)類型。***層是輸入,***一層是輸出。如果有多個隱藏層,我們稱之為“深度”神經(jīng)網(wǎng)絡(luò)。他們計算出一系列改變樣本相似性的變換。各層神經(jīng)元的活動是前一層活動的非線性函數(shù)。

循環(huán)網(wǎng)絡(luò)

循環(huán)網(wǎng)絡(luò)在他們的連接圖中定向了循環(huán),這意味著你可以按照箭頭回到你開始的地方。他們可以有復雜的動態(tài),使其很難訓練。他們更具有生物真實性。

循環(huán)網(wǎng)絡(luò)的目的使用來處理序列數(shù)據(jù)。在傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)模型中,是從輸入層到隱含層再到輸出層,層與層之間是全連接的,每層之間的節(jié)點是無連接的。但是這種普通的神經(jīng)網(wǎng)絡(luò)對于很多問題卻無能無力。例如,你要預測句子的下一個單詞是什么,一般需要用到前面的單詞,因為一個句子中前后單詞并不是獨立的。

循環(huán)神經(jīng)網(wǎng)路,即一個序列當前的輸出與前面的輸出也有關(guān)。具體的表現(xiàn)形式為網(wǎng)絡(luò)會對前面的信息進行記憶并應用于當前輸出的計算中,即隱藏層之間的節(jié)點不再無連接而是有連接的,并且隱藏層的輸入不僅包括輸入層的輸出還包括上一時刻隱藏層的輸出。

對稱連接網(wǎng)絡(luò):

對稱連接網(wǎng)絡(luò)有點像循環(huán)網(wǎng)絡(luò),但是單元之間的連接是對稱的(它們在兩個方向上權(quán)重相同)。比起循環(huán)網(wǎng)絡(luò),對稱連接網(wǎng)絡(luò)更容易分析。這個網(wǎng)絡(luò)中有更多的限制,因為它們遵守能量函數(shù)定律。沒有隱藏單元的對稱連接網(wǎng)絡(luò)被稱為“Hopfield 網(wǎng)絡(luò)”。有隱藏單元的對稱連接的網(wǎng)絡(luò)被稱為玻爾茲曼機。

感知機

其實之前的帖子講過一些關(guān)于感知機的內(nèi)容,這里再復述一下。

首先還是這張圖

這是一個M-P神經(jīng)元

 

 

一個神經(jīng)元有n個輸入,每一個輸入對應一個權(quán)值w,神經(jīng)元內(nèi)會對輸入與權(quán)重做乘法后求和,求和的結(jié)果與偏置做差,最終將結(jié)果放入激活函數(shù)中,由激活函數(shù)給出***的輸出,輸出往往是二進制的,0 狀態(tài)代表抑制,1 狀態(tài)代表激活。

 

 

感知機可以分為單層感知機,多層感知機。

我們這里主要討論的是單層感知機。

而感知機由兩層神經(jīng)網(wǎng)絡(luò)組成,輸入層接收外界輸入信號后傳遞給輸出層,輸出層是 M-P神經(jīng)元,

 

 

可以把感知機看作是 n 維實例空間中的超平面決策面,對于超平面一側(cè)的樣本,感知器輸出 1,對于另一側(cè)的實例輸出 0,這個決策超平面方程是 w⋅x=0。 那些可以被某一個超平面分割的正反樣例集合稱為線性可分(linearly separable)樣例集合,它們就可以使用圖中的感知機表示。

與、或、非問題都是線性可分的問題,使用一個有兩輸入的感知機能容易地表示,而異或并不是一個線性可分的問題,所以使用單層感知機是不行的,這時候就要使用多層感知機來解決疑惑問題了。

如果我們要訓練一個感知機,應該怎么辦呢?

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

 

 

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

多層感知機,或者說是多層神經(jīng)網(wǎng)絡(luò)無非就是在輸入層與輸出層之間加了多個隱藏層而已,后續(xù)的CNN,DBN等神經(jīng)網(wǎng)絡(luò)只不過是將重新設(shè)計了每一層的類型。感知機可以說是神經(jīng)網(wǎng)絡(luò)的基礎(chǔ),后續(xù)更為復雜的神經(jīng)網(wǎng)絡(luò)都離不開最簡單的感知機的模型,

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

談到機器學習,我們往往還會跟上一個詞語,叫做模式識別,但是真實環(huán)境中的模式識別往往會出現(xiàn)各種問題。比如:

圖像分割:真實場景中總是摻雜著其它物體。很難判斷哪些部分屬于同一個對象。對象的某些部分可以隱藏在其他對象的后面。

物體光照:像素的強度被光照強烈影響。

圖像變形:物體可以以各種非仿射方式變形。例如,手寫也可以有一個大的圓圈或只是一個尖頭。

情景支持:物體所屬類別通常由它們的使用方式來定義。例如,椅子是為了讓人們坐在上面而設(shè)計的,因此它們具有各種各樣的物理形狀。

卷積神經(jīng)網(wǎng)絡(luò)與普通神經(jīng)網(wǎng)絡(luò)的區(qū)別在于,卷積神經(jīng)網(wǎng)絡(luò)包含了一個由卷積層和子采樣層構(gòu)成的特征抽取器。在卷積神經(jīng)網(wǎng)絡(luò)的卷積層中,一個神經(jīng)元只與部分鄰層神經(jīng)元連接。在CNN的一個卷積層中,通常包含若干個特征平面(featureMap),每個特征平面由一些矩形排列的的神經(jīng)元組成,同一特征平面的神經(jīng)元共享權(quán)值,這里共享的權(quán)值就是卷積核。卷積核一般以隨機小數(shù)矩陣的形式初始化,在網(wǎng)絡(luò)的訓練過程中卷積核將學習得到合理的權(quán)值。共享權(quán)值(卷積核)帶來的直接好處是減少網(wǎng)絡(luò)各層之間的連接,同時又降低了過擬合的風險。子采樣也叫做池化(pooling),通常有均值子采樣(mean pooling)和***值子采樣(max pooling)兩種形式。子采樣可以看作一種特殊的卷積過程。卷積和子采樣大大簡化了模型復雜度,減少了模型的參數(shù)。

卷積神經(jīng)網(wǎng)絡(luò)由三部分構(gòu)成。***部分是輸入層。第二部分由n個卷積層和池化層的組合組成。第三部分由一個全連結(jié)的多層感知機分類器構(gòu)成。

這里舉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個。該層與上一層連接沒有經(jīng)過pooling層。
  • 第五層卷積:3×3的卷積核256個,兩個GPU上個128個。
  • 第五層max-pooling:2×2的核。
  • ***層全連接:4096維,將第五層max-pooling的輸出連接成為一個一維向量,作為該層的輸入。
  • 第二層全連接:4096維
  • Softmax層:輸出為1000,輸出的每一維都是圖片屬于該類別的概率。

卷積神經(jīng)網(wǎng)絡(luò)在模式識別領(lǐng)域有著重要應用,當然這里只是對卷積神經(jīng)網(wǎng)絡(luò)做了最簡單的講解,卷積神經(jīng)網(wǎng)絡(luò)中仍然有很多知識,比如局部感受野,權(quán)值共享,多卷積核等內(nèi)容,后續(xù)有機會再進行講解。

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

傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)對于很多問題難以處理,比如你要預測句子的下一個單詞是什么,一般需要用到前面的單詞,因為一個句子中前后單詞并不是獨立的。RNN之所以稱為循環(huán)神經(jīng)網(wǎng)路,即一個序列當前的輸出與前面的輸出也有關(guān)。具體的表現(xiàn)形式為網(wǎng)絡(luò)會對前面的信息進行記憶并應用于當前輸出的計算中,即隱藏層之間的節(jié)點不再無連接而是有連接的,并且隱藏層的輸入不僅包括輸入層的輸出還包括上一時刻隱藏層的輸出。理論上,RNN能夠?qū)θ魏伍L度的序列數(shù)據(jù)進行處理。

這是一個簡單的RNN的結(jié)構(gòu),可以看到隱藏層自己是可以跟自己進行連接的。

 

 

那么RNN為什么隱藏層能夠看到上一刻的隱藏層的輸出呢,其實我們把這個網(wǎng)絡(luò)展開來開就很清晰了。

 

 

這個網(wǎng)絡(luò)在t時刻接收到輸入Xt之后,隱藏層的值是St,輸出值是Ot,關(guān)鍵一點是,的值不僅僅取決于Xt,還取決于St-1。

 

 

式1是輸出層的計算公式,輸出層是一個全連接層,也就是它的每個節(jié)點都和隱藏層的每個節(jié)點相連。V是輸出層的權(quán)重矩陣,g是激活函數(shù)。式2是隱藏層的計算公式,它是循環(huán)層。U是輸入x的權(quán)重矩陣,W是上一次的值St-1作為這一次的輸入的權(quán)重矩陣,f是激活函數(shù)。

從上面的公式我們可以看出,循環(huán)層和全連接層的區(qū)別就是循環(huán)層多了一個權(quán)重矩陣 W。

如果反復把式2帶入到式1,我們將得到:

 

 

從上面可以看出,循環(huán)神經(jīng)網(wǎng)絡(luò)的輸出值,是受前面歷次輸入值Xt、Xt-1、Xt-2、X-3、X-4…影響的,這就是為什么循環(huán)神經(jīng)網(wǎng)絡(luò)可以往前看任意多個輸入值的原因。

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

在講DBN之前,我們需要對DBN的基本組成單位有一定的了解,那就是RBM,受限玻爾茲曼機。

首先什么是玻爾茲曼機?

 

 

如圖所示為一個玻爾茲曼機,其藍色節(jié)點為隱層,白色節(jié)點為輸入層。

玻爾茲曼機和遞歸神經(jīng)網(wǎng)絡(luò)相比,區(qū)別體現(xiàn)在以下幾點:

1、遞歸神經(jīng)網(wǎng)絡(luò)本質(zhì)是學習一個函數(shù),因此有輸入和輸出層的概念,而玻爾茲曼機的用處在于學習一組數(shù)據(jù)的“內(nèi)在表示”,因此其沒有輸出層的概念。

2、遞歸神經(jīng)網(wǎng)絡(luò)各節(jié)點鏈接為有向環(huán),而玻爾茲曼機各節(jié)點連接成無向完全圖。

而受限玻爾茲曼機是什么呢?

最簡單的來說就是加入了限制,這個限制就是將完全圖變成了二分圖。即由一個顯層和一個隱層構(gòu)成,顯層與隱層的神經(jīng)元之間為雙向全連接。

 

 

h表示隱藏層,v表示顯層

在RBM中,任意兩個相連的神經(jīng)元之間有一個權(quán)值w表示其連接強度,每個神經(jīng)元自身有一個偏置系數(shù)b(對顯層神經(jīng)元)和c(對隱層神經(jīng)元)來表示其自身權(quán)重。

具體的公式推導在這里就不展示了

DBN是一個概率生成模型,與傳統(tǒng)的判別模型的神經(jīng)網(wǎng)絡(luò)相對,生成模型是建立一個觀察數(shù)據(jù)和標簽之間的聯(lián)合分布,對P(Observation|Label)和 P(Label|Observation)都做了評估,而判別模型僅僅而已評估了后者,也就是P(Label|Observation)。

DBN由多個限制玻爾茲曼機(Restricted Boltzmann Machines)層組成,一個典型的神經(jīng)網(wǎng)絡(luò)類型如圖所示。這些網(wǎng)絡(luò)被“限制”為一個可視層和一個隱層,層間存在連接,但層內(nèi)的單元間不存在連接。隱層單元被訓練去捕捉在可視層表現(xiàn)出來的高階數(shù)據(jù)的相關(guān)性。

 

 

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

生成對抗網(wǎng)絡(luò)其實在之前的帖子中做過講解,這里在說明一下。

生成對抗網(wǎng)絡(luò)的目標在于生成,我們傳統(tǒng)的網(wǎng)絡(luò)結(jié)構(gòu)往往都是判別模型,即判斷一個樣本的真實性。而生成模型能夠根據(jù)所提供的樣本生成類似的新樣本,注意這些樣本是由計算機學習而來的。

GAN一般由兩個網(wǎng)絡(luò)組成,生成模型網(wǎng)絡(luò),判別模型網(wǎng)絡(luò)。

生成模型 G 捕捉樣本數(shù)據(jù)的分布,用服從某一分布(均勻分布,高斯分布等)的噪聲 z 生成一個類似真實訓練數(shù)據(jù)的樣本,追求效果是越像真實樣本越好;判別模型 D 是一個二分類器,估計一個樣本來自于訓練數(shù)據(jù)(而非生成數(shù)據(jù))的概率,如果樣本來自于真實的訓練數(shù)據(jù),D 輸出大概率,否則,D 輸出小概率。

舉個例子:生成網(wǎng)絡(luò) G 好比假幣制造團伙,專門制造假幣,判別網(wǎng)絡(luò) D 好比警察,專門檢測使用的貨幣是真幣還是假幣,G 的目標是想方設(shè)法生成和真幣一樣的貨幣,使得 D 判別不出來,D 的目標是想方設(shè)法檢測出來 G 生成的假幣。

傳統(tǒng)的判別網(wǎng)絡(luò):

 

 

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

 

 

在訓練的過程中固定一方,更新另一方的網(wǎng)絡(luò)權(quán)重,交替迭代,在這個過程中,雙方都極力優(yōu)化自己的網(wǎng)絡(luò),從而形成競爭對抗,直到雙方達到一個動態(tài)的平衡(納什均衡),此時生成模型 G 恢復了訓練數(shù)據(jù)的分布(造出了和真實數(shù)據(jù)一模一樣的樣本),判別模型再也判別不出來結(jié)果,準確率為 50%。

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

生成網(wǎng)絡(luò)

 

 

判別網(wǎng)絡(luò)

 

 

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

 

 

小結(jié)

本文非常簡單的介紹了四種神經(jīng)網(wǎng)絡(luò)的架構(gòu),CNN,RNN,DBN,GAN。當然也僅僅是簡單的介紹,并沒有深層次講解其內(nèi)涵。這四種神經(jīng)網(wǎng)絡(luò)的架構(gòu)十分常見,應用也十分廣泛。當然關(guān)于神經(jīng)網(wǎng)絡(luò)的知識,不可能幾篇帖子就講解完,這里知識講解一些基礎(chǔ)知識,幫助大家快速入(zhuang)門(bi)。后面的帖子將對深度自動編碼器,Hopfield 網(wǎng)絡(luò)長短期記憶網(wǎng)絡(luò)(LSTM)進行講解。 

責任編輯:龐桂玉 來源: 36大數(shù)據(jù)
相關(guān)推薦

2017-04-17 13:10:09

神經(jīng)網(wǎng)絡(luò)人工智能網(wǎng)絡(luò)

2022-06-14 13:55:30

模型訓練網(wǎng)絡(luò)

2019-11-19 08:00:00

神經(jīng)網(wǎng)絡(luò)AI人工智能

2018-07-29 06:46:07

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

2022-11-01 16:02:31

架構(gòu)神經(jīng)網(wǎng)絡(luò)模型

2024-11-05 14:00:56

2020-12-08 20:20:15

神經(jīng)網(wǎng)絡(luò)深度學習機器學習

2025-03-31 08:50:00

模型量化神經(jīng)網(wǎng)絡(luò)AI

2023-09-17 23:09:24

Transforme深度學習

2016-08-18 00:21:12

網(wǎng)絡(luò)爬蟲抓取網(wǎng)絡(luò)

2021-10-26 16:10:50

神經(jīng)網(wǎng)絡(luò)AI算法

2025-03-27 02:44:00

2017-07-05 15:14:30

神經(jīng)網(wǎng)絡(luò)連接方式網(wǎng)絡(luò)單元

2017-06-18 16:20:57

神經(jīng)網(wǎng)絡(luò)單元

2017-11-29 13:55:55

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

2017-04-25 08:26:39

神經(jīng)網(wǎng)絡(luò)解碼

2020-08-14 10:20:49

神經(jīng)網(wǎng)絡(luò)人工智能池化層

2024-12-31 10:36:40

AIAgent場景

2020-03-31 14:40:24

HashMap源碼Java

2019-08-29 10:10:52

神經(jīng)網(wǎng)絡(luò)激活函數(shù)人工智能
點贊
收藏

51CTO技術(shù)棧公眾號