從一個簡單的神經(jīng)網(wǎng)絡模型開始 原創(chuàng)
“ 神經(jīng)網(wǎng)絡是一個復雜的系統(tǒng)工程,要想透過表象看本質(zhì)就需要從最基礎的神經(jīng)網(wǎng)絡開始 ”
關于神經(jīng)網(wǎng)絡的文章寫的也不少了,但一直沒弄明白神經(jīng)網(wǎng)絡到底是怎么運作的;而現(xiàn)有的神經(jīng)網(wǎng)絡模型又太復雜,如Transformer,CNN,RNN,以及各種應用場景(NLP,CV,分類任務,回歸任務等等);導致我們無法看到神經(jīng)網(wǎng)絡最本質(zhì)的東西。
所以,今天我們就來從最簡單的神經(jīng)網(wǎng)絡開始學起。
簡單神經(jīng)網(wǎng)絡
神經(jīng)網(wǎng)絡的基本原理很簡單,那就是模仿由人類大腦神經(jīng)元構(gòu)成的神經(jīng)網(wǎng)絡;神經(jīng)元結(jié)構(gòu)如下圖所示:
上圖是生物學中神經(jīng)元的基本結(jié)構(gòu),神經(jīng)元由樹突和軸突以及細胞核組成;而不同神經(jīng)元之間通過軸突進行連接;當然這些都是中學生物學的基礎,就不多說了。
我們主要是把現(xiàn)在的神經(jīng)網(wǎng)絡模型與生物學的神經(jīng)網(wǎng)絡模型做對比;如下圖所示,其中每個圓圈就代表一個神經(jīng)元;對應著生物學模型中的紫色部分,而每個神經(jīng)元的計算過程就相當于生物學神經(jīng)元中的細胞核部分;而突觸就是下圖中的箭頭部分。
神經(jīng)網(wǎng)絡模型一般情況下分為多層,其中比較特殊的一點就是輸入層和輸出層;輸入層與輸出層根據(jù)不同的場景神經(jīng)元數(shù)量各不相同,但基本上節(jié)點數(shù)都是固定的,且輸入層和輸出層由于需要和外界交互,因此比較特殊;而中間的隱藏層由多層神經(jīng)網(wǎng)絡組成,且每一層的輸出都是下一層的輸入。
而神經(jīng)元的結(jié)構(gòu)是一個包含輸入,輸出與計算功能的模型;輸入可以類比生物神經(jīng)元中的樹突,而輸出則為神經(jīng)元的軸突;計算部分就是細胞核——進行信號處理和轉(zhuǎn)換。
如下圖所示,紅色框中的就是一個簡單的神經(jīng)元計算模型。
而在實際應用中,不同的神經(jīng)元實現(xiàn)不盡相同,但大都基于以下的神經(jīng)元數(shù)學模型:
其實很多人都有一個錯誤的認知,那就是在神經(jīng)網(wǎng)絡中最重要的是神經(jīng)元;其實在神經(jīng)網(wǎng)絡中最重要的是權(quán)重(W),神經(jīng)網(wǎng)絡訓練的目的就是調(diào)整不同神經(jīng)元的不同權(quán)重值,當然這里并不是說神經(jīng)元不重要。
而當有多個神經(jīng)元組成一個網(wǎng)絡層,然后再由多個網(wǎng)絡層組成一個復雜的神經(jīng)網(wǎng)絡結(jié)構(gòu)。
如上圖所示,每個圓圈都是一個神經(jīng)元,一個神經(jīng)元可能存在多個輸入,也就是上層神經(jīng)元的軸突部分;然后神經(jīng)元接受到輸入之后,經(jīng)過細胞核(函數(shù)計算)之后產(chǎn)生一個結(jié)果,并輸出給下層的神經(jīng)網(wǎng)絡中的神經(jīng)元;如上圖中的Z1的輸入來自于a1,a2和a3。而a1,a2和a3的輸出又可以同時輸出給Z1和Z2兩個神經(jīng)元。
而具體每個神經(jīng)元有幾個輸入,以及輸出結(jié)果給到幾個神經(jīng)元就有不同的神經(jīng)網(wǎng)絡結(jié)構(gòu)所決定。
雖然說目前有單個神經(jīng)元或者由單層神經(jīng)網(wǎng)絡組成的神經(jīng)網(wǎng)絡模型并沒有太大實際應用價值;但其為學習復雜神經(jīng)網(wǎng)絡提供了基礎的理論和數(shù)學模型。
而這也是神經(jīng)網(wǎng)絡模型的基礎,面對復雜的各種神經(jīng)網(wǎng)絡模型和結(jié)構(gòu),大部分人都被氣復雜的表象所蒙蔽,因此我們最好從最簡單的學起。雖然它目前并沒有什么用,但能夠讓你了解神經(jīng)網(wǎng)絡的基本運作原理;當你再面對復雜神經(jīng)網(wǎng)絡時,你就知道了其底層的運作原理。
本文轉(zhuǎn)載自公眾號AI探索時代 作者:DFires
原文鏈接:??https://mp.weixin.qq.com/s/KSm1EDSsnhfT4Ht3YAYICg??
