Questions tagged [convolution]

For questions related to the convolution operation in mathematics, convolutional neural networks, image processing and computer vision.

Filter by
Sorted by
Tagged with
1
vote
1answer
39 views

Is it a good idea to use different width and height of the kernel in a CNN?

I always see that the width and height of the kernel are the same. But is it a good idea to use different numbers? Recently I tried to use GoogLeNet (which expects images to be 224x224) on my images (...
2
votes
1answer
61 views

What do the variables in the cross-correlation formula mean?

I understand what cross-correlation does given a kernel and an input image, but the formula confuses me a little. Given here in Goodfellow's Deep Learning (page 329), I can't quite understand what $m$ ...
0
votes
0answers
17 views

Conversion of convolution filter weights between NCHW and NHWC formats

Popular deep learning frameworks have different default data formats (PyTorch with NCHW, TensorFlow with NHWC), which lead to published pretrained models with weights that may have an incompatible ...
3
votes
1answer
57 views

What is the use of the regular convolutional layer in expansion path of U-Net?

I was going through the paper on U-Net. U-net consists of a contracting path followed by an expanding path. Both the paths use a regular convolutional layer. I understand the use of convolutional ...
2
votes
0answers
26 views

Do filters have as many layers as the depth of the input in CNNs? [duplicate]

Firstly as an example here is the architecture of YOLOv2 I am trying to understand the depth of an output of a convolutional layer. For example, the first convolutional layer has the shape 3x3x32. So ...
4
votes
1answer
67 views

Is there anything that ensures that convolutional filters don't end up the same?

I trained a simple model to recognize handwritten numbers from the mnist dataset. Here it is: ...
1
vote
1answer
28 views

Is average pooling equivalent to a strided convolution with a specific constant kernel?

It seems to me that average pooling can be replaced by a strided convolution with a constant kernel. For instance, a 3x3 pooling would be equivalent to a strided convolution (of stride $3$) with a $3 \...
0
votes
1answer
49 views

In CNNs, why do we sum the filter derivatives w.r.t the loss function to get the final gradient?

In a Convolutional Neural Network, unlike the fully connected layers, the same filter is used multiple times on the input while convolving - so during backpropagation, we get multiple derivatives for ...
1
vote
0answers
28 views

Is the 3d convolution associative given that it can be represented as matrix multiplication?

I'm trying to understand if a 3D convolution of the sort performed in a convolutional layer of a CNN is associative. Specifically, is the following true: $$ X \otimes(W \cdot Q)=(X \otimes W) \cdot Q, ...
2
votes
1answer
102 views

When should we use separable convolution?

I was reading the "Deep Learning with Python" by François Chollet. He mentioned separable convolution as following This is equivalent to separating the learning of spatial features and the ...
2
votes
1answer
92 views

How to mathematically describe the convolution operation (with a Gaussian kernel)?

I have to build a model where I pre-process the data with a Gaussian kernel. The data are an $n\times n$ matrix (i.e one channel), but not an image, thus I can't refer to this matrix as an image and ...
1
vote
0answers
32 views

Is it possible to express attention as a Fourier convolution?

Convolutions can be expressed as a matrix-multiplication (see e.g. this post) and as an element-wise multiplication using the Fourier domain (https://en.wikipedia.org/wiki/Convolution_theorem). ...
0
votes
2answers
100 views

How could I convolve a 4D image and a 4D filter with stride?

I want to create a CNN in Python, specifically, only with NumPy, if possible. For optimizing the time of convolution (actually correlation) in the network, I wanna try to use FFT-based convolution. ...
3
votes
0answers
33 views

What does “convolve k filters” mean in the AlphaGo paper?

On page 27 of the DeepMind AlphaGo paper appears the following sentence: The first hidden layer zero pads the input into a $23 \times 23$ image, then convolves $k$ filters of kernel size $5 \times 5$ ...
1
vote
0answers
50 views

Embedding Layer into Convolution Layer

I'm looking to encode PDF documents for deep learning such that an image representation of the PDF refers to word embeddings instead of graphic data So I've indexed a relatively small vocabulary (88 ...
2
votes
0answers
85 views

Why can we perform graph convolution using the standard 2d convolution with $1 \times \Gamma$ kernels?

Recently I was reading this paper Skeleton Based Action RecognitionUsing Spatio Temporal Graph Convolution. In this paper, the authors claim (below equation (\ref{9})) that we can perform graph ...
1
vote
0answers
66 views

Can I think graph convolution as 2D convolution like images?

Kipf et al described in his paper that we can write graph convolution operation like this: $$H_{t+1} = AH_tW_t$$ where, $A$ is the normalized adjacency matrix, $H_t$ is the embedded representation of ...
1
vote
0answers
39 views

Why does the number of channels in the PointNet increase as we go deeper?

For example, in PointNet, you see the 1D convolutions with the following channels 64 -> 128 -> 1024. Why not e.g. ...
2
votes
1answer
68 views

Is it possible to apply the associative property of the convolution operation when it is followed by a non-linearity?

The associative property of multidimensional discrete convolution says that: $$Y=(x \circledast h_1) \circledast h_2=x\circledast(h_1\circledast h_2)$$ where $h_1$ and $h_2$ are the filters and $x$ is ...
1
vote
1answer
45 views

How will the input be preserved as we go deeper in CNN, where dimensions decrease drastically?

Our length of feature representation decreases as we go deeper into the CNN, I mean to say that horizontal and vertical lengths decrease while depth(channels) increase. So, how will the input be ...
3
votes
2answers
209 views

Do convolutional neural networks perform convolution or cross-correlation?

Typically, people say that convolutional neural networks (CNN) perform the convolution operation, hence their name. However, some people have also said that a CNN actually performs the cross-...
1
vote
0answers
26 views

Is there a difference between using 1d conv layers and 2d conv layers with kernel with size of 1 along other than time dimension?

Let's assume I use convolutional networks for time-series prediction. Data I feed to the network have 1 channel depth, height of number of periods and number of features is the width, so the frame ...
1
vote
0answers
38 views

How do we choose the filters for the convolutional layer of a convolution neural network?

Since the hidden layers of a CNN work as a trainable feature extractor, more detailed content based on a larger number of pixels shall require bigger filter sizes. But for cases where localized ...
1
vote
1answer
64 views

Are activation functions applied to feature maps?

If I have a convolutional neural network, and I convolve my input tensor with a kernel, the output is a feature map. Is an activation function then applied to this feature map? If its an image that ...
7
votes
1answer
107 views

What is the point of using 1D and 2D convolutions with a kernel size of 1 and 1x1 respectively?

I understand the gist of what convolutional neural networks do and what they are used for, but I still wrestle a bit with how they function on a conceptual level. For example, I get that filters with ...
3
votes
1answer
68 views

How is the convolution layer is usually implemented in practice?

Following an earlier question, I'm interested in understanding the basics of Conv2d and especially how the kernel is applied, summed, and the propagated. I ...
4
votes
2answers
2k views

How to calculate the number of parameters of a convolutional layer?

I was recently asked at an interview to calculate the number of parameters for a convolutional layer. I am deeply ashamed to admit I didn't know how to do that, even though I've been working and using ...
2
votes
1answer
44 views

Is it a sign of overfitting when validation_loss dips and then goes up with increasingly bigger swings?

I am experimenting with a ConvNet to categorize images taken with a depth camera. So far I have 4 sets of 15 images each. So 4 labels. The original images are 680x880 16-bit grayscale. They are scaled ...
4
votes
2answers
98 views

Is there any difference between the convolution operation applied to images and applied to other numerical 2D data?

Is there any difference between the convolution operation applied to images and applied to other numerical 2D data? For example, we have a pretty good CNN model trained on a number of $64 \times 64$ ...
1
vote
0answers
129 views

What's the difference in using multiple convolutional layers and no pooling versus using a single convolutional layer and a single max pooling layer?

I'm currently working on a college project in which I'm designing a Deep Q-Network that takes images/frames as an input. I've been searching online to see how other people have designed their ...
1
vote
1answer
103 views

How do I optimize the number of filters in a convolution layer?

I’m trying to figure out how to write an optimal convolutional neural network with respect to maximizing and minimizing filters in a convolution 2D layer. This is my thinking and I’m not sure if it's ...
4
votes
2answers
912 views

When is max pooling exactly applied in convolutional neural networks?

When using convolutional networks on images with multiple channels, do we max pool after we sum the feature map from each channel, or do we max pool each feature map separately and then sum? What's ...
2
votes
1answer
126 views

How is the depth of filters of hidden layers determined?

I am a bit confused about the depth of the convolutional filters in a CNN. At layer 1, there are usually about 40 3x3x3 filters. Each of these filters outputs a 2d array, so the total output of the ...
1
vote
1answer
121 views

How can I make the kernels non-learnable and set them manually?

I'm a newbie in Convolutional Neural Networks. I have found out that kernels in convolutional layers are usually learned while training. Suppose I have a kernel that is very good to extract the ...
5
votes
3answers
1k views

Convolutional Neural Network: does each filter in each convolution layer create a new image?

Say I have a CNN with this structure: input = 1 image (say, 30x30 RGB pixels) first convolution layer = 10 5x5 convolution filters second convolution layer = 5 3x3 convolution filters one dense layer ...
2
votes
1answer
289 views

Can I shuffle image channel data as a form of data augmentation?

If I want to augment my dataset, is shuffling or permuting the channels (RGB) of an image a sensible augmentation for training a CNN? IIRC, the way convolutions work is that a kernel operates over ...
4
votes
2answers
251 views

Can CNNs be applied to non-image data, given that the convolution and pooling operations are mainly applied to imagery?

When using CNNs for non-image (times series) data prediction, what are some constraints or things to look out for as compared to image data? To be more precise, I notice there are different types of ...
4
votes
2answers
610 views

Wouldn't convolutional neural network models work better without flattening the input in any stages?

The above model is what really helped me understand the implementation of convolutional neural networks, so based on that, I've got a tricky hypothesis that I want to find more about, since actually ...
5
votes
1answer
56 views

Is it possible to vectorise a CNN?

I am trying to write a CNN from scratch and am wondering if it is possible to vectorize the convolution step. For example, if I had a dataset of 500 RGB images of size 32x32x3, and wanted the first ...
13
votes
2answers
3k views

Why would you implement the position-wise feed-forward network of the transformer with convolution layers?

The Transformer model introduced in "Attention is all you need" by Vaswani et al. incorporates a so-called position-wise feed-forward network (FFN): In addition to attention sub-layers, each of the ...
3
votes
1answer
75 views

Is it useful to eliminate the less relevant filters from a trained CNN?

Imagine I have a tensorflow CNN model with good accuracy but maybe too many filters: Is there a way to determine which filters have more impact in output? I think it should be possible. At least, if ...
4
votes
1answer
329 views

Combining mean pooling and max pooling

Is it popular or effective to concatenate the results of mean-pooling and max-pooling? To get the invariance of the latter and the expressivity of the former.
3
votes
2answers
83 views

Why do we get a three-dimensional output after a convolutional layer?

In a convolutional neural network, when we apply the convolution on a $5 \times 5$ image with $3 \times 3$ kernel, with stride $1$, we should get only one $4 \times 4$ as output. In most of the CNN ...
4
votes
1answer
451 views

What is the difference between asymmetric and depthwise separable convolution?

I have recently discovered asymmetric convolution layers in deep learning architectures, a concept which seems very similar to depthwise separable convolutions. Are they really the same concept with ...
7
votes
2answers
3k views

When should I use 3D convolution?

I am new to convolutional neural networks, and I am learning 3D convolution. What I could understand is that 2D convolution gives us relationships between low-level features in the X-Y dimension, ...
6
votes
1answer
809 views

What are the benefits of using max-pooling in convolutional neural networks?

I am reading Francois Chollet's Deep learning with Python, and I came across a section about max-pooling that's really giving me trouble. I am unable to copy-paste the content, so I've included ...
2
votes
1answer
123 views

Why do the inputs and outputs of a convolutional layer usually have the same depth?

Here's the famous VGG-16 model. Do the inputs and outputs of a convolutional layer, before pooling, usually have the same depth? What's the reason for that? Is there a theory or paper trying to ...
0
votes
2answers
520 views

How should the values of the filters of a CNN change?

I wrote a convolutional neural network for the MNIST dataset with Numpy from scratch. I am currently trying to understand every part and calculation. But one thing I noticed was the "just positive" ...
3
votes
1answer
443 views

How is the number of parameters reduced in the group convolution?

I think I don't understand group convolutions well. Say you have 2 groups. This means that the number of parameters would be reduced in half. So, assuming you have an image and 100 channels, with a ...
4
votes
1answer
554 views

How can the convolution operation be implemented as a matrix multiplication?

How can the convolution operation used by CNNs be implemented as a matrix-vector multiplication? We often think of the convolution operation in CNNs as a kernel that slides across the input. However, ...