tft每日頭條

 > 圖文

 > 大腦神經網絡有多複雜

大腦神經網絡有多複雜

圖文 更新时间:2024-11-25 21:15:10

大腦神經元

人腦可能有1000多億個神經元,每個神經元都可能在幾個方向上互相連接着,這麼大量的神經元及連接就形成了一個超級大型的網絡。我們就是因為這些網絡而存在各種各樣的思想和意識。

大腦神經網絡有多複雜(聊聊從腦神經到神經網絡)1

image

大腦神經元即是腦神經細胞,主要包括細胞體、樹突、軸突、突觸等。

  • 細胞體,由細胞核、細胞質和細胞膜組成。它是神經元新陳代謝的中心,是接收信息并處理的部件。
  • 樹突,是細胞體向外延伸樹枝狀的纖維體,它是神經元的輸入通道,接收來自其他神經元的信息。
  • 軸突,是細胞體向處延伸的最長最粗的一條樹枝纖維體,即神經纖維,它是神經元的輸出通道。軸突有髓鞘纖維和無髓鞘纖維兩種結構形式,兩者傳遞信息的速度不同。軸突末端有許多向外延伸的樹枝狀纖維體,稱為神經末梢,它是神經元信息的輸出端。
  • 突觸,神經元的神經末梢與另一神經元樹突或細胞體的接觸處即為突觸。每一個神經元都通過突觸與其他神經元聯系,細胞之間通過突觸建立起連接,從而實現信息傳遞,每個神經元約有103~104個突觸。

大腦神經網絡有多複雜(聊聊從腦神經到神經網絡)2

image

模拟大腦

神經網絡就是人們試圖對大腦内部運作的模拟形式,在計算機領域,這種模型的起源相當早,可以追溯到20世紀40年代中期,當時計算機其實也剛出現不久。

1943年,麥卡洛克和皮茨發表了論文《神經活動内在概念的邏輯演算》,其中首次提出了表示人腦學習功能的一種數學方法。

大腦神經網絡有多複雜(聊聊從腦神經到神經網絡)3

image

如上圖中x類似軸突,其它神經元的輸出,經過突觸連接樹突,經過樹突後輸入到細胞體,細胞體執行一定運算後再經過激活函數最後輸出到軸突。

這個簡單的模型就是機器學習中神經網絡的基礎模型了,不經讓我們驚呼我們的大腦如此的簡單,但事實并不是這樣,人類對大腦的認識是在太少,可以說幾乎還沒有什麼實質性進展。而用這種模型模拟的大腦,實際上比大腦差太多太多了,如果人類是上帝造的,那上帝肯定不會讓你猜透他是怎麼造的。

這個階段雖然大腦的神經元已經被數學建模了,我們也并不知道這個模型是否正确,而且當時也沒有明确權重參數的調整方法。

感知機模型

進入到20世紀50年代,一種最簡單的人工神經元模型被提出來了。感知機?一聽感覺就像是一個實際存在的東西,就像計算機一樣,它應該是看得見摸得着的機器吧!的确,20世紀60年代第一個硬件實現出現,當時直接将整個硬件都叫感知機,但後來感知機被改成是算法的名字了,所以它其實是一個算法。

大腦神經網絡有多複雜(聊聊從腦神經到神經網絡)4

image

感知機以前輩的思想作為基礎,基于此提出了一種反饋循環的學習機制,通過計算樣本輸出結果與正确結果之間的誤差來進行權重調整。

大緻的流程如下:

  • 通過随機數初始化權重參數。
  • 将一個輸入向量傳入網絡。
  • 根據指定的輸入向量和權重值計算網絡的輸出y',感知機的函數如下所示:

大腦神經網絡有多複雜(聊聊從腦神經到神經網絡)5

image

  • 如果y'≠y,則通過Δw =yxi增量來調整所有連接權重wi。
  • 返回第2步。

引入梯度下降

與感知機的學習機制不同,ADALINE則是訓練神經網絡模型的另外一種算法,由于它引入了梯度下降,所以可以說它比感知機更加先進。

大腦神經網絡有多複雜(聊聊從腦神經到神經網絡)6

image

大概流程為:

  • 通過随機數初始化權重。
  • 将一個輸入向量傳入網絡。
  • 根據指定的輸入向量和權重計算神經網絡的輸出y'。
  • 最後的輸出值使用公式求和,

大腦神經網絡有多複雜(聊聊從腦神經到神經網絡)7

  • image
  • 計算誤差,将模型的輸出值與正确的标簽o進行比較,

大腦神經網絡有多複雜(聊聊從腦神經到神經網絡)8

  • image
  • 使用以下梯度下降遞歸地調整權重,

大腦神經網絡有多複雜(聊聊從腦神經到神經網絡)9

  • image
  • 返回到步驟2。

早期模型的局限

我們可以看到感知機和ADALINE已經具備了神經網絡模型的基本要素,兩者都是單層神經網絡,主要用于二分類問題,通過學習能實現二分類功能。

對于早期的神經模型,它其實具有非常大的局限性,甚至某種意義上來說,它一點用處都沒有。明斯基和帕佩特于1969年出版了《感知機》一書,其中闡明了感知機隻能處理線性可分的問題,對于其他複雜問題完全無能為力。

大腦神經網絡有多複雜(聊聊從腦神經到神經網絡)10

image

比如對于XOR函數,不存在任何一條直線能将其正确分割,感知機就是存在這種尴尬的情況,這種線性不可分的情況,感知機沒法正确将兩個類别分開。至此,神經網絡進入寒冬。

多層感知機

既然單個神經元的感知機無法解決非線性問題,那麼是不是可以推廣到多個神經元組成多個神經網絡層?于是将多組神經元連接起來,某個神經元的輸出可輸入到其它神經元中。

多層網絡的傳播,數據被輸入第一層後,将從每個神經元流入到下一層中對應的神經元中。然後在隐含層中進行求和并傳遞,最後到達輸出層進行處理。而學習多層網絡則需要反向傳播算法來支持,多層網絡增加了學習的複雜程度,從輸入到最後的輸出組成了很長的函數嵌套,這就增加了學習的難度。不過,好在求到時有鍊式法則的幫忙,讓事情簡單了很多。

大腦神經網絡有多複雜(聊聊從腦神經到神經網絡)11

image

大概流程為:

  • 計算從輸入到輸出的前饋信号。
  • 根據預測值和目标值計算輸出誤差E。
  • 通過前一層中的權重和相關激活函數的梯度對它們進行加權反向傳播誤差信号。
  • 基于反向傳播誤差信号和輸入的前饋信号計算參數的梯度

大腦神經網絡有多複雜(聊聊從腦神經到神經網絡)12

  • image
  • 使用計算好的梯度來更新參數,公式為

大腦神經網絡有多複雜(聊聊從腦神經到神經網絡)13

  • image

大腦神經網絡有多複雜(聊聊從腦神經到神經網絡)14

image

問題類型

神經網絡可用于回歸問題和分類問題。常見的結構差異在于輸出層,如果想要得到一個實數結果,我們就不應該使用标準化函數,比如sigmoid的函數。因為标準化函數會使我們的輸出結果限定在某個範圍内,而有時我們真正想要的是連續的數值結果。

  • 回歸/函數逼近問題,此類問題可使用最小二乘誤差函數,輸出層使用線性激活函數,隐含層使用S形激活函數。
  • 二分類問題,通常使用交叉熵成本函數,輸出層及隐含層都使用S形激活函數。
  • 多分類問題,通常使用交叉熵成本函數,輸出層使用softmax函數,隐含層使用sigmoid激活函數。

深度神經網絡

21世紀第二個十年,深度學習成為了人工智能最閃耀的研究。2011年谷歌X實驗室從youtube抽取1000萬圖片,把它喂給采用了深度學習的谷歌大腦,三天後這個大腦在沒有人類的幫助下自己發現了貓。2012年微軟使用深度學習,完成演講者實時語音識别、翻譯,也就是完成同聲翻譯。

雖然深度學習在20世紀80年代就出現了,但受限于當時的硬件能力和數據資源缺乏,并沒有體現出效果。隻有辛頓帶着學生在這個冷門領域堅持耕耘,直到2009年,辛頓他們才獲得了意外的成功,他們将深度學習用在語音識别領域,打破了世界紀錄,錯誤率比之前減少25%。深度學習開始火起來。

深度學習之所以有這麼大的性能提升,是因為它類似人腦一樣的深層神經網絡,它更好地模拟了人腦的工作。

卷積神經網絡

卷積神經網絡的發展主要是為了解決人類視覺問題,不過現在其它方向也都會使用。發展曆程主要從Lenet5->Alexnet->VGG->GooLenet->ResNet等。

上世界80年代發明了卷積層,但由于硬件限制無法構建複雜網絡,直到後面90年代才開始有實踐。

1998年LeCun提出卷積層、池化層和完全連接層組合,以此來解決手寫數字的識别問題。此時的效果已經很不錯了,能與其它經典的機器學習模型相比。架構如下,一個32 x 32的輸入,通過卷積提取特征,然後進行下采樣,再一次卷積和下采樣,後面進行全連接和高斯連接。即Lenet5。

後來随着可用的結構化數據和處理能力呈指數增長,使得模型能進一步增強,特别是Imagenet開源數據集的出現,數百萬張被标記分類的圖像。

2012年的LSVRC挑戰賽,Hinton和他學生Alex Krizhevsky開發了Alexnet深度卷積網絡,結構類似Lenet5,但是卷積層深度更深,參數總數達數千萬。多個卷積層且每個網絡深度都達數百。即Alexnet。

2014年LSVRC挑戰賽強大的競争者,由牛津大學視覺幾何組織提出的VGG模型。比起Alexnet,它主要是将卷積核縮小了,全部改用3x3。大體結構一緻,但卷積配置可以不同。激活函數使用ReLU,池化使用max pooling,最後使用softmax輸出各項概率。

2014年,GoogLenet網絡模型赢得LSVRC挑戰賽,該系列賽首次由大型公司參賽并獲得成功,此後也一直由擁有巨額預算的大公司赢得比賽。GoogLenet 主要由9個Inception模塊組合而成。GoogLenet參數數量降到了一千多萬,并且準确性比Alexnet提高,誤差從16.4%降到6.7%。

2015年随着《重新思考計算機視覺的Inception架構》文章發表,google研究人員發布新的Inception架構,主要解決協方差移位問題,其中将規範化應用于原始輸入及每層的輸出值。除此之外卷積核大小也有所變化,且增加了網絡總體深度及卷積的分解。

2015年ResNet被提出,由原來微軟研究院何恺明博士提出,現為Facebook AI研究科學家。ResNet戰績輝煌,當年一下取得5項第一。

循環神經網絡

循環神經網絡即recurrent neural network,它的提出主要是為了處理序列數據,序列數據是什麼?就是前面的輸入和後面的輸入是有關聯的,比如一句話,前後的詞都是有關系的,“我肚子餓了,準備去xx”,根據前面的輸入判斷“xx”很大可能就是“吃飯”。這個就是序列數據。

循環神經網絡有很多變種,比如LSTM、GRU等。

對于傳統的神經網絡,從輸入層到若幹隐含層再到輸出層,層與層之間都是全連接的,而且層内之間的節點不相連。這種網絡模型對于序列數據的預測就基本無能為力。

循環神經網絡則擅長處理序列數據,它會對前面的信息進行記憶并且參與當前輸出的計算,理論上循環神經網絡能處理任意長度的序列數據。

大腦神經網絡有多複雜(聊聊從腦神經到神經網絡)15

image

大腦神經網絡有多複雜(聊聊從腦神經到神經網絡)16

image

比如可以做字符級别的預測,如下圖,假如這裡隻有四種字符,樣本為”hello”單詞,則輸入h預測下個字符為e,e接着則輸出l,l則輸出l,最後輸入l則輸出o。

大腦神經網絡有多複雜(聊聊從腦神經到神經網絡)17

image

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关圖文资讯推荐

热门圖文资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved