九色国产,午夜在线视频,新黄色网址,九九色综合,天天做夜夜做久久做狠狠,天天躁夜夜躁狠狠躁2021a,久久不卡一区二区三区

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書(shū)等14項(xiàng)超值服

開(kāi)通VIP
斯坦福大學(xué)深度學(xué)習(xí)公開(kāi)課cs231n學(xué)習(xí)筆記(5)神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)與激活函數(shù)

在線性分類器中,使用公式

:對(duì)圖像進(jìn)行分類,神經(jīng)網(wǎng)絡(luò)則使用另外一種公式:
,這里只是兩層的網(wǎng)絡(luò)結(jié)構(gòu),參數(shù)W1和W2在反向傳播過(guò)程中,通過(guò)鏈?zhǔn)椒▌t得到。

神經(jīng)網(wǎng)絡(luò)與大腦神經(jīng)結(jié)構(gòu)


上圖1中,左邊是人腦的神經(jīng)元結(jié)構(gòu),右邊是神經(jīng)網(wǎng)絡(luò)數(shù)學(xué)模型。

其中,生物神經(jīng)元:從樹(shù)突(dendrites)獲取輸入信號(hào),然后沿著它唯一的軸突(axon)產(chǎn)生輸出信號(hào);軸突在其末端逐漸分枝,通過(guò)突觸(synapses)和其他神經(jīng)元的樹(shù)突相連。

神經(jīng)網(wǎng)絡(luò)模型:信號(hào) x0 沿著軸突傳播,將基于突觸的強(qiáng)度(如w0),與其他神經(jīng)元的樹(shù)突進(jìn)行交互(比如w0x0)。其中,突觸的強(qiáng)度(即權(quán)重w)是可以學(xué)習(xí)的,并且控制著一個(gè)神經(jīng)元對(duì)另一神經(jīng)元的影響強(qiáng)度和影響方向(正權(quán)重使其興奮,負(fù)權(quán)重使其抑制)。在圖1右邊的基本模型中,多個(gè)信號(hào)在細(xì)胞體(cell body)中相加,如果累加和大于某個(gè)閾值,那么使得該神經(jīng)元被激活,軸突輸出一個(gè)峰值信號(hào)。

  1. class Neuron(object):
  2. # ...
  3. def forward(self, inputs):
  4. """ assume inputs and weights are 1-D numpy arrays and bias is a number """
  5. cell_body_sum = np.sum(inputs * self.weights) + self.bias
  6. firing_rate = 1.0 / (1.0 + math.exp(-cell_body_sum)) # sigmoid activation function
  7. return firing_rate

常用的激活函數(shù):

(1)sigmoid函數(shù):


(2)tanh函數(shù):     

上圖2中,左邊是Sigmoid函數(shù),它將輸入范圍壓縮為[0,1]。右邊是tanh函數(shù),它將輸入范圍壓縮為[-1,1]。

現(xiàn)在sigmoid函數(shù)已經(jīng)很少使用了,因?yàn)?strong>sigmoid存在兩個(gè)主要缺點(diǎn):
(1)sigmoid函數(shù)飽和會(huì)使得梯度消失。當(dāng)神經(jīng)元的激活狀態(tài)在接近于0或1時(shí)會(huì)產(chǎn)生飽和,此處的梯度幾乎為0,而在反向傳播中需要將這個(gè)(局部)梯度與整個(gè)損失函數(shù)關(guān)于該門(mén)單元輸出的梯度相乘。所以如果這個(gè)局部梯度非常小的話,相乘的結(jié)果會(huì)接近于0。另外為了防止飽和現(xiàn)象,需要對(duì)權(quán)重矩陣的初始化特別注意。例如,當(dāng)初始權(quán)重過(guò)大時(shí),此時(shí)大多數(shù)神經(jīng)元將會(huì)飽和,導(dǎo)致整個(gè)網(wǎng)絡(luò)幾乎不會(huì)學(xué)習(xí)了。
(2)sigmoid函數(shù)的輸出不是以0為中心。神經(jīng)元得到的數(shù)據(jù)不以0為中心,會(huì)影響梯度下降的計(jì)算。如果輸入神經(jīng)元的數(shù)據(jù)總是正數(shù)(比如在

 中,每個(gè)元素x都大于0),那么權(quán)重 的梯度在反向傳播的過(guò)程中將會(huì)出現(xiàn)要么全是正數(shù),要么全是負(fù)數(shù)的現(xiàn)象,而這會(huì)導(dǎo)致梯度下降過(guò)程中權(quán)重的更新出現(xiàn) “Z” 字型下降。當(dāng)然,對(duì)整個(gè)數(shù)據(jù)的梯度累加后,權(quán)重將會(huì)有正有負(fù),從而減弱上述問(wèn)題。

對(duì)比之下,tanh函數(shù)也存在飽和現(xiàn)象,當(dāng)時(shí)其輸出是以0為中心的;

(3)ReLU函數(shù):  

(4)Leaky ReLU函數(shù):  

(5)Maxout函數(shù):  


上圖2左面是ReLU函數(shù)曲線,右邊是ReLU函數(shù)相比于tanh函數(shù)在收斂性上的優(yōu)勢(shì)(Krizhevsky 等的論文指出ReLU收斂性能是tan的6倍),這是ReLU函數(shù)的優(yōu)點(diǎn),還有就是計(jì)算效率高,因?yàn)樗慌c0作比較。但是,ReLU函數(shù)也存在明顯的缺點(diǎn):當(dāng)一個(gè)很大的梯度流過(guò)ReLU神經(jīng)元時(shí),可能會(huì)導(dǎo)致神經(jīng)元無(wú)法被其他數(shù)據(jù)點(diǎn)再次激活,此時(shí)流過(guò)這個(gè)神經(jīng)元的梯度都將會(huì)變成0,從而導(dǎo)致數(shù)據(jù)多樣化的丟失。例如當(dāng)學(xué)習(xí)率設(shè)置的過(guò)高后,可能會(huì)使得網(wǎng)絡(luò)中40%的神經(jīng)元死掉。

Leaky ReLU是一種為解決“ReLU死亡”問(wèn)題的嘗試:當(dāng)x<0時(shí),ReLU函數(shù)值為0,而Leaky ReLU給出一個(gè)很小的負(fù)數(shù)梯度值(如0.01)。有些論文指出這個(gè)函數(shù)的表現(xiàn)不錯(cuò),但是效果不是很穩(wěn)定。何凱明等人在2015年發(fā)布的論文Delving Deep into Rectifiers中介紹了一種新方法:PReLU,該方法把負(fù)值區(qū)間上的斜率作為每個(gè)神經(jīng)元的一個(gè)參數(shù),然而該函數(shù)在面對(duì)不同任務(wù)時(shí)是否都取得有益性方面(即一致性)沒(méi)有清晰的說(shuō)明。

Maxout函數(shù)是對(duì)ReLU和leaky ReLU函數(shù)的一般化歸納,ReLU和Leaky ReLU函數(shù)可以看作是Maxout函數(shù)的特例(當(dāng)w1=0,b1=0時(shí),就是ReLU)。這樣Maxout神經(jīng)元就只得到ReLU的優(yōu)點(diǎn),而摒棄了缺點(diǎn),但是參數(shù)數(shù)量上卻增加了。

神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)

分層組織

神經(jīng)網(wǎng)絡(luò)模型看成是神經(jīng)元的集合,神經(jīng)元之間以無(wú)環(huán)圖的形式進(jìn)行連接,即一些神經(jīng)元的輸出是另一些神經(jīng)元的輸入,但在網(wǎng)絡(luò)中不允許循環(huán)結(jié)構(gòu)出現(xiàn),因?yàn)檠h(huán)結(jié)構(gòu)會(huì)導(dǎo)致前向傳播的無(wú)限循環(huán)。通常神經(jīng)網(wǎng)絡(luò)模型結(jié)構(gòu)是分層的,而不是像生物神經(jīng)元那種聚合在一起的團(tuán)狀。最普通的分結(jié)構(gòu)是全連接層(fully-connected layer),全連接層的某一層神經(jīng)元與前后兩層的神經(jīng)元完全成對(duì)連接,但在同一層內(nèi)的神經(jīng)元之間沒(méi)有連接。如下圖所示:

左邊是一個(gè)2層神經(jīng)網(wǎng)絡(luò),隱層由4個(gè)神經(jīng)元(或叫unit)組成,輸出層由2個(gè)神經(jīng)元組成,輸入層是3個(gè)神經(jīng)元;右邊是一個(gè)3層神經(jīng)網(wǎng)絡(luò)。當(dāng)說(shuō)到N層神經(jīng)網(wǎng)絡(luò)時(shí),輸入層是不算入的。
左邊網(wǎng)絡(luò)有4+2=6個(gè)神經(jīng)元(輸入層不算在內(nèi)),[3x4]+[4x2]=20個(gè)權(quán)重,4+2=6個(gè)偏置,共26個(gè)學(xué)習(xí)參數(shù)。
右邊網(wǎng)絡(luò)有4+4+1=9個(gè)神經(jīng)元,[3x4]+[4x4]+[4x1]=32個(gè)權(quán)重,4+4+1=9個(gè)偏置,共41個(gè)學(xué)習(xí)參數(shù)。

前向傳播計(jì)算實(shí)例:

將神經(jīng)網(wǎng)絡(luò)組織成層狀的一個(gè)主要原因是這種結(jié)構(gòu)可以讓神經(jīng)網(wǎng)絡(luò)算法使用矩陣操作,從而變得簡(jiǎn)單、高效。在上圖右邊那個(gè)3層神經(jīng)網(wǎng)絡(luò)中,輸入是一個(gè)[3x1]的向量,第一個(gè)隱層的權(quán)重W1是[4x3]的矩陣,所有單元的偏置為大小[4x1]的向量b1。這樣,每個(gè)神經(jīng)元的權(quán)重都在W1的一個(gè)行中,矩陣乘法:np.dot(W1, x) 可以計(jì)算出該層所有神經(jīng)元的激活結(jié)果。同樣W2將會(huì)是一個(gè)存儲(chǔ)第二個(gè)隱層連接的[4x4]的矩陣,W3是用于輸出層的[1x4]的矩陣。完整3層神經(jīng)網(wǎng)絡(luò)的前向傳播就是簡(jiǎn)單的3次矩陣乘法運(yùn)算,其中包含激活函數(shù)的使用。
  1. # 一個(gè)3層神經(jīng)網(wǎng)絡(luò)的前向傳播:
  2. f = lambda x: 1.0/(1.0 + np.exp(-x)) # 激活函數(shù)(用的sigmoid)
  3. x = np.random.randn(3, 1) # 含3個(gè)數(shù)字的隨機(jī)輸入向量(3x1)
  4. h1 = f(np.dot(W1, x) + b1) # 計(jì)算第一個(gè)隱層的激活數(shù)據(jù)(4x1)
  5. h2 = f(np.dot(W2, h1) + b2) # 計(jì)算第二個(gè)隱層的激活數(shù)據(jù)(4x1)
  6. out = np.dot(W3, h2) + b3 # 神經(jīng)元輸出(1x1)
代碼中的 并不一定是一個(gè)單獨(dú)的列向量,也可以是一個(gè)批量的訓(xùn)練數(shù)據(jù)(每個(gè)輸入樣本作為x的一列),所有樣本可以并行計(jì)算。

神經(jīng)網(wǎng)絡(luò)的函數(shù)表達(dá)及尺寸設(shè)置:

研究證明,神經(jīng)網(wǎng)絡(luò)可以近似地表示任何連續(xù)函數(shù),并且實(shí)踐表明,多層神經(jīng)網(wǎng)絡(luò)效果要比單層效果好。在面對(duì)一個(gè)具體問(wèn)題時(shí),網(wǎng)絡(luò)結(jié)構(gòu)怎么確定呢?是不用隱層呢?還是一個(gè)隱層,兩個(gè)隱層或更多?每個(gè)層的尺寸該多大?

例如,在二維平面上的二分類問(wèn)題, 鏈接的網(wǎng)頁(yè)是該問(wèn)題的demo。分別訓(xùn)練3個(gè)不同的神經(jīng)網(wǎng)絡(luò),每個(gè)網(wǎng)絡(luò)都只有一個(gè)隱層,但是每層的神經(jīng)元數(shù)目不同。下圖3是課程給出的不同數(shù)量神經(jīng)元對(duì)應(yīng)的分類結(jié)果:


當(dāng)神經(jīng)網(wǎng)絡(luò)有更多的神經(jīng)元時(shí),可以表達(dá)更復(fù)雜的函數(shù),但不足是可能造成對(duì)訓(xùn)練數(shù)據(jù)的過(guò)擬合。相反地,神經(jīng)網(wǎng)絡(luò)神經(jīng)元數(shù)量太小會(huì)增加梯度下降的訓(xùn)練難度,另外最終的損失值可能展現(xiàn)出多變性。所以,在過(guò)擬合和泛化能力之間需要一個(gè)平衡,以及需要使用防止過(guò)擬合的方法以便可以運(yùn)用多神經(jīng)元結(jié)構(gòu)。課中提到了正則化的方法,估計(jì)后面還會(huì)展開(kāi)吧,留意一下。

參考:

http://cs231n.github.io/neural-networks-1/

https://zhuanlan.zhihu.com/p/21462488?refer=intelligentunit

https://zhuanlan.zhihu.com/p/21513367?refer=intelligentunit


本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)
打開(kāi)APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
深度學(xué)習(xí)與神經(jīng)網(wǎng)絡(luò)入門(mén)
神經(jīng)網(wǎng)絡(luò)中常見(jiàn)的激活函數(shù)
深度學(xué)習(xí)中的主要激活函數(shù)有哪些?
激活函數(shù)小結(jié)
幾種常見(jiàn)的激活函數(shù)
深度學(xué)習(xí)中的激活函數(shù)與梯度消失
更多類似文章 >>
生活服務(wù)
熱點(diǎn)新聞
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服