最基礎(chǔ)的神經(jīng)網(wǎng)絡(luò)與反向傳播

算法原理

概述:
算法通過構(gòu)建多層網(wǎng)絡(luò)解決單層感知機的非線性可分無法分割問題粟判,通過梯度下降法更新網(wǎng)絡(luò)中的各個權(quán)值向量,使得全局的損失函數(shù)極小化,從而實現(xiàn)對任意復(fù)雜的函數(shù)的擬合我碟,這在分類問題中表現(xiàn)為它能將任意復(fù)雜的數(shù)據(jù)劃分開,在回歸問題中表現(xiàn)為它能擬合任意復(fù)雜的回歸函數(shù)
其中梯度下降的核心是誤差反向傳播算法姚建,這個算法大大減少了梯度下降法的計算量矫俺,是多層神經(jīng)網(wǎng)絡(luò)得以復(fù)蘇的功臣,它使得當前層的梯度項能往后一層傳播掸冤,從而快速求得后一層的梯度

問題1:神經(jīng)網(wǎng)絡(luò)是如何解決非線性可分無法分割問題的厘托?
pla模型可以看做是神經(jīng)網(wǎng)絡(luò)的一個神經(jīng)元,我們知道稿湿,pla能對數(shù)據(jù)空間劃分一個超平面铅匹,簡單的實現(xiàn)分類任務(wù)。但是pla這種只會切一刀的模型無法解決異或問題饺藤。
而神經(jīng)網(wǎng)路可以通過增加一個2節(jié)點的隱藏層包斑,就相當于是放置了兩個pla,這兩個pla互相獨立策精,各自能在數(shù)據(jù)空間劃分一個超平面舰始,對于異或問題,它們將二維空間劃分為3到4個平面(圖2的A咽袜、B丸卷、C、D四個平面)询刹,然后隱藏層到輸出層再對這些平面做一次分割將其分成兩類(圖3的橙色與藍色)谜嫉,從而解決了非線性可分的異或問題

問題2:如何理解神經(jīng)網(wǎng)絡(luò)強大的擬合能力?
說真的凹联,我覺得神經(jīng)網(wǎng)絡(luò)比決策樹抽象太多了沐兰,不容易理解,下面只是我的一些膚淺的認識
對于分類問題蔽挠,用空間切割的思想進行理解住闯,通過上述異或問題的例子我們看到,通過增加節(jié)點數(shù)澳淑,神經(jīng)網(wǎng)絡(luò)能將輸入數(shù)據(jù)的空間劃分成任意多的子空間比原,從而能對任意復(fù)雜的數(shù)據(jù)劃分開,例如下圖1可以經(jīng)過劃分將不同標簽劃分開(圖2)

對于回歸問題杠巡,用數(shù)據(jù)空間變換的思想進行理解

  • 權(quán)值向量對輸入數(shù)據(jù)的空間的不同維度執(zhí)行了放大縮小的操作
  • 其偏置值對數(shù)據(jù)空間進行了平移
  • 求和函數(shù)與不同層的節(jié)點數(shù)差異對空間進行了降維與升維
  • 非線性激活函數(shù)對空間進行扭曲
    通過這些操作的不同組合量窘,就能將變換后的數(shù)據(jù)擬合標簽值y,因為這些操作的組合就能任意變換數(shù)據(jù)空間氢拥,也就能擬合任意復(fù)雜的函數(shù)了

問題3:反向傳播算法如何進行蚌铜?
考慮下圖所示的一個簡單的神經(jīng)網(wǎng)絡(luò)锨侯,其中的權(quán)值向量等符號也在圖中定義,這里先不考慮偏置

神經(jīng)網(wǎng)絡(luò)示例

現(xiàn)在計算該模型在 這個訓(xùn)練樣本上的損失以及對應(yīng)上圖藍色線和紅色線的反向傳播更新的梯度和
我們定義對這個樣本的損失是模型預(yù)測值與原來的的均方誤差冬殃,因此很明顯這個誤差就是我們在這個樣本上想要極小化的損失函數(shù)

重復(fù)一下囚痴,我們想要更新的是兩個權(quán)值(w和h),因此根據(jù)梯度下降法我們需要求這兩個權(quán)值對上述的損失函數(shù)的梯度审葬,然后根據(jù)求得的梯度對權(quán)值本身進行更新

  • 損失函數(shù)對w_j求偏導(dǎo)渡讼,需要運用到鏈式求導(dǎo)的定律
    \frac{?E_k}{?w_j}=\frac{?E_k}{?\hat{y_k}}*\frac{?\hat{y_k}}{?β}*\frac{?β}{?w_j} =2*(y_k-\hat{y_k})*b_j 從中定義一個g
    g=-\frac{?E_k}{?\hat{y_k}}*\frac{?\hat{y_k}}{?β}=-2*(y_k-\hat{y_k}) \text{ ① }

  • 損失函數(shù)對v_ih求偏導(dǎo),同樣需要運用到鏈式求導(dǎo)的定律
    \frac{?E_k}{?v_{ih}}=\frac{?E_k}{?y_k}*\frac{?y_k}{?β}*\frac{?β}{?b_h} *\frac{?b_h}{?α_h} *\frac{?α_h}{?v_{ih}} 由于sigmoid函數(shù)導(dǎo)數(shù)的有這樣的性質(zhì)
    σ\prime(x)=σ(x)*(1-σ(x)) \text{ ② } 根據(jù)上述①②兩式耳璧,可得結(jié)果如下,這里的g就是上一層求導(dǎo)產(chǎn)生的g
    \frac{?E_k}{?v_{ih}}=b_h (1-b_h ) w_h g 基于上述的求偏導(dǎo)展箱,就能對權(quán)值進行更新旨枯,注意這里只對權(quán)值的一維進行演示,我們對權(quán)值的每一維執(zhí)行上述計算就可以得到梯度混驰,然后更新攀隔,這樣一輪結(jié)束

關(guān)鍵代碼截圖(帶注釋)

image.png

思考題

1. 嘗試說明下其他激活函數(shù)的優(yōu)缺點?

  • tanh函數(shù)
  1. (優(yōu)點)在0附近的時候其梯度更大栖榨,最大值是sigmoid函數(shù)的4倍昆汹,因此當數(shù)據(jù)已經(jīng)預(yù)處理成在0附近的時候使用tanh的話梯度能下降更快,下圖是sigmoid和tanh的導(dǎo)數(shù)函數(shù)對比圖


    tanh
  2. (優(yōu)點)其輸出是0均值的婴栽,這個我不是很懂满粗,看了很多博客都沒具體展開,最終找到一篇論文專門討論了tanh函數(shù)的優(yōu)點愚争,由于時間有限這次沒法認真研究映皆,羅列在此,以供日后鉆研--- Efficient Backprop by LeCun
  3. (缺點)它雖然比sigmoid函數(shù)好轰枝,但是有一個sigmoid的缺點它還是存在捅彻,就是飽和區(qū)太大(或說非飽和區(qū)太小)鞍陨,從上面的圖也可以看到步淹,當|x|大于2的時候,tanh\prime(x)就基本上等于0了诚撵。這會導(dǎo)致很多問題缭裆,例如數(shù)據(jù)需要精心預(yù)處理才不會一下子進入飽和區(qū),又例如深層網(wǎng)絡(luò)中的梯度消失問題
  • ReLU函數(shù)
  1. (優(yōu)點)可以用于解決深層網(wǎng)絡(luò)中的梯度消失問題(這在第3個問題中解釋)
  2. (優(yōu)點)導(dǎo)數(shù)或0或1砾脑,不需要復(fù)雜的求導(dǎo)過程幼驶,極大減少了運算量
  3. (缺點)由于ReLu會使得一部分神經(jīng)元不可逆的“死亡”,可能會導(dǎo)致網(wǎng)絡(luò)能學(xué)到的知識減少(注:這個點我不是很懂為什么節(jié)點死亡就一定不好)
  4. 為了解決ReLu的不可逆“死亡”的問題韧衣,提出一種激活函數(shù)為Leaky ReLU盅藻,它在x<0 時购桑,給出一個很小的負數(shù)梯度值,這樣使得該節(jié)點還能有機會“復(fù)活”氏淑,理論上我覺得Leaky ReLU是會優(yōu)于ReLU的

2. 有什么方法可以實現(xiàn)傳遞過程中不激活所有節(jié)點勃蜘?
答:使用reLu函數(shù)會使得有些節(jié)點直接死掉,死掉的節(jié)點輸出0梯度也0假残,梯度0就無法更新因此死掉的節(jié)點是不可逆的缭贡,也就永遠不激活了

3. 梯度消失和梯度爆炸是什么?可以怎么解決辉懒?

答:

當神經(jīng)網(wǎng)絡(luò)層數(shù)增加的時候阳惹,離輸入層越近的層它的梯度將是它之前的層的激活函數(shù)導(dǎo)數(shù)和權(quán)值的積的連乘

關(guān)于梯度消失和梯度爆炸,很多博客(例如這篇)眶俩,都是使用下圖這個簡單的深層神經(jīng)網(wǎng)絡(luò)為例子莹汤,這里同樣使用這個網(wǎng)絡(luò)進行分析,這里的C是網(wǎng)絡(luò)的輸出

根據(jù)反向傳播算法在計算梯度時的鏈式求導(dǎo)法則,很容易求得\frac{?C}{?b_1}
\frac{?C}{?b_1}=\frac{?C}{?O_4 }*w_4*σ(O_4)*w_3*σ(O_3)*w_2*σ(O_2)
可以看到颠印,\frac{?C}{?b_1}是各個層的w_i*σ(O_i)的連乘纲岭,這就很容易導(dǎo)致問題

  1. 如果小于1的話,那么連乘的數(shù)量越多的時候线罕,乘積將會一直一直的減少止潮,甚至導(dǎo)致乘積直接變成0,這也就是梯度消失了
  2. 如果大于1的話钞楼,那么連乘的數(shù)量越多的時候喇闸,乘積將會一直一直的增大,而且是指數(shù)增大询件,這也就是梯度爆炸了

對于sigmoid函數(shù)作為激活函數(shù)的網(wǎng)絡(luò)而言仅偎,由于sigmoid函數(shù)導(dǎo)數(shù)自身的性質(zhì)(見下)以及w與σ\prime(w)之間的相互關(guān)系(見下),使得大多數(shù)情況是梯度消失

  1. σ\prime(w)最大值是0.25雳殊,而且在飽和區(qū)σ\prime(w)幾乎是0
  2. |w|小的時候σ\prime(w)較大橘沥,當|w|大的時候σ\prime(w)又接近于0

解決方法:

  • 對于梯度消失的問題,更多的是改用relu作為激活函數(shù)夯秃,因為它在x>0的時候?qū)?shù)是一直為1的座咆,能一定程度解決梯度消失
  • 對于梯度爆炸問題,可以采用設(shè)置梯度閾值的方法仓洼,當梯度大于這個閾值的時候就直接將梯度設(shè)置成閾值
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末介陶,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子色建,更是在濱河造成了極大的恐慌哺呜,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,496評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件箕戳,死亡現(xiàn)場離奇詭異某残,居然都是意外死亡国撵,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,407評論 3 392
  • 文/潘曉璐 我一進店門玻墅,熙熙樓的掌柜王于貴愁眉苦臉地迎上來介牙,“玉大人,你說我怎么就攤上這事澳厢』反。” “怎么了?”我有些...
    開封第一講書人閱讀 162,632評論 0 353
  • 文/不壞的土叔 我叫張陵剩拢,是天一觀的道長线得。 經(jīng)常有香客問我,道長徐伐,這世上最難降的妖魔是什么框都? 我笑而不...
    開封第一講書人閱讀 58,180評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮呵晨,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘熬尺。我一直安慰自己摸屠,他們只是感情好,可當我...
    茶點故事閱讀 67,198評論 6 388
  • 文/花漫 我一把揭開白布粱哼。 她就那樣靜靜地躺著季二,像睡著了一般。 火紅的嫁衣襯著肌膚如雪揭措。 梳的紋絲不亂的頭發(fā)上胯舷,一...
    開封第一講書人閱讀 51,165評論 1 299
  • 那天,我揣著相機與錄音绊含,去河邊找鬼桑嘶。 笑死,一個胖子當著我的面吹牛躬充,可吹牛的內(nèi)容都是我干的逃顶。 我是一名探鬼主播,決...
    沈念sama閱讀 40,052評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼充甚,長吁一口氣:“原來是場噩夢啊……” “哼以政!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起伴找,我...
    開封第一講書人閱讀 38,910評論 0 274
  • 序言:老撾萬榮一對情侶失蹤盈蛮,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后技矮,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體抖誉,經(jīng)...
    沈念sama閱讀 45,324評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡殊轴,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,542評論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了寸五。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片梳凛。...
    茶點故事閱讀 39,711評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖梳杏,靈堂內(nèi)的尸體忽然破棺而出韧拒,到底是詐尸還是另有隱情,我是刑警寧澤十性,帶...
    沈念sama閱讀 35,424評論 5 343
  • 正文 年R本政府宣布叛溢,位于F島的核電站,受9級特大地震影響劲适,放射性物質(zhì)發(fā)生泄漏楷掉。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,017評論 3 326
  • 文/蒙蒙 一霞势、第九天 我趴在偏房一處隱蔽的房頂上張望烹植。 院中可真熱鬧,春花似錦愕贡、人聲如沸草雕。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,668評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽墩虹。三九已至,卻和暖如春憨琳,著一層夾襖步出監(jiān)牢的瞬間诫钓,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,823評論 1 269
  • 我被黑心中介騙來泰國打工篙螟, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留菌湃,地道東北人。 一個月前我還...
    沈念sama閱讀 47,722評論 2 368
  • 正文 我出身青樓遍略,卻偏偏與公主長得像慢味,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子墅冷,可洞房花燭夜當晚...
    茶點故事閱讀 44,611評論 2 353

推薦閱讀更多精彩內(nèi)容