深度學(xué)習(xí)前饋神經(jīng)網(wǎng)絡(luò)技術(shù)分析
掃描二維碼
隨時隨地手機看文章
Index
多層感知機(MLP)介紹
深度神經(jīng)網(wǎng)絡(luò)的激活函數(shù)
深度神經(jīng)網(wǎng)絡(luò)的損失函數(shù)
多層感知機的反向傳播算法
神經(jīng)網(wǎng)絡(luò)的訓(xùn)練技巧
深度卷積神經(jīng)網(wǎng)絡(luò)
前饋神經(jīng)網(wǎng)絡(luò)(feedforward neural network)是一種最簡單的神經(jīng)網(wǎng)絡(luò),各神經(jīng)元分層排列。每個神經(jīng)元只與前一層的神經(jīng)元相連。接收前一層的輸出,并輸出給下一層.各層間沒有反饋。是目前應(yīng)用最廣泛、發(fā)展最迅速的人工神經(jīng)網(wǎng)絡(luò)之一。研究從20世紀(jì)60年代開始,目前理論研究和實際應(yīng)用達到了很高的水平。
——百度百科
而深度學(xué)習(xí)模型,類似的模型統(tǒng)稱是叫深度前饋網(wǎng)絡(luò)(Deep Feedforward Network),其目標(biāo)是擬合某個函數(shù)f,由于從輸入到輸出的過程中不存在與模型自身的反饋連接,因此被稱為“前饋”。常見的深度前饋網(wǎng)絡(luò)有:多層感知機、自編碼器、限制玻爾茲曼機、卷積神經(jīng)網(wǎng)絡(luò)等等。
01 多層感知機(MLP)介紹
說起多層感知器(Multi-Later Perceptron),不得不先介紹下單層感知器(Single Layer Perceptron),它是最簡單的神經(jīng)網(wǎng)絡(luò),包含了輸入層和輸出層,沒有所謂的中間層(隱含層),可看下圖:
也就是說,將輸入向量賦予不同的權(quán)重向量,整合后加起來,并通過激活函數(shù)輸出1或-1,一般單層感知機只能解決線性可分的問題,如下圖:
我選擇了0個隱含層,也就是我們介紹的單層感知機,對于可以線性可分的數(shù)據(jù),效果還是可以的。如果我換成線性不可分的數(shù)據(jù)集,如下圖,那么跑半天都跑不出個什么結(jié)果來。
這個時候就引入多層感知器,它相比單層感知器多了一個隱含層的東西,同樣的數(shù)據(jù)集,我加入兩層 隱含層,瞬間就可以被分類得很好。
對于上面直觀的了解,我這里還是要深入介紹一下多層感知機的原理。MulTI-Layer Perceptron(我們后面都叫MLP),MLP并沒有規(guī)定隱含層的數(shù)量,因此我們可以根據(jù)自己的需求選擇合適的層數(shù),也對輸出層神經(jīng)元沒有個數(shù)限制。
02 深度神經(jīng)網(wǎng)絡(luò)的激活函數(shù)
感知機算法中包含了前向傳播(FP)和反向傳播(BP)算法,但在介紹它們之前,我們先來了解一下深度神經(jīng)網(wǎng)絡(luò)的激活函數(shù)。
為了解決非線性的分類或回歸問題,我們的激活函數(shù)必須是非線性的函數(shù),另外我們使用基于梯度的方式來訓(xùn)練模型,因此激活函數(shù)也必須是連續(xù)可導(dǎo)的。 @ 磐創(chuàng) AI
常用的激活函數(shù)主要是:
Sigmoid激活函數(shù)
Sigmoid函數(shù)就是LogisTIc函數(shù),其數(shù)學(xué)表達式為:
對應(yīng)函數(shù)圖像為:
對應(yīng)的導(dǎo)函數(shù)為:
可以看出,Sigmoid激活函數(shù)在定義域上是單調(diào)遞增的,越靠近兩端變化越平緩,而這會導(dǎo)致我們在使用BP算法的時候出現(xiàn)梯度消失的問題。
Tanh激活函數(shù)
Tanh激活函數(shù)中文名叫雙曲正切激活函數(shù),其數(shù)學(xué)表達式為:
對應(yīng)函數(shù)圖像為:
對應(yīng)的導(dǎo)函數(shù)為:
同樣的,tanh激活函數(shù)和sigmoid激活函數(shù)一樣存在梯度消失的問題,但是tanh激活函數(shù)整體效果會優(yōu)于Sigmoid激活函數(shù)。
Q:為什么Sigmoid和Tanh激活函數(shù)會出現(xiàn)梯度消失的現(xiàn)象?
A:兩者在z很大(正無窮)或者很?。ㄘ?fù)無窮)的時候,其導(dǎo)函數(shù)都會趨近于0,造成梯度消失的現(xiàn)象。
ReLU激活函數(shù)
ReLU激活函數(shù)又稱為修正線性單元或整流性單元函數(shù),是目前使用比較多的激活函數(shù),其數(shù)學(xué)表達式為:
對應(yīng)函數(shù)圖像為(a):
對應(yīng)的導(dǎo)函數(shù)為:
ReLU激活函數(shù)的收斂速度要比上面兩種要快得多,ReLU激活函數(shù)的X軸左側(cè)值恒為0,使得網(wǎng)絡(luò)具有一定的稀疏性,從而減少參數(shù)之間的依存關(guān)系,緩解了過擬合的情況,而且它的導(dǎo)函數(shù)有部分為常數(shù)1,因此不存在梯度消失的問題。但ReLU激活函數(shù)也有弊端,那就是會丟失一些特征信息。
LReLU激活函數(shù)
上面可以看到LReLU激活函數(shù)的圖像了,它和ReLU激活函數(shù)的區(qū)別在于當(dāng)z