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
11
votes
2answers
2k 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 ...
7
votes
2answers
2k 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
533 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 ...
4
votes
2answers
763 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 ...
4
votes
3answers
631 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 ...
4
votes
2answers
379 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 ...
4
votes
2answers
82 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$ ...
4
votes
1answer
272 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.
4
votes
2answers
643 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 ...
4
votes
1answer
311 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 ...
3
votes
1answer
67 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 ...
3
votes
1answer
64 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 ...
3
votes
1answer
41 views

Is it possible to vectorise a CNN?

I am trying to write a CNN from scratch and am wondering if it possible to vectorise the convolution step. For example, if I had a dataset of 500 RGB images of size 32x32x3, and wanted the first conv ...
3
votes
0answers
27 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$ ...
2
votes
1answer
35 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 ...
2
votes
1answer
163 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 ...
2
votes
2answers
68 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 ...
2
votes
0answers
68 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 ...
2
votes
1answer
45 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 ...
2
votes
1answer
92 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 ...
2
votes
1answer
267 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, ...
1
vote
1answer
67 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 ...
1
vote
1answer
41 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 ...
1
vote
2answers
110 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
1answer
39 views

Convolutional filters: create new ones

I'm studying a Master's Degree in Artificial Intelligence an my final work is about Convolutional Neuronal Networks. I was looking for information about filters (or kernel) at the convolutional ...
1
vote
1answer
39 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 ...
1
vote
1answer
89 views

How is the depth of filters of hidden layers determined?

I am a bit confused on the layer depth of later convolutional filters. At layer 1 there are usually 40 or so 3x3x3 filters. Each of these filters outputs a 2d array so the total output of the first ...
1
vote
1answer
633 views

Is my understanding of how the convolution with stride 2 works in this example correct?

I'm currently reading this explanation of convolutional neural networks and there's a part around strides that I don't quite understand. I'm just starting with this, so I apologize if this is a really ...
1
vote
0answers
29 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). ...
1
vote
0answers
48 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 ...
1
vote
0answers
54 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
37 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. ...
1
vote
0answers
20 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
30 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
0answers
126 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
0answers
23 views

Efficient implementation of seperable convolution in tensorflow [closed]

It seems like the native implementation of separable convolution in tensorflow is not efficient. https://github.com/tensorflow/tensorflow/issues/12940 Is anyone aware how can we get an efficient ...
0
votes
1answer
59 views

Set my own kernels to a CNN and don't let it to modify it

I'm newbie in Convolutional Neural Networks and I have discovered (and I hope I'm right) that kernels in convolutional layers are learned while training. If I have a kernel that it is very good to ...
0
votes
2answers
36 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. ...
0
votes
2answers
374 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" ...