搞懂深度學(xué)習(xí)到底需要哪些數(shù)學(xué)知識(shí)

姓名:李寧?? 學(xué)號(hào):19021110351

?轉(zhuǎn)載自?https://blog.csdn.net/heyc861221/article/details/86236256

【嵌牛導(dǎo)讀】 為了徹底理解深度學(xué)習(xí)碴犬,我們到底需要掌握哪些數(shù)學(xué)知識(shí)呢?

【嵌牛鼻子】 深度學(xué)習(xí)梆暮,大數(shù)據(jù)架構(gòu)服协。

【嵌牛提問】 BP神經(jīng)網(wǎng)絡(luò)的思想 ?

【嵌牛正文】

IT互聯(lián)網(wǎng)行業(yè)有個(gè)有趣現(xiàn)象啦粹,玩資本的人偿荷、玩產(chǎn)品的人、玩技術(shù)的人都能很好的在這個(gè)行業(yè)找到自己的位置并取得成功唠椭,而且可以只懂其中一樣跳纳,不需要懂其余兩樣。玩技術(shù)的人是里面最難做的贪嫂,也是三者收益最低的寺庄,永遠(yuǎn)都要不停學(xué)習(xí),不停把畫餅變成煎餅力崇。

在今年5月底斗塘,Alphago又戰(zhàn)勝了圍棋世界冠軍柯潔,AI再次呈現(xiàn)燎原之勢(shì)席卷科技行業(yè)亮靴,吸引了眾多架構(gòu)師對(duì)這個(gè)領(lǐng)域技術(shù)發(fā)展的持續(xù)關(guān)注和學(xué)習(xí)馍盟,思考AI如何做工程化,如何把我們系統(tǒng)的應(yīng)用架構(gòu)茧吊、中間件分布式架構(gòu)朽合、大數(shù)據(jù)架構(gòu)跟AI相結(jié)合,面向什么樣的應(yīng)用場(chǎng)景落地饱狂,對(duì)未來做好技術(shù)上的規(guī)劃和布局曹步。

之前發(fā)表過一篇文章《如何用70行Java代碼實(shí)現(xiàn)深度神經(jīng)網(wǎng)絡(luò)算法》(點(diǎn)擊「閱讀原文」獲得文章),記錄了深度神經(jīng)網(wǎng)絡(luò)的計(jì)算過程和程序?qū)崿F(xiàn)休讳,本文再進(jìn)一步研究一下背后的數(shù)學(xué)原理讲婚。

為了徹底理解深度學(xué)習(xí),我們到底需要掌握哪些數(shù)學(xué)知識(shí)呢俊柔?經(jīng)吵雉铮看到會(huì)列出一系列數(shù)學(xué)科目:微積分、線性代數(shù)雏婶、概率論物赶、復(fù)變函數(shù)、數(shù)值計(jì)算等等酵紫。這些數(shù)學(xué)知識(shí)有相關(guān)性,但實(shí)際上這是一個(gè)最大化的知識(shí)范圍,學(xué)習(xí)成本會(huì)非常久奖地,本文嘗試歸納理解深度學(xué)習(xí)所需要的最小化數(shù)學(xué)知識(shí)和推導(dǎo)過程橄唬。

(以下根據(jù)作者的學(xué)習(xí)理解整理,有誤之處参歹,歡迎專家學(xué)者提出指導(dǎo)批評(píng))仰楚。

多層神經(jīng)網(wǎng)絡(luò)的函數(shù)構(gòu)成關(guān)系

多層神經(jīng)網(wǎng)絡(luò)從輸入層,跨多個(gè)隱含層犬庇,到最后輸出層計(jì)算誤差僧界,從數(shù)學(xué)上可以看做一系列函數(shù)的嵌套組合而成,上一層函數(shù)輸出做為下一層函數(shù)輸入臭挽,如下圖1所示捂襟。

先從誤差函數(shù)說起,深度學(xué)習(xí)的誤差函數(shù)有典型的差平方函數(shù)埋哟,也有交叉熵函數(shù),本文以差平方函數(shù)為例:

Tj代表每個(gè)神經(jīng)元目標(biāo)值郎汪,Oj代表每個(gè)神經(jīng)元輸出值

這里Oj=f(Zj)赤赊,f是激活函數(shù),一般是s函數(shù):

或者relu函數(shù):

Zj是線性函數(shù)(Wij泛指i層和j層節(jié)點(diǎn)連接權(quán)重煞赢,bj泛指j層節(jié)點(diǎn)截距):

Oi再往前依次類推抛计,整個(gè)神經(jīng)網(wǎng)絡(luò)都可以由上面的函數(shù)嵌套去表達(dá)。

現(xiàn)在我們的問題是照筑,如何通過多次調(diào)整上面的Wij和bj吹截,能讓誤差函數(shù)E達(dá)到最小值?

換言之凝危,上面這個(gè)變量w和變量b應(yīng)該怎么取值才能達(dá)到效果呢波俄?為了回答這個(gè)問題,我們先看看誤差函數(shù)的幾何意義蛾默。

誤差函數(shù)的幾何意義及梯度下降

為了方便看懂懦铺,我們從二維和三維去理解誤差函數(shù),如果輸出值Oj只有一項(xiàng)支鸡,并設(shè)定Tj=1冬念,那么Oj和誤差函數(shù)E剛好構(gòu)成X,Y的坐標(biāo)關(guān)系如圖2所示:

也就是Oj只有一項(xiàng)的時(shí)候,誤差函數(shù)E剛好就是一個(gè)簡(jiǎn)單的拋物線牧挣,可以看到它的底部在O=1的時(shí)候急前,這時(shí)E=0最小值。

那么瀑构,當(dāng)O不等于1的時(shí)候裆针,我們需要一種方法調(diào)整O,讓O像一個(gè)小球一樣,把拋物線看做碗据块,它沿著碗切面向下滾動(dòng)码邻,越過底部由于重力作用又返回,直到在底部的位置停止不動(dòng)另假。什么方法能達(dá)到這樣神奇的效果呢像屋,就是數(shù)學(xué)家發(fā)明的導(dǎo)數(shù),如果O每次減去一個(gè)導(dǎo)數(shù)的步長(zhǎng)边篮,在離底部遠(yuǎn)的地方己莺,導(dǎo)數(shù)對(duì)應(yīng)的正切值就大,下降就快戈轿,離底部近的地方凌受,導(dǎo)數(shù)正切值就小,下降就慢思杯,在底部O=1這個(gè)點(diǎn)導(dǎo)數(shù)為0胜蛉,不再下降,并且越過底部后色乾,導(dǎo)數(shù)的正切值變負(fù)數(shù)誊册,于是又調(diào)整了它的方向,剛好達(dá)到重力一樣的效果暖璧。我們把這種方法取個(gè)難懂的名字案怯,叫做梯度下降。

再看看三維的幾何意義澎办,假設(shè)輸出值為O1嘲碱,O2兩項(xiàng),并設(shè)定T1=1局蚀,T2=1那么O1麦锯,O2和誤差函數(shù)E剛好構(gòu)成X,Y琅绅,Z的坐標(biāo)關(guān)系如圖3所示:

任意給定一個(gè)X离咐,Y值,通過函數(shù)E計(jì)算得到一個(gè)Z值奉件,形成一個(gè)三維曲面宵蛀,最小值在谷底。我們繼續(xù)使用上面的梯度下降方法县貌,會(huì)產(chǎn)生一個(gè)問題术陶,現(xiàn)在的變量是O1,O2兩項(xiàng)煤痕,到底使用哪個(gè)求導(dǎo)數(shù)呢梧宫?根據(jù)上面的幾何圖形可以看到接谨,如果O1,O2軸同時(shí)往谷底方向下降塘匣,那么E能達(dá)到最小值脓豪,可以試想O2等于一個(gè)常數(shù),就相當(dāng)于一個(gè)O1和E構(gòu)成的二維截面忌卤,采用上面的方法減去O1導(dǎo)數(shù)的步長(zhǎng)就能得到O1的變化量扫夜,同樣將O1等于一個(gè)常數(shù),能得到O2和E構(gòu)成的二維截面驰徊,并求得O2的變化量笤闯。這種將其他變量視為常數(shù),而只對(duì)當(dāng)前變量求導(dǎo)的方法叫求偏導(dǎo)棍厂。

從上面得知對(duì)二元函數(shù)z=f(x,y)的梯度下降求法颗味,是對(duì)每個(gè)X,Y求偏導(dǎo),那么對(duì)于多元函數(shù)呢牺弹,也是一樣的求法浦马,只是多維世界的幾何圖形就很難表達(dá)了,因?yàn)槲覀兩钤谌S世界张漂,很難想像出克萊因瓶這樣的四維世界晶默,瓶底通過第四維空間穿過瓶身去和瓶口相連,人類的眼睛也只能看到三維世界鹃锈,世界上的三維物體能否通過第四維通道傳送到另外一個(gè)位置上去呢荤胁,看上去像這個(gè)物體消失了瞧预,在其他地方又突然出現(xiàn)了屎债,跑題了,言歸正傳垢油。

由于導(dǎo)數(shù)的特點(diǎn)是到一個(gè)谷底就為0了盆驹,也就是不變化了,所以梯度下降求法有可能只到一個(gè)山窩里滩愁,沒有到達(dá)最深的谷底躯喇,有局部最小值的缺陷,所以我們要不停調(diào)整初始參數(shù)硝枉,和進(jìn)行多次的訓(xùn)練摸索廉丽,爭(zhēng)取能碰到一個(gè)到達(dá)谷底的最好效果。

現(xiàn)在還有個(gè)問題妻味,這里是以O(shè)為變量來解釋梯度下降求法正压,但是其實(shí)我們要求的是Wij和bj的調(diào)整值,根據(jù)上面的結(jié)論责球,我們可以通過誤差函數(shù)E對(duì)Wij和bj求偏導(dǎo)得到焦履,步長(zhǎng)為自己設(shè)置的一個(gè)常數(shù)拓劝,如下:

那么如何求呢,通過前面的第一部分的神經(jīng)網(wǎng)絡(luò)函數(shù)構(gòu)成關(guān)系嘉裤,Wij和bj到誤差函數(shù)E是一個(gè)多層嵌套的函數(shù)關(guān)系郑临,這里需要用到復(fù)合函數(shù)的求偏導(dǎo)方法,截至這里屑宠,我們理解了數(shù)學(xué)原理厢洞,再結(jié)合下面所用到的數(shù)學(xué)公式,就構(gòu)成了推導(dǎo)所需要的最小化數(shù)學(xué)知識(shí)侨把。

推導(dǎo)需要的數(shù)學(xué)公式

1犀变、復(fù)合函數(shù)求偏導(dǎo)公式

2、導(dǎo)數(shù)四則運(yùn)算公式

3秋柄、導(dǎo)數(shù)公式

我們只要記住上面3組公式获枝,就可以支持下面完整的推導(dǎo)了。

數(shù)學(xué)推導(dǎo)過程

先將多層神經(jīng)網(wǎng)絡(luò)轉(zhuǎn)成一個(gè)數(shù)學(xué)問題定義骇笔,如圖4所示:

1省店、對(duì)于輸出層的權(quán)重Wij和截距bj,通過誤差函數(shù)E對(duì)Wij求偏導(dǎo)笨触,由于函數(shù)E不能直接由Wij表達(dá)懦傍,我們根據(jù)第1組的復(fù)合函數(shù)求偏導(dǎo)公式,可以表達(dá)成Oj和Zj對(duì)Wij求偏導(dǎo)的方式:

由于Zj是線性函數(shù)我們是知道的

并且Oj是可以直接用Zj表達(dá)的:

所以E對(duì)Wij求偏導(dǎo)可以寫成f(Zj)的導(dǎo)數(shù)表達(dá)芦劣,同樣對(duì)bj求偏導(dǎo)也可以用f(Zj)的導(dǎo)數(shù)表達(dá)(記做推導(dǎo)公式一)

由于誤差函數(shù)E是可以直接用Oj表達(dá)的粗俱,我們繼續(xù)推導(dǎo)如下,根據(jù)第2組和第3組導(dǎo)數(shù)四則運(yùn)算公式和導(dǎo)數(shù)公式:

最后得到一個(gè)只用f(Zj)的導(dǎo)數(shù)表達(dá)的通用公式虚吟,其中Oj是輸出層的輸出項(xiàng)寸认,Oi是上一層的輸出項(xiàng):

從前面得知,Oj=f(Zj)串慰,f是激活函數(shù)偏塞,一般是s函數(shù)或者relu函數(shù),我們繼續(xù)推導(dǎo)如下:

(1)如果激活函數(shù)是s函數(shù)邦鲫,根據(jù)它的導(dǎo)數(shù)公式:

可以得到結(jié)論一(1)灸叼,權(quán)重Wij和截距bj,的更新公式為:

(2)如果激活函數(shù)是relu函數(shù)庆捺,根據(jù)它的導(dǎo)數(shù)公式:

可以得到結(jié)論一(2)古今,權(quán)重Wij和截距bj,的更新公式為:

2滔以、除了對(duì)輸出層的權(quán)重Wij和截距bj外捉腥,更普遍的隱含層權(quán)重Wki和截距bi更新應(yīng)該如何去求呢?

我們?nèi)匀挥谜`差函數(shù)E對(duì)Wki和bi求偏導(dǎo)醉者,借助前面的推導(dǎo)公式一但狭,可以得到

對(duì)于輸出層來說披诗,誤差函數(shù)E可以直接用Oj表達(dá),但是對(duì)于隱含層立磁,誤差函數(shù)E并不能直接用Oi表達(dá)呈队,根據(jù)多層神經(jīng)網(wǎng)絡(luò)的函數(shù)構(gòu)成關(guān)系,我知道Oj可以通過Oi向前傳遞進(jìn)行一系列函數(shù)組合得到的唱歧。

由于深度學(xué)習(xí)不一定是全連接宪摧,我們假設(shè)Oi只和輸出層j的s個(gè)節(jié)點(diǎn)相連接,下標(biāo)記為j0到j(luò)s颅崩,如上面圖四所示几于,對(duì)于Oi來說,只跟和它節(jié)點(diǎn)相連接的Oj構(gòu)成函數(shù)關(guān)系沿后,跟不相連接的Oj沒有函數(shù)關(guān)系沿彭,所以我們根據(jù)復(fù)合函數(shù)求偏導(dǎo)可以把不相連接的Oj視為常數(shù)。

并且尖滚,根據(jù)函數(shù)構(gòu)成關(guān)系喉刘,Oi可直接構(gòu)成Zjs,Zjs可直接構(gòu)成Oj漆弄,根據(jù)復(fù)合函數(shù)求偏導(dǎo)公式的鏈?zhǔn)綄懛ㄍ茖?dǎo)如下:

同時(shí)睦裳,對(duì)上式的Zjs來說嘶炭,誤差函數(shù)E對(duì)它求偏導(dǎo)谓娃,其余項(xiàng)可以視為常數(shù):

所以,在上式的結(jié)果繼續(xù)推導(dǎo)如下慨畸,可以完全用E對(duì)Zjs的偏導(dǎo)數(shù)來表達(dá):

現(xiàn)在我們將誤差函數(shù)E對(duì)Zjs的偏導(dǎo)數(shù)記做輸出層相連節(jié)點(diǎn)的誤差項(xiàng)倒谷,根據(jù)前面的推導(dǎo)公式一蛛蒙,在計(jì)算Wij更新值可以得到:

所以,隱含層的權(quán)重和截距更新恨锚,可以由輸出層的誤差項(xiàng)得到宇驾,同理也適用于其他隱含層倍靡,都可以由它的后一層(nextlayer)的誤差項(xiàng)得到猴伶,下面是結(jié)論二,隱含層權(quán)重Wki和截距bi的更新公式為:

總結(jié)

通過掌握以上數(shù)學(xué)原理和推導(dǎo)塌西,我們就理解了深度學(xué)習(xí)為什么要這樣計(jì)算他挎,接下來利用推導(dǎo)的結(jié)論一和結(jié)論二,可以完成深度學(xué)習(xí)的算法程序?qū)崿F(xiàn)了捡需,剩下的只是架構(gòu)和工程化的問題办桨。對(duì)卷積類的深度學(xué)習(xí)模型,為了降低訓(xùn)練復(fù)雜性站辉,它的權(quán)重很多是相同的(權(quán)重共享)呢撞,并且只和下一層部分神經(jīng)元節(jié)點(diǎn)連接(局部連接)损姜,數(shù)學(xué)原理、計(jì)算方法殊霞、訓(xùn)練方式和上面是一樣的摧阅,最終的模型結(jié)果都是得到一組參數(shù),用該組參數(shù)保證誤差函數(shù)最接近最小值绷蹲。

————————————————

版權(quán)聲明:本文為CSDN博主「csdn_csdn__AI」的原創(chuàng)文章棒卷,遵循 CC 4.0 BY-SA 版權(quán)協(xié)議,轉(zhuǎn)載請(qǐng)附上原文出處鏈接及本聲明祝钢。

原文鏈接:https://blog.csdn.net/heyc861221/article/details/86236256

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末比规,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子拦英,更是在濱河造成了極大的恐慌蜒什,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,386評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件疤估,死亡現(xiàn)場(chǎng)離奇詭異吃谣,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)做裙,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,142評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門岗憋,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人锚贱,你說我怎么就攤上這事仔戈。” “怎么了拧廊?”我有些...
    開封第一講書人閱讀 164,704評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵监徘,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我吧碾,道長(zhǎng)凰盔,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,702評(píng)論 1 294
  • 正文 為了忘掉前任倦春,我火速辦了婚禮户敬,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘睁本。我一直安慰自己尿庐,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,716評(píng)論 6 392
  • 文/花漫 我一把揭開白布呢堰。 她就那樣靜靜地躺著抄瑟,像睡著了一般。 火紅的嫁衣襯著肌膚如雪枉疼。 梳的紋絲不亂的頭發(fā)上皮假,一...
    開封第一講書人閱讀 51,573評(píng)論 1 305
  • 那天鞋拟,我揣著相機(jī)與錄音,去河邊找鬼惹资。 笑死严卖,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的布轿。 我是一名探鬼主播哮笆,決...
    沈念sama閱讀 40,314評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼汰扭!你這毒婦竟也來了稠肘?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,230評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤萝毛,失蹤者是張志新(化名)和其女友劉穎项阴,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體笆包,經(jīng)...
    沈念sama閱讀 45,680評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡环揽,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,873評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了庵佣。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片歉胶。...
    茶點(diǎn)故事閱讀 39,991評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖巴粪,靈堂內(nèi)的尸體忽然破棺而出通今,到底是詐尸還是另有隱情,我是刑警寧澤肛根,帶...
    沈念sama閱讀 35,706評(píng)論 5 346
  • 正文 年R本政府宣布辫塌,位于F島的核電站,受9級(jí)特大地震影響派哲,放射性物質(zhì)發(fā)生泄漏臼氨。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,329評(píng)論 3 330
  • 文/蒙蒙 一芭届、第九天 我趴在偏房一處隱蔽的房頂上張望储矩。 院中可真熱鬧,春花似錦喉脖、人聲如沸椰苟。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,910評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至谦絮,卻和暖如春题诵,著一層夾襖步出監(jiān)牢的瞬間洁仗,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,038評(píng)論 1 270
  • 我被黑心中介騙來泰國(guó)打工性锭, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留赠潦,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,158評(píng)論 3 370
  • 正文 我出身青樓草冈,卻偏偏與公主長(zhǎng)得像她奥,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子怎棱,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,941評(píng)論 2 355

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