吳恩達《深度學習》第一門課(3)淺層神經網路

2022-07-04 16:06:09 字數 2018 閱讀 8628

(1)神經網路每個單元相當於乙個邏輯回歸,神經網路由邏輯回歸的堆疊起來。下圖是網路結構:

針對網路結構進行計算:

1.第一層的正向傳播

2.第一層的反向傳播

3.第二層的反向傳播(正向只要把微分符號去掉即可)

(1)神經網路各層分別較輸入層、掩藏層和輸出層,其中說乙個網路有幾層時一般不包括輸入層,如下圖是乙個兩層的網路:

(2)a[0]chang也常用來表示輸入特徵,a[1]b表示第一層的輸出,如第一層(不算輸入層)有四個神經元,其輸出為(用a表示是因為activation啟用函式的縮寫):

(3)關於w[m],b[m]是和第m層輸出有關的係數,w的維度(第m層單元數,上一層單元數),b的維度為(第m層單元數,1)。

(1)神經結構如下:

(2)每乙個神經元做的計算:

(2)向量化表示下面四個式子:

(3)乙個輸入樣本,神經網路的計算

(1)多樣本的計算示意圖(a[2](1)前面的2表示第二層,後面的1表示第乙個樣本):

(2)向量化:

(3)以矩陣a為例,從水平上看,每一列對應著不同的訓練樣本;從垂直方向看,每一行對應著同一層的不同神經元。

(1)矩陣乘列向量得到列向量:

(2)上面式子中省略了b[1],b[1]的維度與z[1]相同,再加上python具有廣播的功能,所以可以使得向量b與每一列相加。

(1)sigmoid啟用函式:除了輸出層是乙個二分類問題基本不會用它。存在梯度消失問題,其函式表示式如下:

(2)tanh啟用函式:tanh是非常優秀的,可以中心化資料(-1到1),幾乎適合所以場合。存在梯度消失問題,其函式表示式如下:

(3)relu啟用函式:最常用的預設函式,如果不確定用哪個啟用函式,就是用relu(函式表示式為a=max(0,z))或則leaky relu(函式表示式為a=max(0.01z,z),0.01引數可改)。relu在負半區梯度為零,產生所謂的稀疏性,但由於有足夠多的掩藏層是z大於0,所以學習過程還是非常的快。

(4)下面的四種啟用函式的影象:

(1)如果沒有非線性啟用函式,那麼無論網路有多少層,輸出始終是輸入的線性組合,與一層網路毫無區別。舉例如下:

(2)有時候輸出可能會用到線性啟用函式。

(1)正向傳播四個式子:

(2)反向傳播六個式子(下面公式3.3.2中應該是dz[2]):

(1)主要推導過程:

(1)w不能初始化為零否則一層中每個單元都做相同的計算,和乙個單元沒什麼區別,b可以初始化為零。可按照如下方式初始化(0.01的作用是時輸出不會太大,太大由由sigmoid、tanh啟用函式是將會導致梯度特別小):

吳恩達《深度學習》第一門課(1)深度學習引言

主要講了五門課的內容 第一門課 神經網路基礎,構建網路等 第二門課 神經網路的訓練技巧 1 常說的深度學習指的就是訓練神經網路,或者也指特別大規模的神經網路。2 每乙個神經元都代表著從輸入到輸出的函式對映,如下的房價 3 啟用函式relu rectified linear unit 其實就是max ...

吳恩達深度學習第3周測驗 淺層神經網路

第3周測驗 淺層神經網路 1.以下哪一項是正確的?x是乙個矩陣,其中每個列都是乙個訓練示例。a 2 4a4 2 是第二層第四層神經元的啟用的輸出。a 2 12 a 2 12 表示第二層和第十二層的啟用向量。a 2 a 2 表示第二層的啟用向量。注意 如果您不熟悉本課程所使用的符號,請 戳我。2.ta...

第 一 門課 神經網路和深度學習(一)

第一門課會以貓作為物件識別 第二門課中,學習超引數調整 正則化 診斷偏差和方差以及一些高階優化演算法,比如 momentum 和 adam 演算法。第三門課中,我們將使用兩周時間來學習如何結構化你的機器學習工程。第四門課程中,我們將會提到卷積神經網路 cnn s 它經常被用於影象領域,你將會在第四門...