吳恩達斯坦福大學(xué)CS230《深度學(xué)習(xí)》課程內(nèi)容歸納總結(jié)放出,全文干貨。對于不方便正式上課的同學(xué)們來說,相信這份核心內(nèi)容總結(jié)一定會對你有所幫助。
作為全球計算機四大名校之一,斯坦福大學(xué)的CS230《深度學(xué)習(xí)》課程一直受到全球計算機學(xué)子和從業(yè)人員的熱烈歡迎。
CS230授課人為全球著名計算機科學(xué)家吳恩達和他的助教Kian Katanforoosh。
日前,MIT的Afshine Amidi和斯坦福大學(xué)的Shervine Amidi在博客上整理了一份CS230課程知識點的歸納總結(jié),在Reddit上引發(fā)熱議。
評論網(wǎng)友紛紛表示喜大普奔,對于沒有條件上課或者沒趕上授課時間的人來說,看看這份總結(jié)貼也能獲益頗豐。
這份總結(jié)提要基本遵循CS230的授課思路和流程,分三大方面由淺入深地介紹了深度學(xué)習(xí)的基本概念、網(wǎng)絡(luò)模型、研究和實驗操作方法等。三部分內(nèi)容分別為:卷積神經(jīng)網(wǎng)絡(luò)、遞歸神經(jīng)網(wǎng)絡(luò)、提示與技巧。
本文主要介紹這份總結(jié)的第一部分,即CNN部分的內(nèi)容,后兩部分RNN、竅門與技巧部分,讀者可自行參看Github上放出的資源:
卷積神經(jīng)網(wǎng)絡(luò)(CNN)
https://stanford.edu/~shervine/teaching/cs-230/cheatsheet-convolutional-neural-networks
遞歸神經(jīng)網(wǎng)絡(luò)(RNN)
https://stanford.edu/~shervine/teaching/cs-230/cheatsheet-recurrent-neural-networks
技巧與竅門
https://stanford.edu/~shervine/teaching/cs-230/cheatsheet-deep-learning-tips-and-tricks
囊括全部內(nèi)容的“超級VIP”pdf下載
https://github.com/afshinea/stanford-cs-230-deep-learning/blob/master/super-cheatsheet-deep-learning.pdf
卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu):卷積層、池化層、全連接層
傳統(tǒng)的卷積神經(jīng)網(wǎng)絡(luò)由輸入圖像、卷積層、池化層和全連接層構(gòu)成。
卷積層(CONV):使用過濾器執(zhí)行卷積操作,掃描輸入大小。它的超參數(shù)包括濾波器的Size和Stride。結(jié)果輸出O稱為特征映射或激活映射。
池化層(POOL)是一種下采樣操作,通常在卷積層之下使用,該卷積層執(zhí)行一些空間不變性。其中最大池化和平均池化屬于特殊操作,分別采用最大值和平均值。
全連接層(FC)在平坦輸入上運行,每個輸入都連接到所有神經(jīng)元。如果全連接層存在,通常位于網(wǎng)絡(luò)體系結(jié)構(gòu)的末尾,可用于優(yōu)化諸如分類評分等目標。
過濾器超參數(shù)
過濾器維度:大小為F×F的過濾器應(yīng)用在Cchannel上維度為F×F×C。
Stride:對于卷積和池化操作而言,Stride表示每次操作后窗口移動的像素數(shù)量。
Zero-padding表示對輸入邊界的每一端加入P個零的過程。這個值可以通過下圖中所示的三個方式手動指定,也可以自動設(shè)置。
超參數(shù)的調(diào)整
卷積層中的超參數(shù)兼容性:記輸入量長度為I,過濾器長度為F,補零數(shù)量為P,Stride量為S,則該維度下特征映射的輸出大小O可用下式表示:
理解模型的復(fù)雜度:為了獲取模型復(fù)雜度,常常可以通過相應(yīng)架構(gòu)下的參數(shù)數(shù)量來達到這一目標。在給定的卷積神經(jīng)網(wǎng)絡(luò)層中,該過程如下圖所示:
感受野:層K上的感受野區(qū)域記為Rk×Rk,即第K次激活映射可以“看見”的每個輸入像素。若層j上的過濾器大小為Fj,層i上的Stride值為Si,且S0=1,則層k上的感受野可以由下式計算出:
常用激活函數(shù)
整流線性單元:整流線性單元層(ReLU)是激活函數(shù)g,作用于所有元素。它旨在為網(wǎng)絡(luò)引入非線性特征,其變量總結(jié)在下圖中:
Softmax:可以視作一個作用于網(wǎng)絡(luò)架構(gòu)末端通用邏輯函數(shù),輸入為分數(shù)向量,輸出為概率向量。其定義如下:
物體檢測
模型的類型:
有三類主要的物體識別算法,其預(yù)測的性質(zhì)是不同的。如下表的描述:
三類物體識別算法
檢測(Detection):
在對象檢測的上下文中,根據(jù)我們是僅想要定位對象還是想要在圖像中檢測更復(fù)雜的形狀,可以使用不同的方法。下面總結(jié)了兩個主要的方法:
邊界框檢測和特征點檢測
Intersection over Union:
Intersection over Union(交并比),也稱為IoU,是一種量化預(yù)測邊界框在實際邊界框上的正確定位的函數(shù)。它的定義是:
備注:IoU∈[0,1]。按照慣例,如果IoU(Bp,Ba)?0.5,預(yù)測邊界框Bp被認為是合理的。
Anchor boxes:
Anchor boxing是一種用于預(yù)測重疊邊界框的技術(shù)。在實際應(yīng)用中,網(wǎng)絡(luò)可以同時預(yù)測多個box,其中每個box的預(yù)測被約束具有給定的一組幾何特性。例如,第一個預(yù)測可能是給定形狀的矩形框,而第二個預(yù)測可能是另一個形狀不同的矩形框。
Non-max suppression:
Non-max suppression技術(shù)旨在通過選擇最具代表性的對象來刪除同一對象的重疊邊界框。在刪除了概率預(yù)測低于0.6的所有框之后,在剩余框中重復(fù)以下步驟:
對于一個給定的類,
步驟1:選擇具有最大預(yù)測概率的框。
步驟2:刪除任何與前一個框的IoU?0.5的框。
YOLO - You Only Look Once,這是一種對象檢測算法,它執(zhí)行以下步驟:
步驟1:將輸入圖像分割成G×G的網(wǎng)格。
步驟2:對于每個網(wǎng)格單元,運行一個CNN網(wǎng)絡(luò),預(yù)測下面公式中的y:
其中是檢測對象的概率,是檢測到的邊界框的屬性,是檢測到的p類的one-hot representation,k是anchor boxes的數(shù)量。
步驟3:運行 non-max suppression 算法,刪除任何可能的重復(fù)重疊邊界框。
R-CNN
Region with Convolutional Neural Networks (R-CNN) 是一種對象檢測算法,它首先對圖像進行分割以找到潛在的相關(guān)邊界框,然后運行檢測算法,在那些邊界框中找到最可能的對象。
備注:雖然原始算法計算成本高且速度慢,但新的架構(gòu)能讓算法運行得更快,例如Fast R-CNN和Faster R-CNN。
面部驗證和識別
模型類型:下面總結(jié)了兩種主要類型的模型:
One Shot Learning
One Shot Learning是一種面部驗證算法,它使用有限的訓(xùn)練集來學(xué)習(xí)相似函數(shù),該函數(shù)量化兩個給定圖像的差異。應(yīng)用于兩個圖像的相似度函數(shù)通常被標注為d(image 1,image 2).。
Siamese Network
Siamese Networks的目的是學(xué)習(xí)如何編碼圖像,然后量化不同的兩個圖像。對于給定的輸入圖像,編碼輸出通常記為
Triplet loss
Triplet loss ?是在圖像A(anchor),P(positive) 和N(negative)這三個圖像的嵌入表示上計算的損失函數(shù)。 anchor和positive示例屬于同一個類,negative示例屬于另一個類。通過調(diào)用margin參數(shù),該損失定義如下:
神經(jīng)風(fēng)格遷移
動機:
神經(jīng)風(fēng)格轉(zhuǎn)移(neural style transfer)的目標是基于給定內(nèi)容C和給定風(fēng)格S,生成圖像G。
激活:
在給定層l中,激活被標記為,并且具有維度
內(nèi)容成本函數(shù)(Content cost function)
內(nèi)容成本函數(shù)用于確定生成的圖像G與原始內(nèi)容圖像C的不同之處。它的定義如下:
風(fēng)格矩陣(Style matrix)
style matrix是一個Gram矩陣,其中每個元素量化了通道k和k'的相關(guān)性。它是根據(jù)激活
風(fēng)格成本函數(shù)(Style cost function)
風(fēng)格成本函數(shù)用于確定生成的圖像G與風(fēng)格S的不同之處。它的定義如下:
總成本函數(shù)(Overall cost function)
總成本函數(shù)的定義是內(nèi)容和風(fēng)格成本函數(shù)的組合,由參數(shù)α, β加權(quán),如下所示:
使用計算技巧的架構(gòu)
生成對抗網(wǎng)絡(luò)(Generative Adversarial Network)
生成對抗網(wǎng)絡(luò),也稱為GAN,由生成模型和判別模型組成,其中生成模型旨在生成最真實的輸出,這些輸出將被用于區(qū)分生成圖像和真實圖像。
ResNet(Residual Network)
殘差網(wǎng)絡(luò)架構(gòu)(也稱為ResNet),使用具有大量層的residual blocks來減少訓(xùn)練誤差。 residual blocks 具有以下特征:
Inception Network
該架構(gòu)使用 inception modules,目的是嘗試不同的卷積,以通過特征的多樣化來提高其性能。具體來說,它使用1×1卷積技巧來限制計算負擔(dān)。
-
濾波器
+關(guān)注
關(guān)注
161文章
7817瀏覽量
178148 -
網(wǎng)絡(luò)模型
+關(guān)注
關(guān)注
0文章
44瀏覽量
8430 -
深度學(xué)習(xí)
+關(guān)注
關(guān)注
73文章
5503瀏覽量
121175
原文標題:斯坦福CS230官方指南:CNN、RNN及使用技巧速查(打印收藏)
文章出處:【微信號:AI_era,微信公眾號:新智元】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論