日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 人工智能 > pytorch >内容正文

pytorch

吴恩达《神经网络与深度学习》精炼笔记(4)-- 浅层神经网络

發(fā)布時(shí)間:2025/3/15 pytorch 14 豆豆
生活随笔 收集整理的這篇文章主要介紹了 吴恩达《神经网络与深度学习》精炼笔记(4)-- 浅层神经网络 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

上節(jié)課我們主要介紹了向量化、矩陣計(jì)算的方法和python編程的相關(guān)技巧。并以邏輯回歸為例,將其算法流程包括梯度下降轉(zhuǎn)換為向量化的形式,從而大大提高了程序運(yùn)算速度。本節(jié)課我們將從淺層神經(jīng)網(wǎng)絡(luò)入手,開(kāi)始真正的神經(jīng)網(wǎng)絡(luò)模型的學(xué)習(xí)。

——上期回顧

1

Neural Networks Overview

首先,我們從整體結(jié)構(gòu)上來(lái)大致看一下神經(jīng)網(wǎng)絡(luò)模型。

前面的課程中,我們已經(jīng)使用計(jì)算圖的方式介紹了邏輯回歸梯度下降算法的正向傳播和反向傳播兩個(gè)過(guò)程。如下圖所示。神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)與邏輯回歸類似,只是神經(jīng)網(wǎng)絡(luò)的層數(shù)比邏輯回歸多一層,多出來(lái)的中間那層稱為隱藏層或中間層。這樣從計(jì)算上來(lái)說(shuō),神經(jīng)網(wǎng)絡(luò)的正向傳播和反向傳播過(guò)程只是比邏輯回歸多了一次重復(fù)的計(jì)算。正向傳播過(guò)程分成兩層,第一層是輸入層到隱藏層,用上標(biāo)[1]來(lái)表示:

第二層是隱藏層到輸出層,用上標(biāo)[2]來(lái)表示:

在寫(xiě)法上值得注意的是,方括號(hào)上標(biāo)[i]表示當(dāng)前所處的層數(shù);圓括號(hào)上標(biāo)(i)表示第i個(gè)樣本。

同樣,反向傳播過(guò)程也分成兩層。第一層是輸出層到隱藏層,第二層是隱藏層到輸入層。其細(xì)節(jié)部分我們之后再來(lái)討論。

2

Neural Network Representation

下面我們以圖示的方式來(lái)介紹單隱藏層的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)。如下圖所示,單隱藏層神經(jīng)網(wǎng)絡(luò)就是典型的淺層(shallow)神經(jīng)網(wǎng)絡(luò)。

結(jié)構(gòu)上,從左到右,可以分成三層:輸入層(Input layer),隱藏層(Hidden layer)和輸出層(Output layer)。輸入層和輸出層,顧名思義,對(duì)應(yīng)著訓(xùn)練樣本的輸入和輸出,很好理解。隱藏層是抽象的非線性的中間層,這也是其被命名為隱藏層的原因。

3

Computing a Neural Network’s Output

接下來(lái)我們開(kāi)始詳細(xì)推導(dǎo)神經(jīng)網(wǎng)絡(luò)的計(jì)算過(guò)程。回顧一下,我們前面講過(guò)兩層神經(jīng)網(wǎng)絡(luò)可以看成是邏輯回歸再重復(fù)計(jì)算一次。如下圖所示,邏輯回歸的正向計(jì)算可以分解成計(jì)算z和a的兩部分:

下面,我們將從輸入層到輸出層的計(jì)算公式列出來(lái):

然后,從隱藏層到輸出層的計(jì)算公式為:

上述每個(gè)節(jié)點(diǎn)的計(jì)算都對(duì)應(yīng)著一次邏輯運(yùn)算的過(guò)程,分別由計(jì)算z和a兩部分組成。

為了提高程序運(yùn)算速度,我們引入向量化和矩陣運(yùn)算的思想,將上述表達(dá)式轉(zhuǎn)換成矩陣運(yùn)算的形式:

4

Vectorizing across multiple examples

上一部分我們只是介紹了單個(gè)樣本的神經(jīng)網(wǎng)絡(luò)正向傳播矩陣運(yùn)算過(guò)程。而對(duì)于m個(gè)訓(xùn)練樣本,我們也可以使用矩陣相乘的形式來(lái)提高計(jì)算效率。而且它的形式與上一部分單個(gè)樣本的矩陣運(yùn)算十分相似,比較簡(jiǎn)單。

不使用for循環(huán),利用矩陣運(yùn)算的思想,輸入矩陣X的維度為(nx,m)。這樣,我們可以把上面的for循環(huán)寫(xiě)成矩陣運(yùn)算的形式:

5

Explanation for Vectorized Implementation

這部分Andrew用圖示的方式解釋了m個(gè)樣本的神經(jīng)網(wǎng)絡(luò)矩陣運(yùn)算過(guò)程。其實(shí)內(nèi)容比較簡(jiǎn)單,只要記住上述四個(gè)矩陣的行表示神經(jīng)元個(gè)數(shù),列表示樣本數(shù)目m就行了。

6

Activation functions

神經(jīng)網(wǎng)絡(luò)隱藏層和輸出層都需要激活函數(shù)(activation function),在之前的課程中我們都默認(rèn)使用Sigmoid函數(shù)σ(x)作為激活函數(shù)。其實(shí),還有其它激活函數(shù)可供使用,不同的激活函數(shù)有各自的優(yōu)點(diǎn)。下面我們就來(lái)介紹幾個(gè)不同的激活函數(shù)g(x)。

  • sigmoid函數(shù)

  • tanh函數(shù)

  • ReLU函數(shù)

  • Leaky ReLU函數(shù)

如上圖所示,不同激活函數(shù)形狀不同,a的取值范圍也有差異。

如何選擇合適的激活函數(shù)呢?首先我們來(lái)比較sigmoid函數(shù)和tanh函數(shù)。對(duì)于隱藏層的激活函數(shù),一般來(lái)說(shuō),tanh函數(shù)要比sigmoid函數(shù)表現(xiàn)更好一些。因?yàn)閠anh函數(shù)的取值范圍在[-1,+1]之間,隱藏層的輸出被限定在[-1,+1]之間,可以看成是在0值附近分布,均值為0。這樣從隱藏層到輸出層,數(shù)據(jù)起到了歸一化(均值為0)的效果。因此,隱藏層的激活函數(shù),tanh比sigmoid更好一些。而對(duì)于輸出層的激活函數(shù),因?yàn)槎诸悊?wèn)題的輸出取值為{0,+1},所以一般會(huì)選擇sigmoid作為激活函數(shù)。

觀察sigmoid函數(shù)和tanh函數(shù),我們發(fā)現(xiàn)有這樣一個(gè)問(wèn)題,就是當(dāng)|z|很大的時(shí)候,激活函數(shù)的斜率(梯度)很小。因此,在這個(gè)區(qū)域內(nèi),梯度下降算法會(huì)運(yùn)行得比較慢。在實(shí)際應(yīng)用中,應(yīng)盡量避免使z落在這個(gè)區(qū)域,使|z|盡可能限定在零值附近,從而提高梯度下降算法運(yùn)算速度。

為了彌補(bǔ)sigmoid函數(shù)和tanh函數(shù)的這個(gè)缺陷,就出現(xiàn)了ReLU激活函數(shù)。ReLU激活函數(shù)在z大于零時(shí)梯度始終為1;在z小于零時(shí)梯度始終為0;z等于零時(shí)的梯度可以當(dāng)成1也可以當(dāng)成0,實(shí)際應(yīng)用中并不影響。對(duì)于隱藏層,選擇ReLU作為激活函數(shù)能夠保證z大于零時(shí)梯度始終為1,從而提高神經(jīng)網(wǎng)絡(luò)梯度下降算法運(yùn)算速度。但當(dāng)z小于零時(shí),存在梯度為0的缺點(diǎn),實(shí)際應(yīng)用中,這個(gè)缺點(diǎn)影響不是很大。為了彌補(bǔ)這個(gè)缺點(diǎn),出現(xiàn)了Leaky ReLU激活函數(shù),能夠保證z小于零是梯度不為0。

最后總結(jié)一下,如果是分類問(wèn)題,輸出層的激活函數(shù)一般會(huì)選擇sigmoid函數(shù)。但是隱藏層的激活函數(shù)通常不會(huì)選擇sigmoid函數(shù),tanh函數(shù)的表現(xiàn)會(huì)比sigmoid函數(shù)好一些。實(shí)際應(yīng)用中,通常會(huì)會(huì)選擇使用ReLU或者Leaky ReLU函數(shù),保證梯度下降速度不會(huì)太小。其實(shí),具體選擇哪個(gè)函數(shù)作為激活函數(shù)沒(méi)有一個(gè)固定的準(zhǔn)確的答案,應(yīng)該要根據(jù)具體實(shí)際問(wèn)題進(jìn)行驗(yàn)證(validation)。

7

Why do you need non-linear activation functions

我們知道上一部分講的四種激活函數(shù)都是非線性(non-linear)的。那是否可以使用線性激活函數(shù)呢?答案是不行!下面我們就來(lái)進(jìn)行簡(jiǎn)要的解釋和說(shuō)明。

假設(shè)所有的激活函數(shù)都是線性的,為了簡(jiǎn)化計(jì)算,我們直接令激活函數(shù)g(z)=z,即a=z。那么,淺層神經(jīng)網(wǎng)絡(luò)的各層輸出為:

另外,如果所有的隱藏層全部使用線性激活函數(shù),只有輸出層使用非線性激活函數(shù),那么整個(gè)神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)就類似于一個(gè)簡(jiǎn)單的邏輯回歸模型,而失去了神經(jīng)網(wǎng)絡(luò)模型本身的優(yōu)勢(shì)和價(jià)值。

值得一提的是,如果是預(yù)測(cè)問(wèn)題而不是分類問(wèn)題,輸出y是連續(xù)的情況下,輸出層的激活函數(shù)可以使用線性函數(shù)。如果輸出y恒為正值,則也可以使用ReLU激活函數(shù),具體情況,具體分析。

8

Derivatives of activation functions

在梯度下降反向計(jì)算過(guò)程中少不了計(jì)算激活函數(shù)的導(dǎo)數(shù)即梯度。

我們先來(lái)看一下sigmoid函數(shù)的導(dǎo)數(shù):

對(duì)于tanh函數(shù)的導(dǎo)數(shù):

對(duì)于ReLU函數(shù)的導(dǎo)數(shù):

對(duì)于Leaky ReLU函數(shù):

9

Gradient descent for neural networks

接下來(lái)看一下在神經(jīng)網(wǎng)絡(luò)中如何進(jìn)行梯度計(jì)算。

該神經(jīng)網(wǎng)絡(luò)正向傳播過(guò)程為:

其中,g(?)表示激活函數(shù)。

反向傳播是計(jì)算導(dǎo)數(shù)(梯度)的過(guò)程,這里先列出來(lái)Cost function對(duì)各個(gè)參數(shù)的梯度:

反向傳播的具體推導(dǎo)過(guò)程我們下一部分再進(jìn)行詳細(xì)說(shuō)明。

10

Backpropagation intuition(optional)

我們?nèi)匀皇褂糜?jì)算圖的方式來(lái)推導(dǎo)神經(jīng)網(wǎng)絡(luò)反向傳播過(guò)程。記得之前介紹邏輯回歸時(shí),我們就引入了計(jì)算圖來(lái)推導(dǎo)正向傳播和反向傳播,其過(guò)程如下圖所示:

由于多了一個(gè)隱藏層,神經(jīng)網(wǎng)絡(luò)的計(jì)算圖要比邏輯回歸的復(fù)雜一些,如下圖所示。對(duì)于單個(gè)訓(xùn)練樣本,正向過(guò)程很容易,反向過(guò)程可以根據(jù)梯度計(jì)算方法逐一推導(dǎo)。

總結(jié)一下,淺層神經(jīng)網(wǎng)絡(luò)(包含一個(gè)隱藏層),m個(gè)訓(xùn)練樣本的正向傳播過(guò)程和反向傳播過(guò)程分別包含了6個(gè)表達(dá)式,其向量化矩陣形式如下圖所示:

11

Random Initialization

神經(jīng)網(wǎng)絡(luò)模型中的參數(shù)權(quán)重W是不能全部初始化為零的,接下來(lái)我們分析一下原因。

我們把這種權(quán)重W全部初始化為零帶來(lái)的問(wèn)題稱為symmetry breaking problem。解決方法也很簡(jiǎn)單,就是將W進(jìn)行隨機(jī)初始化(b可初始化為零)。python里可以使用如下語(yǔ)句進(jìn)行W和b的初始化:

W_1 = np.random.randn((2,2))*0.01 b_1 = np.zero((2,1)) W_2 = np.random.randn((1,2))*0.01 b_2 = 0

當(dāng)然,如果激活函數(shù)是ReLU或者Leaky ReLU函數(shù),則不需要考慮這個(gè)問(wèn)題。但是,如果輸出層是sigmoid函數(shù),則對(duì)應(yīng)的權(quán)重W最好初始化到比較小的值。

12

Summary

本節(jié)課主要介紹了淺層神經(jīng)網(wǎng)絡(luò)。首先,我們簡(jiǎn)單概述了神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu):包括輸入層,隱藏層和輸出層。然后,我們以計(jì)算圖的方式推導(dǎo)了神經(jīng)網(wǎng)絡(luò)的正向輸出,并以向量化的形式歸納出來(lái)。接著,介紹了不同的激活函數(shù)并做了比較,實(shí)際應(yīng)用中根據(jù)不同需要選擇合適的激活函數(shù)。激活函數(shù)必須是非線性的,不然神經(jīng)網(wǎng)絡(luò)模型起不了任何作用。然后,我們重點(diǎn)介紹了神經(jīng)網(wǎng)絡(luò)的反向傳播過(guò)程以及各個(gè)參數(shù)的導(dǎo)數(shù)推導(dǎo),并以矩陣形式表示出來(lái)。最后,介紹了權(quán)重隨機(jī)初始化的重要性,必須對(duì)權(quán)重W進(jìn)行隨機(jī)初始化操作。

推薦閱讀:

吳恩達(dá)《神經(jīng)網(wǎng)絡(luò)與深度學(xué)習(xí)》精煉筆記(1)-- 深度學(xué)習(xí)概述

吳恩達(dá)《神經(jīng)網(wǎng)絡(luò)與深度學(xué)習(xí)》精煉筆記(2)-- 神經(jīng)網(wǎng)絡(luò)基礎(chǔ)之邏輯回歸

吳恩達(dá)《神經(jīng)網(wǎng)絡(luò)與深度學(xué)習(xí)》精煉筆記(3)-- 神經(jīng)網(wǎng)絡(luò)基礎(chǔ)之Python與向量化

長(zhǎng)按二維碼掃描關(guān)注

紅色石頭的機(jī)器學(xué)習(xí)之路

ID:redstonewill

紅色石頭

個(gè)人微信 : WillowRedstone

新浪微博:@RedstoneWill

總結(jié)

以上是生活随笔為你收集整理的吴恩达《神经网络与深度学习》精炼笔记(4)-- 浅层神经网络的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 女人的天堂av | yes4444视频在线观看 | 久色福利 | 无码国精品一区二区免费蜜桃 | 美女污软件 | 综合久久久 | 色丁香av | 奇米影视亚洲春色 | 欧美美女网站 | 成人三级视频 | 男女无遮挡网站 | 91在线网 | 国内一区二区视频 | 欧美人妻精品一区二区免费看 | 亚洲二区在线观看 | 五月天色综合 | 日韩成年人视频 | 国产第4页| 一区二区三区在线 | 青娱乐毛片| 九九精品在线观看视频 | 亚洲女则毛耸耸bbw 边吃奶边添下面好爽 | 国产欧美色图 | 骚狐网站| 制服av网 | av一区二| 国产免费观看久久黄av片 | 久久精品国产露脸对白 | 99日韩| 美女打屁股网站 | 国产日韩欧美自拍 | 欧美香蕉 | 性欧美18—19sex性高清 | 亚洲妇女av| 国产视频xxxx| 久操这里只有精品 | 久久一级免费视频 | 日韩美女少妇 | 姝姝窝人体www聚色窝 | 黄色亚洲网站 | 中文区中文字幕免费看 | 亚洲精品乱码久久久久 | 狠狠的色| 超碰在线观看av | 免费69视频 | 手机看片一区二区 | 国产精品视频免费在线观看 | 在线色| 亚洲激情图片 | 美攻壮受大胸奶汁(高h) | 国产真实乱人偷精品人妻 | 1000亚洲裸体人体 | 日韩不卡免费视频 | 久久久久久成人 | 青青久在线 | 靠逼视频免费网站 | 尤物视频免费在线观看 | 精品久久久中文字幕 | av合集| 日韩人妻无码精品久久免费 | 亚洲精品成av人片天堂无码 | 中文字幕人妻一区二 | 国产欧美激情 | 吖v在线| 久久精品国产亚洲AV成人雅虎 | 可以免费看av的网址 | 中文字幕av免费在线观看 | 波多av在线| 91看片视频 | 欧美精品一 | 国产精品毛片视频 | 中文字幕免费高清在线观看 | 91在线免费看 | 亚洲色鬼 | 一区欧美 | 成人深夜福利 | 91情侣视频 | 日韩有色 | 欧美日韩国产一区二区三区在线观看 | 国产成人a亚洲精品 | 精品国产av鲁一鲁一区 | 亚洲日本免费 | 在线观看欧美日韩视频 | 一级视频在线 | av午夜在线观看 | 国产精品福利片 | 欧美日韩一卡二卡三卡 | 痴女扩张宫交脱垂重口小说 | 欧美大尺度床戏做爰 | 一区精品视频在线观看 | 国产va| 日韩亚洲第一页 | 国产资源网| 国产在线精品自拍 | 久草这里只有精品 | 欧美日韩亚洲国产另类 | 尹人成人网 | 亚洲欧美在线一区 | 日韩成人高清视频 |