吳恩達【深度學習工程師】專項課程包含以下五門課程:
1、神經網路和深度學習;
2、改善深層神經網路:超引數除錯、正則化以及優化;
3、結構化機器學習專案;
4、卷積神經網路;
5、序列模型。
今天介紹《神經網路與深度學習》系列第五講:深層(deep)神經網路。
主要內容:
1、用流程塊圖的方式詳細推導正向傳播過程、反向傳播過程的輸入輸出及引數表示式;
2、從提取特徵複雜性、計算量的角度兩個方面解釋了深層神經網路的優勢;
3、介紹了超引數的概念,並解釋了超引數與引數的區別
;4、將神經網路與人腦做了模擬。
深層神經網路是包含更多的隱藏層神經網路。
如圖所示,分別列舉了邏輯回歸、1個隱層、2個隱層和5個隱層的神經網路模型:
正向傳播過程。以4層神經網路為例,對於m個訓練樣本,其向量化矩陣形式為:
第1層: z
[1]=
w[1]
x+b[
1]=w
[1]a
[0]+
b[1]
a[1]=
g[1]
(z[1
])
第2層: z
[2]=
w[2]
a[1]
+b[2
]
a[2]
=g[2
](z[
2])
對於第l 層,其正向傳播過程的z[
l]和a[l
] 可以表示為: z
[l]=
w[l]
a[l−
1]+b
[l]
a[l]=g
[l](
z[l]
) 其中
l=1,
⋯,l
對於m個訓練樣本,輸入矩陣x的維度是(n[
0],m
): w
[l]:
(n[l
],n[
l−1]
)
b[l]
:(n[
l],1
) 在運算z[
l]=w
[l]a
[l−1
]+b[
l]中,b[
l]會被當成(n[
l],m
)矩陣進行運算,這是由於python的廣播特性,且b[
l]每一列向量都是一樣的。dw
[l] 和db
[l] 的維度分別與w[
l]和b[l
] 的相同。z[
l]和a[l
] 的維度: z
[l]:
(n[l
],m)
a[l]:
(n[l
],m)
dz[l
] 和da
[l] 的維度分別與z[
l]和a[l
] 的相同。
在影象處理領域,深層神經網路隨著層數由淺到深,神經網路提取的特徵也是從邊緣到區域性特徵到整體,由簡單到複雜。如果隱藏層足夠多,那麼能夠提取的特徵就越豐富、越複雜,模型的準確率就會越高。
在語音識別領域,淺層的神經元能夠檢測一些簡單的音調,然後較深的神經元能夠檢測出基本的音素,更深的神經元就能夠檢測出單詞資訊。如果網路夠深,還能對短語、句子進行檢測。
除了從提取特徵複雜度的角度來說明深層網路的優勢之外,深層網路還有另外乙個優點,就是能夠減少神經元個數,從而減少計算量。
用流程塊圖來解釋神經網路正向傳播和反向傳播過程。對於第
l 層來說,正向傳播中:
輸入:a[l
−1]
輸出:a[
l]
引數:w[l
],b[
l]
快取變數:z[
l]
反向傳播過程中:
輸入:da[
l]
輸出:da[
l−1]
,dw[
l],d
b[l]
引數:w[l
這是第l
層的流程塊圖,對於神經網路所有層,整體的流程塊圖正向傳播過程和反向傳播過程如下所示:
正向傳播過程,m個訓練樣本,向量化形式為: z
[l]=
w[l]
a[l−
1]+b
[l]
a[l]=g
[l](
z[l]
) 反向傳播過程向量化形式為: d
z[l]
=da[
l]∗g
[l]′
(z[l
])
dw[l]=1
mdz[
l]⋅a
[l−1
]t
db[l]=1
mnp.
sum(
dz[l
],ax
is=1
,kee
pdim
=tru
e)
da[l−1]
=w[l
]t⋅d
z[l]
dz[l]
=w[l
+1]t
⋅dz[
l+1]
∗g[l
]′(z
[l])
神經網路中的引數就是w[l
] 和b[
l]。超引數則是例如學習速率
α ,訓練迭代次數n,神經網路層數l,各層神經元個數n[
l],啟用函式g(
z)等。
設定最優的超引數常見的做法是選擇超引數為一定範圍內的值,分別代入神經網路進行訓練,測試代價函式隨著迭代次數增加的變化,根據結果選擇代價最小時對應的超引數值。
神經網路跟人腦機制到底有什麼聯絡呢?
究竟有多少的相似程度?
神經網路分成兩個部分:正向和反向傳播過程。
神經網路的每個神經元採用啟用函式的方式,類似於感知機模型。這種模型與人腦神經元是類似的,可以說是一種非常簡化的人腦神經元模型。
如下圖所示,人腦神經元可分為樹突、細胞體、軸突三部分。樹突接收外界電刺激訊號(模擬神經網路中神經元輸入),傳遞給細胞體進行處理(模擬神經網路中神經元啟用函式運算),最後由軸突傳遞給下乙個神經元(模擬神經網路中神經元輸出)。
但是,人腦神經元的結構和處理方式要複雜的多,神經網路模型只是非常簡化的模型。人腦如何進行學習?是否也是通過反向傳播和梯度下降演算法現在還不清楚,可能會更加複雜。
演算法工程師修仙之路 吳恩達深度學習(三)
為了儲存一張,需要儲存三個矩陣,它們分別對應中的紅 綠 藍三種顏色通道,如果你的大小為 64x64 畫素,那麼你就有三個規模為 64x64 的矩陣,分別對應中紅 綠 藍三種畫素的強度值。為了便於表示,這裡我畫了三個很小的矩陣,注意它們的規模為 5x4 而不是 64x64,如下圖所示 符號定義 x x...
吳恩達深度學習筆記
2.02 紅色為小標題,藍色比較重要 第四講第二週 4.2.1 為什麼要進行例項 4.2.2 經典網路 lenet 5網路當時還沒有padding,所以在卷積過程當中越來越小 也沒有relu函式,當時這個例子用的是sigmoid函式。超級引數不是很多。這個典型的網路有padding,使用的是relu...
吳恩達深度學習筆記
目錄導數的細節 向量化python中的廣播 第二部分深度學習內容 吳恩達講深度學習 1.資料量更大 2.演算法越來越優 3.業務場景越來越多樣化 4.學術界or工業界越來越卷 私以為 邏輯回歸是最簡單的二分類模型,也可以說是後續深度神經網路的基礎框架.達叔的演算法知識第一課.邏輯回歸的引數是w和b,...