《deep learning》前兩周課程總結(jié)

AI發(fā)展迅速涨享,特別是NLP筋搏,一會(huì)是Bert,一會(huì)是GPT-2厕隧,熱火朝天奔脐。禁不住,我?guī)讉€(gè)月前也想重新好好學(xué)習(xí)一下深度學(xué)習(xí)吁讨,并且用它做點(diǎn)東西髓迎。前幾天,看《哈佛幸福課》的時(shí)候就說了建丧,想做什么事情排龄,不要拖著說等個(gè)什么契機(jī)再做,要立刻行動(dòng)翎朱,行為改變態(tài)度橄维。

于是尺铣,上個(gè)周末,我終于計(jì)劃好學(xué)習(xí)計(jì)劃争舞,重新開始學(xué)習(xí)迄埃。學(xué)習(xí)深度學(xué)習(xí),當(dāng)然從吳恩達(dá)的《deep learning》開始兑障,原理講得很透徹也很易懂,適合我這種沒什么基礎(chǔ)的蕉汪。下面流译,是我這個(gè)周末學(xué)習(xí)筆記。

一者疤、神經(jīng)網(wǎng)絡(luò)和深度學(xué)習(xí)(第一周)

1福澡、Relu全稱是修正性單元,它的函數(shù)示例大概如下圖:

image.png

2驹马、一個(gè)簡單的神經(jīng)網(wǎng)絡(luò)

image.png

例如:由房子大小革砸、房間數(shù)量、郵政編碼糯累、富裕程度這個(gè)四個(gè)輸入x算利,來決定最終的價(jià)格,也就是y泳姐。

注意:上面的圓圈效拭,在神經(jīng)網(wǎng)絡(luò)中叫做隱藏單元。其中上面的x1,x2,x3,x4代表輸入層胖秒,也就是4個(gè)特征缎患。

最終,可以參考下圖:

image.png

3阎肝、神經(jīng)網(wǎng)絡(luò)可以處理結(jié)構(gòu)化數(shù)據(jù)挤渔,也可以處理非結(jié)構(gòu)化數(shù)據(jù)

結(jié)構(gòu)化數(shù)據(jù):一般是我們數(shù)據(jù)庫中的數(shù)據(jù),例如Mysql中表的數(shù)據(jù)

非結(jié)構(gòu)化數(shù)據(jù):音頻數(shù)據(jù)风题、圖片數(shù)據(jù)判导、文本數(shù)據(jù)等等

4、神經(jīng)網(wǎng)絡(luò)分類

(1)基本的神經(jīng)網(wǎng)絡(luò)

(2)CNN也就是卷積神經(jīng)網(wǎng)絡(luò)俯邓,專門用來做圖像識(shí)別等

(3)RNN循環(huán)神經(jīng)網(wǎng)絡(luò)骡楼,它主要用來處理一維的時(shí)間序列數(shù)據(jù),例如音頻數(shù)據(jù)稽鞭、文本數(shù)據(jù)鸟整。

5、神經(jīng)網(wǎng)絡(luò)為什么突然這么厲害了朦蕴?

image.png

參考上圖:

1篮条、當(dāng)在數(shù)據(jù)量小的時(shí)候弟头,也許一些機(jī)器學(xué)習(xí)算法,因?yàn)樵O(shè)計(jì)的更好涉茧,可能會(huì)被深度學(xué)習(xí)表現(xiàn)更好赴恨,所以小數(shù)據(jù)集時(shí),并不能確定算法優(yōu)劣伴栓。

2伦连、而只有當(dāng)數(shù)據(jù)量變得很大時(shí),大型的神經(jīng)網(wǎng)絡(luò)才表現(xiàn)出更優(yōu)異的結(jié)果钳垮。

3惑淳、也就是說,推動(dòng)神經(jīng)網(wǎng)絡(luò)發(fā)展饺窿,不僅僅是技術(shù)的發(fā)展歧焦,網(wǎng)絡(luò)規(guī)模的發(fā)展,更是因?yàn)橛辛撕A康臄?shù)據(jù)肚医,注意了绢馍,這個(gè)數(shù)據(jù)還需要是標(biāo)簽化的數(shù)據(jù)。

6肠套、神經(jīng)網(wǎng)絡(luò)發(fā)展的三要素

  • 數(shù)據(jù)

  • 計(jì)算力

  • 算法

其中舰涌,算法的發(fā)展,有一個(gè)例子你稚,就是sigmoid到relu舵稠,就會(huì)使梯度下降運(yùn)行得更快,因?yàn)閟igmoid到后面梯度越來越接近0了入宦,如下:

image.png

二哺徊、神經(jīng)網(wǎng)絡(luò)基礎(chǔ)(第二周)

1、神經(jīng)網(wǎng)絡(luò)擁有一個(gè)前向傳播乾闰,然后又會(huì)有一個(gè)后向傳播

2落追、二分分類符號(hào)

將m張圖片,也就是使用 nx * m 代表(nx, m)矩陣涯肩,用python表達(dá)就是X.shape = (nx, m)轿钠,nx代表行,m代表列病苗。最終疗垛,變成Y矩陣,Y.shape = (1, m)硫朦,代表1行m列贷腕,邏輯符號(hào)看下面:

image.png

原來,矩陣的符號(hào)是下面?zhèn)€:

image.png

代表 x 是 nx元素個(gè)矩陣,它是一維矩陣泽裳。

image.png

X代表是(nx, m)矩陣瞒斩,它是二維矩陣。

3涮总、怎么使用矩陣代表一張圖片

一張64x64像素的RGB圖片胸囱,因?yàn)樗?個(gè)通道,所以可以表示成 64x64x3瀑梗,最終將其壓縮到一列中烹笔,如下:

image.png

4、一個(gè)logistic回歸

image.png

(1)使用w和b參數(shù)學(xué)習(xí)

(2)最終使用sigmoid函數(shù)轉(zhuǎn)換為0和1

image.png

5抛丽、損失函數(shù)箕宙、成本函數(shù)

損失函數(shù):預(yù)測的值與真實(shí)的值誤差

成本函數(shù):則是求所有的預(yù)測值和真實(shí)值誤差的平均值

image.png

6、梯度下降

image.png
image.png

在梯度下降的時(shí)候铺纽,我們其實(shí)就是在找凸函數(shù)的最優(yōu)解。

例如哟忍,上面的圖形中底部那一點(diǎn)狡门。剛開始,我們不管初始化多少锅很,我們都會(huì)使用梯度下降其馏,不停逼近那個(gè)最優(yōu)解。

其中爆安,在求最優(yōu)解的時(shí)候叛复,我們會(huì)使用導(dǎo)數(shù)更新w和b值,還有一個(gè)參數(shù)就是α扔仓,它代表學(xué)習(xí)率褐奥,它越大,學(xué)習(xí)的越快翘簇,但是最后精度可能不好撬码。而求導(dǎo)的過程,其實(shí)就是求曲線的斜率版保。

7呜笑、直線求導(dǎo)

對(duì)于直線,斜率就是導(dǎo)數(shù)彻犁,一般導(dǎo)數(shù)這兩種寫法:

image.png

為啥說直線斜率就是導(dǎo)數(shù)叫胁,參考下面:

image.png

8、更多復(fù)雜的導(dǎo)數(shù)例子

注意:導(dǎo)數(shù)都是求函數(shù)的斜率汞幢,直線的斜率是一樣的驼鹅,但是其它函數(shù),例如loga等,在不同的地方谤民,曲線斜率是不一樣的堰酿。

image.png

9、計(jì)算圖流程

image.png

需要知道的是:

(1) 前向傳播是計(jì)算圖從左向右計(jì)算

(2)后向傳播是計(jì)算圖從右向左計(jì)算導(dǎo)數(shù)的計(jì)算

(3)python編程中张足,da代表損失函數(shù)對(duì)a求導(dǎo)触创,dv代表損失函數(shù)都v求導(dǎo)

10、logistic的梯度下降(在1個(gè)樣本中的推導(dǎo))

image.png

最主要为牍,先求出dw1哼绑、dw2、db這些導(dǎo)數(shù)碉咆,然使用它們更新w1抖韩、w2、b疫铜,這就是梯度下降茂浮,更新公式如下:

image.png

其中α是學(xué)習(xí)率。

11壳咕、多個(gè)樣本的logistic回歸

其中sigmoid的函數(shù)為:

image.png

這一波推導(dǎo)比較復(fù)雜點(diǎn)席揽,可以自己試著推導(dǎo)一遍。

12谓厘、將代碼實(shí)現(xiàn)為向量化幌羞,可以在python中極大的提升速度,使用Numpy實(shí)現(xiàn)

image.png

numpy中有很多內(nèi)置函數(shù)竟稳,當(dāng)要計(jì)算時(shí)属桦,盡量尋找numpy中內(nèi)置函數(shù),不要顯示使用for循環(huán)

13他爸、python中numpy向量編程廣播(Broadcasting)基本原則:

image.png

還有更多的只是聂宾,可以查閱numpy的文檔,輸入broadcasting查閱诊笤。

14亏吝、python使用numpy時(shí),需要注意的地方

image.png

不要使用 a = np.random.randn(5)這樣方法盏混,使用 a = np.random.randn((5, 1))創(chuàng)建列向量蔚鸥,或者使用

a = np.random.randn((1, 5))創(chuàng)建橫向量。

如果不確定shape時(shí)许赃,使用assert(a.shape = (5, 1))來確認(rèn)止喷。

15、sigmoid函數(shù)實(shí)現(xiàn)

sigmoid方程如下:

image.png

代碼實(shí)現(xiàn)如下:

def sigmoid(z):
    """
    Compute the sigmoid of z
    Arguments:
    z -- A scalar or numpy array of any size.
    Return:
    s -- sigmoid(z)
    """

    s = 1 / (1 + np.exp(-z))

    return s

需要注意混聊,np.exp()是返回e的冪次方

三弹谁、作業(yè)實(shí)現(xiàn)

1、通過完成作業(yè),我知道了整個(gè)神經(jīng)網(wǎng)絡(luò)的構(gòu)建流程预愤。

那是如何構(gòu)建這個(gè)神經(jīng)網(wǎng)絡(luò)的呢沟于?

(1)預(yù)處理數(shù)據(jù)。

讀取圖片植康,并將圖片處理成向量化旷太;讀取文本。并且销睁,將訓(xùn)練的數(shù)據(jù)和測試的數(shù)據(jù)放在不同的變量中供璧。

(2)初始化數(shù)據(jù)。

這一步冻记,主要初始化w(權(quán)重)和b的值睡毒,其中w的維度是與圖片相關(guān)的,等于寬度x高度x3

(3)構(gòu)建模型

構(gòu)建模型中冗栗,首先是計(jì)算出前向傳播演顾,然后計(jì)算后向傳播,計(jì)算出梯度隅居,然后進(jìn)行梯度下降钠至,更新w和b的值。經(jīng)過多個(gè)循環(huán)之后军浆,它就會(huì)越加接近那個(gè)最優(yōu)解。

(4)預(yù)測方法

預(yù)測方法其實(shí)就是拿我們訓(xùn)練好的w和b的值挡闰,然后進(jìn)行前向傳播計(jì)算出對(duì)應(yīng)的y值乒融,也就是我們的預(yù)測值。

2摄悯、在完成作業(yè)的時(shí)候赞季,我也碰到了問題

(1)不知道什么時(shí)候使用np.dot還是直接A*B

例如下面公式:

image.png

我在計(jì)算成本函數(shù)的時(shí)候,報(bào)錯(cuò)了奢驯。這個(gè)問題申钩,我的解決方法是通過打印這些變量觀察得到。

但是瘪阁,其實(shí)可以看公式就知道撒遣,例如A的計(jì)算,沒有標(biāo)注是第幾個(gè)只是大寫X和wT相乘管跺,這個(gè)明顯是矩陣的點(diǎn)積义黎。而J的成本函數(shù)計(jì)算時(shí),是它們內(nèi)部每一個(gè)y(i)和log(a(i))相乘豁跑,其中y(i)代表第i個(gè)y值廉涕,所以是矩陣的乘法,也就是每個(gè)元素相乘。

總結(jié)

整個(gè)知識(shí)梳理了一遍狐蜕,比我以前只知道實(shí)現(xiàn)卻不知其所以然好多了宠纯。所以,我更憧憬后面的課程层释,爭取一個(gè)月把它學(xué)完婆瓜。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市湃累,隨后出現(xiàn)的幾起案子勃救,更是在濱河造成了極大的恐慌,老刑警劉巖治力,帶你破解...
    沈念sama閱讀 221,198評(píng)論 6 514
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件蒙秒,死亡現(xiàn)場離奇詭異,居然都是意外死亡宵统,警方通過查閱死者的電腦和手機(jī)晕讲,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,334評(píng)論 3 398
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來马澈,“玉大人瓢省,你說我怎么就攤上這事∪啵” “怎么了勤婚?”我有些...
    開封第一講書人閱讀 167,643評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長涤伐。 經(jīng)常有香客問我馒胆,道長,這世上最難降的妖魔是什么凝果? 我笑而不...
    開封第一講書人閱讀 59,495評(píng)論 1 296
  • 正文 為了忘掉前任祝迂,我火速辦了婚禮,結(jié)果婚禮上器净,老公的妹妹穿的比我還像新娘型雳。我一直安慰自己,他們只是感情好山害,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,502評(píng)論 6 397
  • 文/花漫 我一把揭開白布纠俭。 她就那樣靜靜地躺著,像睡著了一般浪慌。 火紅的嫁衣襯著肌膚如雪柑晒。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,156評(píng)論 1 308
  • 那天眷射,我揣著相機(jī)與錄音匙赞,去河邊找鬼佛掖。 笑死,一個(gè)胖子當(dāng)著我的面吹牛涌庭,可吹牛的內(nèi)容都是我干的芥被。 我是一名探鬼主播,決...
    沈念sama閱讀 40,743評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼坐榆,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼拴魄!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起席镀,我...
    開封第一講書人閱讀 39,659評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤匹中,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后豪诲,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體顶捷,經(jīng)...
    沈念sama閱讀 46,200評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,282評(píng)論 3 340
  • 正文 我和宋清朗相戀三年屎篱,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了服赎。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,424評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡交播,死狀恐怖重虑,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情秦士,我是刑警寧澤缺厉,帶...
    沈念sama閱讀 36,107評(píng)論 5 349
  • 正文 年R本政府宣布,位于F島的核電站隧土,受9級(jí)特大地震影響提针,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜次洼,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,789評(píng)論 3 333
  • 文/蒙蒙 一关贵、第九天 我趴在偏房一處隱蔽的房頂上張望遇骑。 院中可真熱鬧卖毁,春花似錦、人聲如沸落萎。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,264評(píng)論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽练链。三九已至翔脱,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間媒鼓,已是汗流浹背届吁。 一陣腳步聲響...
    開封第一講書人閱讀 33,390評(píng)論 1 271
  • 我被黑心中介騙來泰國打工错妖, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人疚沐。 一個(gè)月前我還...
    沈念sama閱讀 48,798評(píng)論 3 376
  • 正文 我出身青樓暂氯,卻偏偏與公主長得像,于是被迫代替她去往敵國和親亮蛔。 傳聞我的和親對(duì)象是個(gè)殘疾皇子痴施,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,435評(píng)論 2 359

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