用Python 進(jìn)行深度學(xué)習(xí)

摘要:深度學(xué)習(xí)背后的主要原因是人工智能應(yīng)該從人腦中汲取靈感昵慌。本文就用一個(gè)小例子無死角的介紹一下深度學(xué)習(xí)秃臣!

人腦模擬

?深度學(xué)習(xí)背后的主要原因是人工智能應(yīng)該從人腦中汲取靈感涧衙。此觀點(diǎn)引出了“神經(jīng)網(wǎng)絡(luò)”這一術(shù)語(yǔ)。人腦中包含數(shù)十億個(gè)神經(jīng)元奥此,它們之間有數(shù)萬(wàn)個(gè)連接弧哎。很多情況下,深度學(xué)習(xí)算法和人腦相似稚虎,因?yàn)槿四X和深度學(xué)習(xí)模型都擁有大量的編譯單元(神經(jīng)元)撤嫩,這些編譯單元(神經(jīng)元)在獨(dú)立的情況下都不太智能,但是當(dāng)他們相互作用時(shí)就會(huì)變得智能祥绞。

?我認(rèn)為人們需要了解到深度學(xué)習(xí)正在使得很多幕后的事物變得更好非洲。深度學(xué)習(xí)已經(jīng)應(yīng)用于谷歌搜索和圖像搜索,你可以通過它搜索像“擁抱”這樣的詞語(yǔ)以獲得相應(yīng)的圖像蜕径。-杰弗里·辛頓

神經(jīng)元

?神經(jīng)網(wǎng)絡(luò)的基本構(gòu)建模塊是人工神經(jīng)元两踏,它模仿了人類大腦的神經(jīng)元。這些神經(jīng)元是簡(jiǎn)單兜喻、強(qiáng)大的計(jì)算單元梦染,擁有加權(quán)輸入信號(hào)并且使用激活函數(shù)產(chǎn)生輸出信號(hào)。這些神經(jīng)元分布在神經(jīng)網(wǎng)絡(luò)的幾個(gè)層中朴皆。

inputs?輸入 outputs 輸出 weights 權(quán)值 activation 激活

人工神經(jīng)網(wǎng)絡(luò)的工作原理是什么帕识?

?深度學(xué)習(xí)由人工神經(jīng)網(wǎng)絡(luò)構(gòu)成,該網(wǎng)絡(luò)模擬了人腦中類似的網(wǎng)絡(luò)遂铡。當(dāng)數(shù)據(jù)穿過這個(gè)人工網(wǎng)絡(luò)時(shí)肮疗,每一層都會(huì)處理這個(gè)數(shù)據(jù)的一方面,過濾掉異常值扒接,辨認(rèn)出熟悉的實(shí)體伪货,并產(chǎn)生最終輸出。

輸入層:該層由神經(jīng)元組成钾怔,這些神經(jīng)元只接收輸入信息并將它傳遞到其他層碱呼。輸入層的圖層數(shù)應(yīng)等于數(shù)據(jù)集里的屬性或要素的數(shù)量。輸出層:輸出層具有預(yù)測(cè)性宗侦,其主要取決于你所構(gòu)建的模型類型愚臀。隱含層:隱含層處于輸入層和輸出層之間,以模型類型為基礎(chǔ)矾利。隱含層包含大量的神經(jīng)元姑裂。處于隱含層的神經(jīng)元會(huì)先轉(zhuǎn)化輸入信息馋袜,再將它們傳遞出去。隨著網(wǎng)絡(luò)受訓(xùn)練炭分,權(quán)重得到更新桃焕,從而使其更具前瞻性。

神經(jīng)元的權(quán)重

?權(quán)重是指兩個(gè)神經(jīng)元之間的連接的強(qiáng)度或幅度捧毛。你如果熟悉線性回歸的話观堂,可以將輸入的權(quán)重類比為我們?cè)诨貧w方程中用的系數(shù)。權(quán)重通常被初始化為小的隨機(jī)數(shù)值呀忧,比如數(shù)值0-1师痕。

前饋深度網(wǎng)絡(luò)

前饋監(jiān)督神經(jīng)網(wǎng)絡(luò)曾是第一個(gè)也是最成功的學(xué)習(xí)算法。該網(wǎng)絡(luò)也可被稱為深度網(wǎng)絡(luò)而账、多層感知機(jī)(MLP)或簡(jiǎn)單神經(jīng)網(wǎng)絡(luò)胰坟,并且闡明了具有單一隱含層的原始架構(gòu)。每個(gè)神經(jīng)元通過某個(gè)權(quán)重和另一個(gè)神經(jīng)元相關(guān)聯(lián)泞辐。

該網(wǎng)絡(luò)處理向前處理輸入信息笔横,激活神經(jīng)元,最終產(chǎn)生輸出值咐吼。在此網(wǎng)絡(luò)中吹缔,這稱為前向傳遞。

input layer 輸入層?? hidden layer 輸出層? output layer 輸出層

激活函數(shù)

激活函數(shù)就是求和加權(quán)的輸入到神經(jīng)元的輸出的映射锯茄。之所以稱之為激活函數(shù)或傳遞函數(shù)是因?yàn)樗刂浦せ钌窠?jīng)元的初始值和輸出信號(hào)的強(qiáng)度厢塘。

用數(shù)學(xué)表示為:

我們有許多激活函數(shù),其中使用最多的是整流線性單元函數(shù)肌幽、雙曲正切函數(shù)和solfPlus函數(shù)晚碾。

激活函數(shù)的速查表如下:

反向傳播

在網(wǎng)絡(luò)中,我們將預(yù)測(cè)值與預(yù)期輸出值相比較喂急,并使用函數(shù)計(jì)算其誤差格嘁。然后,這個(gè)誤差會(huì)傳回這個(gè)網(wǎng)絡(luò)廊移,每次傳回一個(gè)層讥蔽,權(quán)重也會(huì)根絕其導(dǎo)致的誤差值進(jìn)行更新。這個(gè)聰明的數(shù)學(xué)法是反向傳播算法画机。這個(gè)步驟會(huì)在訓(xùn)練數(shù)據(jù)的所有樣本中反復(fù)進(jìn)行,整個(gè)訓(xùn)練數(shù)據(jù)集的網(wǎng)絡(luò)更新一輪稱為一個(gè)時(shí)期新症。一個(gè)網(wǎng)絡(luò)可受訓(xùn)練數(shù)十步氏、數(shù)百或數(shù)千個(gè)時(shí)期。

prediction error 預(yù)測(cè)誤差

代價(jià)函數(shù)和梯度下降

?代價(jià)函數(shù)度量了神經(jīng)網(wǎng)絡(luò)對(duì)給定的訓(xùn)練輸入和預(yù)期輸出“有多好”徒爹。該函數(shù)可能取決于權(quán)重荚醒、偏差等屬性芋类。

?代價(jià)函數(shù)是單值的,并不是一個(gè)向量界阁,因?yàn)樗鼜恼w上評(píng)估神經(jīng)網(wǎng)絡(luò)的性能侯繁。在運(yùn)用梯度下降最優(yōu)算法時(shí),權(quán)重在每個(gè)時(shí)期后都會(huì)得到增量式地更新泡躯。

兼容代價(jià)函數(shù)

用數(shù)學(xué)表述為差值平方和:

target?目標(biāo)值 output 輸出值

?權(quán)重更新的大小和方向是由在代價(jià)梯度的反向上采取步驟計(jì)算出的贮竟。

其中η?是學(xué)習(xí)率

其中Δw是包含每個(gè)權(quán)重系數(shù)w的權(quán)重更新的向量,其計(jì)算方式如下:

target?目標(biāo)值 output 輸出值

圖表中會(huì)考慮到單系數(shù)的代價(jià)函數(shù)

initial weight?初始權(quán)重 gradient 梯度 global cost minimum 代價(jià)極小值

?在導(dǎo)數(shù)達(dá)到最小誤差值之前较剃,我們會(huì)一直計(jì)算梯度下降咕别,并且每個(gè)步驟都會(huì)取決于斜率(梯度)的陡度。

多層感知器(前向傳播)

這類網(wǎng)絡(luò)由多層神經(jīng)元組成写穴,通常這些神經(jīng)元以前饋方式(向前傳播)相互連接惰拱。一層中的每個(gè)神經(jīng)元可以直接連接后續(xù)層的神經(jīng)元。在許多應(yīng)用中啊送,這些網(wǎng)絡(luò)的單元會(huì)采用S型函數(shù)或整流線性單元(整流線性激活)函數(shù)作為激活函數(shù)偿短。

?現(xiàn)在想想看要找出處理次數(shù)這個(gè)問題,給定的賬戶和家庭成員作為輸入

?要解決這個(gè)問題馋没,首先昔逗,我們需要先創(chuàng)建一個(gè)前向傳播神經(jīng)網(wǎng)絡(luò)。我們的輸入層將是家庭成員和賬戶的數(shù)量披泪,隱含層數(shù)為1纤子, 輸出層將是處理次數(shù)。

?將圖中輸入層到輸出層的給定權(quán)重作為輸入:家庭成員數(shù)為2款票、賬戶數(shù)為3控硼。

現(xiàn)在將通過以下步驟使用前向傳播來計(jì)算隱含層(i,j)和輸出層(k)的值艾少。

步驟:

1卡乾, 乘法-添加方法。

2缚够, 點(diǎn)積(輸入*權(quán)重)幔妨。

3,一次一個(gè)數(shù)據(jù)點(diǎn)的前向傳播谍椅。

4误堡, 輸出是該數(shù)據(jù)點(diǎn)的預(yù)測(cè)。

i的值將從相連接的神經(jīng)元所對(duì)應(yīng)的輸入值和權(quán)重中計(jì)算出來雏吭。

i = (2 * 1) + (3 * 1) ???→ i = 5

同樣地锁施,j = (2 * -1) + (3 * 1) ??→ j = 1

K = (5 * 2) + (1 * -1)?? → k = 9

Python中的多層感知器問題的解決

激活函數(shù)的使用

?為了使神經(jīng)網(wǎng)絡(luò)達(dá)到其最大預(yù)測(cè)能力,我們需要在隱含層應(yīng)用一個(gè)激活函數(shù),以捕捉非線性悉抵。我們通過將值代入方程式的方式來在輸入層和輸出層應(yīng)用激活函數(shù)肩狂。

這里我們使用整流線性激活(ReLU):

用Keras開發(fā)第一個(gè)神經(jīng)網(wǎng)絡(luò)

關(guān)于Keras:

??? Keras是一個(gè)高級(jí)神經(jīng)網(wǎng)絡(luò)的應(yīng)用程序編程接口,由Python編寫姥饰,能夠搭建在TensorFlow,CNTK,或Theano上傻谁。

?使用PIP在設(shè)備上安裝Keras,并且運(yùn)行下列指令。

在keras執(zhí)行深度學(xué)習(xí)程序的步驟

1列粪,加載數(shù)據(jù)审磁;

2,創(chuàng)建模型篱竭;

3力图,編譯模型;

4掺逼,擬合模型吃媒;

5,評(píng)估模型吕喘;

開發(fā)Keras模型

全連接層用Dense表示赘那。我們可以指定層中神經(jīng)元的數(shù)量作為第一參數(shù),指定初始化方法為第二參數(shù)氯质,即初始化參數(shù)募舟,并且用激活參數(shù)確定激活函數(shù)。既然模型已經(jīng)創(chuàng)建闻察,我們就可以編譯它拱礁。我們?cè)诘讓訋?kù)(也稱為后端)用高效數(shù)字庫(kù)編譯模型,底層庫(kù)可以用Theano或TensorFlow辕漂。目前為止呢灶,我們已經(jīng)完成了創(chuàng)建模型和編譯模型,為進(jìn)行有效計(jì)算做好了準(zhǔn)備《む冢現(xiàn)在可以在PIMA數(shù)據(jù)上運(yùn)行模型了鸯乃。我們可以在模型上調(diào)用擬合函數(shù)f(),以在數(shù)據(jù)上訓(xùn)練或擬合模型跋涣。

我們先從KERAS中的程序開始缨睡,

神經(jīng)網(wǎng)絡(luò)一直訓(xùn)練到150個(gè)時(shí)期,并返回精確值陈辱。

本文作者:【方向】

閱讀原文

作者:阿里云云棲社區(qū)

鏈接:http://www.reibang.com/p/a3e2d70ee08a

來源:簡(jiǎn)書

簡(jiǎn)書著作權(quán)歸作者所有奖年,任何形式的轉(zhuǎn)載都請(qǐng)聯(lián)系作者獲得授權(quán)并注明出處。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末沛贪,一起剝皮案震驚了整個(gè)濱河市拾并,隨后出現(xiàn)的幾起案子揍堰,更是在濱河造成了極大的恐慌,老刑警劉巖嗅义,帶你破解...
    沈念sama閱讀 217,509評(píng)論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異隐砸,居然都是意外死亡之碗,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,806評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門季希,熙熙樓的掌柜王于貴愁眉苦臉地迎上來褪那,“玉大人,你說我怎么就攤上這事式塌〔┚矗” “怎么了?”我有些...
    開封第一講書人閱讀 163,875評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵峰尝,是天一觀的道長(zhǎng)偏窝。 經(jīng)常有香客問我,道長(zhǎng)武学,這世上最難降的妖魔是什么祭往? 我笑而不...
    開封第一講書人閱讀 58,441評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮火窒,結(jié)果婚禮上硼补,老公的妹妹穿的比我還像新娘。我一直安慰自己熏矿,他們只是感情好已骇,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,488評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著票编,像睡著了一般褪储。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上栏妖,一...
    開封第一講書人閱讀 51,365評(píng)論 1 302
  • 那天乱豆,我揣著相機(jī)與錄音,去河邊找鬼吊趾。 笑死宛裕,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的论泛。 我是一名探鬼主播揩尸,決...
    沈念sama閱讀 40,190評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼屁奏!你這毒婦竟也來了岩榆?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,062評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎勇边,沒想到半個(gè)月后犹撒,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,500評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡粒褒,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,706評(píng)論 3 335
  • 正文 我和宋清朗相戀三年识颊,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片奕坟。...
    茶點(diǎn)故事閱讀 39,834評(píng)論 1 347
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡祥款,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出月杉,到底是詐尸還是另有隱情刃跛,我是刑警寧澤,帶...
    沈念sama閱讀 35,559評(píng)論 5 345
  • 正文 年R本政府宣布苛萎,位于F島的核電站桨昙,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏首懈。R本人自食惡果不足惜绊率,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,167評(píng)論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望究履。 院中可真熱鬧滤否,春花似錦、人聲如沸最仑。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,779評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)泥彤。三九已至欲芹,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間吟吝,已是汗流浹背菱父。 一陣腳步聲響...
    開封第一講書人閱讀 32,912評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留剑逃,地道東北人浙宜。 一個(gè)月前我還...
    沈念sama閱讀 47,958評(píng)論 2 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像蛹磺,于是被迫代替她去往敵國(guó)和親粟瞬。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,779評(píng)論 2 354

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