1. 程式人生 > >Deep Learning 30: 卷積理解

Deep Learning 30: 卷積理解

1. 這篇文章以賈清揚的ppt說明了卷積的實質,更說明了卷積輸出影象大小應該為:

假設輸入影象尺寸為W,卷積核尺寸為F,步幅(stride)為S(卷積核移動的步幅),Padding使用P(用於填充輸入影象的邊界,一般填充0),那麼經過該卷積層後輸出的影象尺寸為(W-F+2P)/S+1。

2.它寫出為什麼會用padding?卷積核大小該如何確定?stride該如何確定?

1.這篇文章把卷積的過程寫得非常形象化,用簡單的例子用明白了卷積過程在caffe寫程式碼的時候是怎麼實現的。

2.它還寫了卷積後輸出影象大小N為

N=[((image_h + 2*pad_h – kernel_h)/stride_h)+ 1]*[((image_w +2*pad_w – kernel_w)/stride_w) + 1]  (結果向上取整)

        image_h:輸入影象的高度

        image_w:輸入影象的寬度

        pad_h:在輸入影象的高度方向兩邊各增加pad_h個單位長度(因為有兩邊,所以乘以2)

        pad_w:在輸入影象的寬度方向兩邊各增加pad_w個單位長度(因為有兩邊,所以乘以2)

        kernel_h:卷積核的高度

        kernel_w:卷積核的寬度

        stride_h:高度方向的滑動步長;

        stride_w:寬度方向的滑動步長。

        因此,N為輸出影象大小的長寬乘積,也是卷積核在輸入影象上滑動可擷取的最大特徵數。

        K=k*k,表示利用卷積核大小的框在輸入影象上滑動所擷取的資料大小,與卷積核大小一樣大。

上面是一般情況下的計算,在tensorflow中根據padding時引數選擇不同,卷積輸出影象的計算方式也可能不同,見:

3.池化大小的計算與卷積類似:

N=[((image_h + 2*pad_h – kernel_h)/stride_h)+ 1]*[((image_w +2*pad_w – kernel_w)/stride_w )+ 1]  (結果向上取整)

        image_h:輸入影象的高度

        image_w:輸入影象的寬度

        pad_h:在輸入影象的高度方向兩邊各增加pad_h個單位長度(因為有兩邊,所以乘以2)

        pad_w:在輸入影象的寬度方向兩邊各增加pad_w個單位長度(因為有兩邊,所以乘以2)

        kernel_h:池化區域的高度

        kernel_w:區域的寬度

        stride_h:高度方向的滑動步長;

        stride_w:寬度方向的滑動步長。

        因此,N為輸出影象大小的長寬乘積,也是卷積核在輸入影象上滑動可擷取的最大特徵數。

三.卷積時引數的理解

卷積運算時總是有一個引數需要選擇,matlab中是shape,python中是border_mode

關於shape選項的說明;

當shape=full時,返回全部二維卷積結果,即返回c的大小為(ma+mb-1)x(na+nb-1)
    shape=same時,返回與a同樣大小的卷積中心部分
    shape=valid時,不考慮邊界補零,即只要有邊界補出的零參與運算的都捨去,返回c的大小為(ma-mb+1)x(na-nb+1)

相關推薦

Deep Learning 30: 理解

1. 這篇文章以賈清揚的ppt說明了卷積的實質,更說明了卷積輸出影象大小應該為: 假設輸入影象尺寸為W,卷積核尺寸為F,步幅(stride)為S(卷積核移動的步幅),Padding使用P(用於填充輸入影象的邊界,一般填充0),那麼經過該卷積層後輸出的影象尺寸為(W-F+2P)/S+1。 2.它寫出為什麼會用

Deep learning神經網路CNN演算法原理

寫在前面在上一篇【Deep learning】卷積神經網路CNN結構中我們簡單地介紹了CNN的結構。接下來我們看看這種結構的CNN模型是怎麼執行的,包括CNN的前向傳播和反向傳播演算法。1.CNN前向傳播演算法(1)輸入層前向傳播到卷積層輸入層的前向傳播是CNN前向傳播演算法

Deep Learning神經網路的配置

卷積神經網路的配置設計 參考原文:《Tensorflow實戰Google深度學習框架》 一般卷積層的濾波器邊長不會超過5,但是有些卷積神經網路結構中,處理輸入的卷積層中使用了邊長為7甚至超過11的濾波器。 在過濾器的深度上,大部分卷積神經網路都採用逐層遞增的方式。一些模型中,每經過一次池

CNN中的理解和實例

垂直 name 平移 圖片 維度 都是 logs 窗口大小 表示 卷積操作是使用一個二維卷積核在在批處理的圖片中進行掃描,具體的操作是在每一張圖片上采用合適的窗口大小在圖片的每一個通道上進行掃描。 權衡因素:在不同的通道和不同的卷積核之間進行權衡 在tensorflow中的

cnn理解

激活 不同 2個 原因 進行 處理 cnn 輸出 輸入 首先輸入圖像是28*28處理好的圖。 第一層卷積:用5*5的卷積核進行卷積,輸入為1通道,輸出為32通道。即第一層的輸入為:28*28圖,第一層有32個不同的濾波器,對同一張圖進行卷積,然後輸出為32張特征圖。需要32

矩陣理解

在影象處理的過程中,經常會看到矩陣卷積的概念,比如說用一個模板去和一張圖片進行卷積,因此很有必要了解矩陣卷積到了做了什麼,具體又是怎麼計算的。  在matlab中有conv2函式對矩陣進行卷積運算,其中有一個shape引數,取值具體有三種:  -full  - (d

深度學習-理解

1.這篇文章以賈清揚的ppt說明了卷積的實質,更說明了卷積輸出影象大小應該為: 假設輸入影象尺寸為W,卷積核尺寸為F,步幅(stride)為S(卷積核移動的步幅),Padding使用P(用於填充輸入影象的邊界,一般填充0),那麼經過該卷積層後輸出的影

Deep Learning 23:dropout理解_之讀論文“Improving neural networks by preventing co-adaptation of feature detectors”

 感覺沒什麼好說的了,該說的在引用的這兩篇部落格裡已經說得很清楚了,直接做試驗吧 注意: 1.在模型的測試階段,使用”mean network(均值網路)”來得到隱含層的輸出,其實就是在網路前向傳播到輸出層前時隱含層節點的輸出值都要減半(如果dropout的比例為p=50%),其理由如下: At

各類濾波器比較 &&理解

巴特沃斯濾波器、切比雪夫濾波器、貝塞爾濾波器均包括模擬濾波器和數字濾波器兩種形式。  數字濾波器是指完成訊號濾波處理功能的,用有限精度演算法實現的離散時間線性非時變系統,其輸入是一組數字量,其輸出是經過變換的另一組數字量。因此,它本身即可以是用數字硬體裝配成的一臺完成給定運算

Deep Learning基礎--線性解碼器、、池化

sparse pca 過程 條件 連接 移動 .cn 計算過程 htm 本文主要是學習下Linear Decoder已經在大圖片中經常采用的技術convolution和pooling,分別參考網頁http://deeplearning.stanford.edu/wiki/i

Deep Learning 第九章 神經網絡

分享 http learn 卷積 網絡 info com alt image Deep Learning 第九章 卷積神經網絡

在深度學習中的作用(轉自http://timdettmers.com/2015/03/26/convolution-deep-learning/)

範圍 SM 全連接 判斷 contact con 發展 .dsp length 卷積可能是現在深入學習中最重要的概念。卷積網絡和卷積網絡將深度學習推向了幾乎所有機器學習任務的最前沿。但是,卷積如此強大呢?它是如何工作的?在這篇博客文章中,我將解釋卷積並將其與其他概念聯系起來

Deep Learning 學習隨記(七)Convolution and Pooling --和池化

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

Deep Learning.ai學習筆記_第四門課_神經網路

目錄 第一週 卷積神經網路基礎 第二週 深度卷積網路:例項探究 第三週 目標檢測 第四周 特殊應用:人臉識別和神經風格轉換   第一週 卷積神經網路基礎 垂直邊緣檢測器,通過卷積計算,可以把多維矩陣進行降維。如下圖:   卷積運算提供了一個方便的方法來發

深度學習方法(五):神經網路CNN經典模型整理Lenet,Alexnet,Googlenet,VGG,Deep Residual Learning

歡迎轉載,轉載請註明:本文出自Bin的專欄blog.csdn.net/xbinworld。  技術交流QQ群:433250724,歡迎對演算法、技術感興趣的同學加入。 關於卷積神經網路CNN,網路和文獻中有非常多的資料,我在工作/研究中也用了好一段時間各種常見的model了,就想著

deep learning 吳恩達 第四課第四周 神經網路 :Face Recognition for the Happy House - v3

Face Recognition for the Happy House Welcome to the first assignment of week 4! Here you will build a face recognition system. Many of the ideas pre

Deep learning with Theano 官方中文教程(翻譯)(四)—— 神經網路(CNN)

供大家相互交流和學習,本人水平有限,若有各種大小錯誤,還請巨牛大牛小牛微牛們立馬拍磚,這樣才能共同進步!若引用譯文請註明出處http://www.cnblogs.com/charleshuang/。 文章中的程式碼截圖不是很清晰,可以去上面的原文網址去檢視。 1、動機    卷積神經網路(CNN

Deep Learning」ILSVRC2012-2017影象分類經典網路

    分道揚鑣說的是牛津大學VGG設計的網路和谷歌設計的網路在表徵能力的增強上採用不同的思路。殊途同歸說的是兩者的分類效能差不多,前者是亞軍,後者是冠軍。VGGNet-16和-19是基於網路加深會增強表徵能力的思路,如圖6。可是,在訓練上帶來了不少麻煩,比如需要先訓練淺網路和再逐漸加深,如果要end2end

神經網路(3):目標檢測學習筆記[吳恩達Deep Learning]

1.目標定位 1.1 分類、定位、檢測簡介 - Image classification 影象分類,就是給你一張圖片,你判斷目標是屬於哪一類,如汽車、貓等等。 - Classification with localization 定位分類,

Deep Learning-TensorFlow (8) CNN神經網路_《TensorFlow實戰》及經典網路模型(上)

環境:Win8.1 TensorFlow1.0.1 軟體:Anaconda3 (整合Python3及開發環境) TensorFlow安裝:pip install tensorflow (CPU版) pip install tensorflow-gpu (GPU版) 轉載: