- 實用卷積神經網絡:運用Python實現高級深度學習模型
- (印)莫希特·賽瓦克等
- 700字
- 2019-04-22 18:02:19
2.2 卷積神經網絡
CNN或ConvNet與常規的神經網絡非常相似。它們仍然由神經元組成,權重可以從數據中學習而來,每個神經元接收一些輸入并執行點積計算。最后一個全連接層上仍然有一個損失函數。它們仍然可以用非線性函數。我們從上一章學到的所有技巧和技術對CNN仍然有效。正如第1章中所述,常規神經網絡接收輸入數據作為一個單一向量并傳遞到一系列隱含層。每個隱含層都包含一組神經元,其中每個神經元都與前一層所有其他神經元相連。在一個單層中,每個神經元都是完全獨立的,它們不共享任何連接。最后一個全連接層也叫輸出層,在圖像分類問題中包含分類得分。一般來說,在一個簡單的ConvNet中有三個主要的層。分別是卷積層、池化層和全連接層。圖2-2是一個簡單的神經網絡。
所以,有什么變化?由于CNN主要以圖像作為輸入,我們可以將一些屬性編碼到網絡中,從而減少參數數量。

圖2-2 一個常規的三層神經網絡
在真實圖像數據的情況下,CNN比多層感知器(MLP)表現得更好,主要有兩個原因:
·在第1章中,我們看到,為了向MLP提供圖像,我們將輸入矩陣轉換為一個沒有空間結構的數字向量。MLP不知道這些數字是空間排列的。CNN的建立正是出于這個原因,即為了闡明多維數據中的這種模式。與MLP不同的是,CNN理解這樣一個事實:距離較近的像素之間比距離較遠的像素之間的相關性更大。
CNN=輸入層+隱含層+全連接層
·CNN與MLP的不同之處還在于模型中的隱含層類型。一個ConvNet按三個維度排列神經元:寬度、高度和深度。每一層都通過激活函數將三維輸入量轉換為三維輸出量。例如,如圖2-3所示,輸入層存有圖像。因此其寬度和高度為圖像尺寸,深度為3,因為有紅、綠、藍三個通道。

圖2-3 一個簡單的ConvNet網絡
ConvNet是一種深度神經網絡,它在空間上共享它們的參數。
- UML和模式應用(原書第3版)
- Unity Virtual Reality Projects
- Java Web及其框架技術
- 編寫高質量代碼:改善C程序代碼的125個建議
- Python自然語言處理(微課版)
- Visual C
- Reactive Android Programming
- Python忍者秘籍
- 編程菜鳥學Python數據分析
- Visual Basic程序設計教程
- SQL Server實用教程(SQL Server 2008版)
- Unity 2018 Shaders and Effects Cookbook
- BeagleBone Robotic Projects(Second Edition)
- Python Projects for Kids
- Java程序設計實用教程(第2版)