深度學習之卷積神經網路

2021-08-26 17:41:32 字數 2396 閱讀 9116

目錄(持續更新)概述

卷積神經網路中啟用函式relu

卷積網路 

卷積網路架構

卷積層輸出計算

池化層的輸出計算

卷積神經網路的訓練

卷積層的訓練

pooling層的訓練

卷積神經網路(cnn): 一種更適合影象、語音識別任務的神經網路結構

用cnn解決的問題都存在區域性與整體的關係。

由低層次的特徵經過組合,組成高層次的特徵,並且得到不同特徵之間的空間相關性。

cnn特點:區域性連線/權值共享/池化操作/多層次結構

區域性連線:使網路可以提取資料的區域性特徵

權值共享:大大降低網路的訓練難度,乙個filter值提取乙個特徵

池化操作與多層次結構一起,實現了資料的降維,並將低層次的區域性特徵組合為較高層次的特徵。

relu函式的定義:

relu函式的影象:

relu函式的優勢:

全連線網路不太適合影象處理:

卷積網路的解決思路:

權值共享:一組連線可以共享同乙個權重(卷積層)

下取樣:使用pooling來減少每層的樣本數(pooling層)

卷積神經網路示意圖:

乙個卷積神經網路由若干個卷積層、池化層、全連線層組成,如:

input  -->  [ [conv] * n  -->  pool(可選) ] * m  -->  [ fc ] * k

cnn:三維的層結構

卷積神經網路每層的神經元是按照三維排列的,有寬度、高度和深度。

影象的大小、步幅、filter的大小和卷積後的feature map大小是有一定關係的:

每個卷積層可以有多個filter。每個filter和原始影象進行卷積後,都可以得到乙個feature map。因此,卷積後feature map的深度(個數)和卷積層的filter個數是相同的。

數學中的

pooling層主要的作用是下取樣,通過去掉feature map中不重要的樣本,進一步減少引數數量。pooling的方法很多,最常用的是max poolingmax pooling實際上就是在n*n的樣本中取最大值,作為取樣後的樣本值。

反向傳播演算法步驟:

先回顧一下全連線網路的反向傳播演算法的誤差項的傳遞:

對於卷積網路:

先來看看上面的第二步,即如何將誤差項傳遞到上一層;然後再來看看第三步,即如何計算filter每個權值的梯度

卷積層誤差項的傳遞:

最簡單情況下誤差項的傳遞

我們先來考慮步長為1、輸入的深度為1、filter個數為1的最簡單的情況。

假設輸入的大小為3*3,filter大小為2*2,按步長為1卷積,我們將得到2*2的feature map。如下圖所示:

其中,符號element-wise product,即將矩陣中每個對應元素相乘。

無論最大值池化還是均值池化,都沒有需要學習的引數。因此,在卷積神經網路的訓練中,池化層僅僅是將誤差項傳遞到上一層,而沒有梯度的計算。

參考:

深度學習之卷積神經網路

卷積神經網路是一種多層神經網路,擅長處理影象特別是大影象的相關機器學習問題。卷積網路通過一系列方法,成功將資料量龐大的影象識別問題不斷降維,最終使其能夠被訓練。cnn最早由yann lecun提出並應用在手寫字型識別上 minst lecun提出的網路稱為lenet,其網路結構如下 這是乙個最典型的...

深度學習 卷積神經網路

一 卷積神經網路基礎 二 lenet 三 常見的一些卷積神經網路 卷積層的超引數 填充和步幅。步幅 stride 每次卷積核在輸入陣列上滑動的行數與列數。多輸入與輸出通道 將3維陣列除寬高外的一維稱為通道維。1 1卷積層 包含1 1的卷積核的卷積層。1 1卷積核在不改變輸入高寬的情況下調整通道數。如...

深度學習 卷積神經網路

卷積神經網路 convolutional neural networks,cnn 是一類包含卷積計算且具有深度結構的前饋神經網路 feedforward neural networks 是深度學習 deep learning 的代表演算法之一。卷積神經網路具有表徵學習 representation ...