(權(quán)重weights每個特征所占的比重偏置為神經(jīng)元的臨界狀態(tài)判斷是否激活神經(jīng)元)
https://m.toutiao.com/is/dsa3v8B/?=人工智能應(yīng)用技術(shù)之神經(jīng)網(wǎng)絡(luò)
神經(jīng)網(wǎng)絡(luò)
神經(jīng)網(wǎng)絡(luò)(Neural Networks)是模擬人類大腦處理信息方式的簡化模型,基本單元是神經(jīng)元。
生物神經(jīng)元結(jié)構(gòu)
生物神經(jīng)元主要由細胞體、樹突、軸突和神經(jīng)末梢組成。
細胞體:具有聯(lián)絡(luò)和整合輸入信息并傳出信息的作用。
樹突:從其他神經(jīng)元接收信息并將其帶到細胞體。
軸突:從細胞體發(fā)送信息到其他神經(jīng)元。
神經(jīng)末梢:相當(dāng)于感知器,接受內(nèi)、外環(huán)境的各種刺激,并轉(zhuǎn)化為神經(jīng)沖動傳遞給神經(jīng)中樞。
生物神經(jīng)元結(jié)構(gòu)
神經(jīng)元之間相互聯(lián)結(jié),組成神經(jīng)網(wǎng)絡(luò)。具體實現(xiàn)原理如下:
神經(jīng)元的數(shù)學(xué)模型
一個神經(jīng)元的數(shù)學(xué)表示可由輸入、權(quán)重、偏置、激活函數(shù)和輸出標(biāo)量組成。
輸入(input):特征向量。
權(quán)重(weights):每個特征所占的比重。
偏置(bias):神經(jīng)元的臨界狀態(tài),判斷是否激活神經(jīng)元。
激活函數(shù)(activation):起非線性映射的作用。
輸出標(biāo)量(output):預(yù)測結(jié)果。
神經(jīng)元的數(shù)學(xué)模型
一個神經(jīng)元可以有多個輸入。
一個神經(jīng)元只能有一個輸出,這個輸出可以同時輸入給多個神經(jīng)元。
一個神經(jīng)元的的數(shù)量和輸入的數(shù)量一致。
一個神經(jīng)元只有一個偏置b。
權(quán)重w和偏置b有人為的初始值,在訓(xùn)練過程中被不斷修改。
目前,常用的激活函數(shù)有sigmoid,Tanh,ReLU,Leaky ReLU,PReLU,ELU,Maxout,selu等。
激活函數(shù)
如何選擇和使用激活函數(shù),需要視實際問題而定。如:ReLU函數(shù)是相對通用的激活函數(shù);Sigmoid函數(shù)通常用于分類器;ReLU函數(shù)通常在隱藏層中使用等。同時,激活函數(shù)可以缺省,如果缺少激活函數(shù)將會是簡單線性回歸模型,無法解決非線性問題。
將相同結(jié)構(gòu)的神經(jīng)元組合在一起,構(gòu)成神經(jīng)網(wǎng)絡(luò)的層,層與層之間連接構(gòu)成神經(jīng)網(wǎng)絡(luò)。神經(jīng)網(wǎng)絡(luò)的層通常包括一個輸入層、多個隱藏層和一個輸出層。
神經(jīng)網(wǎng)絡(luò)不同層之間是全連接的,即上一層的任何一個神經(jīng)元與下一層的所有神經(jīng)元都有連接。
神經(jīng)網(wǎng)絡(luò)種類
神經(jīng)網(wǎng)絡(luò)由大量的神經(jīng)元互相連接而構(gòu)成,根據(jù)神經(jīng)元的鏈接方式,神經(jīng)網(wǎng)絡(luò)目前有幾十種模型,每種模型都有其各自特點和優(yōu)勢。在使用神經(jīng)網(wǎng)絡(luò)時,需要根據(jù)不同場景選擇相應(yīng)的模型進行場景落地。
來源:https://www.asimovinstitute.org/neural-network-zoo/
神經(jīng)網(wǎng)絡(luò)的變種非常多,無法一一枚舉,建議讀者閱讀和理解經(jīng)典的原版,才能更好的去理解各種變種。
注:想了解各個神經(jīng)網(wǎng)絡(luò)細節(jié),建議讀者查看
https://www.asimovinstitute.org/neural-network-zoo/。里面有每個神經(jīng)網(wǎng)絡(luò)的經(jīng)典論文的鏈接,可以針對性地研讀。
解密神經(jīng)網(wǎng)絡(luò)
神經(jīng)網(wǎng)絡(luò)輸入層、隱藏層和輸出層的神經(jīng)元之間如何相互作用?
層與層之間如何連接?
訓(xùn)練過程中的神經(jīng)網(wǎng)絡(luò)是怎樣的?
我們一起來看看神經(jīng)網(wǎng)絡(luò)內(nèi)部的機理。這里以神經(jīng)網(wǎng)絡(luò)最經(jīng)典例子“數(shù)字識別”為例,即我們隨便給出一張上面寫有數(shù)字的圖片并作為輸入,用神經(jīng)網(wǎng)絡(luò)來識別圖片上的數(shù)字到底是數(shù)字幾。
我們使用MNIST數(shù)據(jù)集,選擇卷積神經(jīng)網(wǎng)絡(luò)(CNN)來進行數(shù)字圖片的識別,具體過程如下:
構(gòu)建手寫神經(jīng)網(wǎng)絡(luò)
MNIST數(shù)據(jù)集
MNIST數(shù)據(jù)集樣例
MNIST 包括6萬張訓(xùn)練樣本,1萬張測試樣本。
定義模型架構(gòu)
輸入層:圖片數(shù)據(jù)的規(guī)范格式為 [row, column, depth]。
卷積層:使用卷積核即過濾器來獲取特征,需要指定過濾器的個數(shù)、大小、步長及零填充的方式。
激活函數(shù):選用卷積神經(jīng)網(wǎng)絡(luò)常用的激活函數(shù):Relu函數(shù)。
池化層:進行特征提取,去掉不重要的樣本,進一步減少參數(shù)數(shù)量,池化層選用Max Pooling。
全連接層:進行特征加權(quán),在整個神經(jīng)網(wǎng)絡(luò)中起到“分類器”的作用。
輸出層:最終預(yù)測結(jié)果輸出,該問題是個十分類問題,因此輸出層有10個神經(jīng)元向量。
訓(xùn)練模型
損失函數(shù):定義損失函數(shù)(loss function),然后盡量最小化這個指標(biāo),我們用交叉熵來計算百分比概率和對應(yīng)的獨熱碼之間的誤差。
優(yōu)化器:使用Adam 優(yōu)化器來最小化誤差,學(xué)習(xí)率 0.001。
準(zhǔn)確率:計算準(zhǔn)確率。
模型評估:模型在訓(xùn)練數(shù)據(jù)、測試數(shù)據(jù)上的損失和準(zhǔn)確率逐漸收斂,最終趨于穩(wěn)定。
模型在訓(xùn)練過程中,依次經(jīng)過卷積->激活、卷積->激活->池化、卷積->激活、卷積->激活->池化的過程。
模型預(yù)測
對于一張寫有數(shù)字的圖片作為神經(jīng)網(wǎng)絡(luò)的輸入,輸出由十個神經(jīng)元構(gòu)成,分別表示(0~9)這十個數(shù)字,神經(jīng)元值越大表示從輸入經(jīng)神經(jīng)網(wǎng)絡(luò)判斷后是該數(shù)字的可能性越大。
預(yù)測結(jié)果
最后,引用《論語·述而》的一句話:“三人行,必有我?guī)熝桑粨衿渖普叨鴱闹?,其不善者而改之。”?/p>
聯(lián)系客服