15 votes
Accepted

When should I use 3D convolutions?

3D convolutions are used when you want to extract features in 3 dimensions or establish a relationship between 3 dimensions. Essentially, it's the same as 2D convolutions, but the kernel movement is ...
user avatar
  • 1,369
7 votes
Accepted

Do convolutional neural networks perform convolution or cross-correlation?

Short answer Theoretically, convolutional neural networks (CNNs) can either perform the cross-correlation or convolution: it does not really matter whether they perform the cross-correlation or ...
user avatar
  • 34.5k
6 votes
Accepted

What is a filter in the context of graph convolutional networks?

Short answer Check out the paper of Shuman et al. [1], it provides some background on Graph Signal Processing, including answers to your questions in sections II.C and III.A Long Answer Question 1 Yes,...
user avatar
5 votes

When should I use 3D convolutions?

3D convolutions should be used when you want to extract spatial features from your input on 3 dimensions. For computer vision, they are typically used on volumetric images, which are 3D. Some examples ...
user avatar
  • 191
5 votes
Accepted

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

To show how the convolution (in the context of CNNs) can be viewed as matrix-vector multiplication, let's suppose that we want to apply a $3 \times 3$ kernel to a $4 \times 4$ input, with no padding ...
user avatar
  • 34.5k
4 votes

What is the difference between graph convolution in the spatial vs spectral domain?

Spectral Convolution In a spectral graph convolution, we perform an Eigen decomposition of the Laplacian Matrix of the graph. This Eigen decomposition helps us in understanding the underlying ...
user avatar
4 votes

Does each filter in each convolution layer create a new image?

For a 3 channel image (RGB), each filter in a convolutional layer computes a feature map which is essentially a single channel image. Typically, 2D convolutional filters are used for multichannel ...
user avatar
  • 156
4 votes
Accepted

Does each filter in each convolution layer create a new image?

You are partially correct. On CNNs the output shape per layer is defined by the amount of filters used, and the application of the filters (dilation, stride, padding, etc.). CNNs shapes In your ...
user avatar
  • 156
4 votes

Does each filter in each convolution layer create a new image?

About the images inside the CNN layers: I really recommend this article since there is no one short answer to this question and it probably will be better to experiment with it. About the RGB input ...
user avatar
4 votes

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

No, nothing really prevents the weights from being different. In practice though they end up almost always different because it makes the model more expressive (i.e. more powerful), so gradient ...
user avatar
  • 1,260
3 votes
Accepted

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

Am I right in thinking that because there are only newImageX * newImageY patterns in the 32 x 32 image, that the maximum amount ...
user avatar
  • 34.5k
3 votes

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

You can use CNN for time-series data. The Convolutional Recurrent Neural Network (RCNN) is one of the examples. Convolutional layers basically extract features from images. It is not related to time-...
user avatar
3 votes
Accepted

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

Usually, you need to ensure that your convolutions are causal, meaning that there is no information leakage from the future into the past. You could start by looking at this paper, which compares ...
user avatar
  • 1,098
3 votes

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

I have had similar thoughts about neural networks before. Convolution layers are layers of two dimensional nodes effectively passing the spacial data so why don't we use two dimensional hidden layers ...
user avatar
3 votes

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

I'm going to post another guess to this question - it won't be a complete answer, but hopefully it'll provide some direction towards finding a more legitimate answer. The feed-forward networks as ...
user avatar
3 votes
Accepted

In which scenario would you want to have two adjacent pooling layers?

Assuming you're not referring to any particular type of pooling operation, it's possible that you could have, for example, a mean pool followed by a max or min pool. What this could do is combine the ...
user avatar
3 votes
Accepted

How is the depth of the input related to the depth of the output of a convolutional layer?

The reason why you go from 16 to 3 channels is that, in a 2d convolution, filters span the entire depth of the input. Therefore, your filters would actually be $7 \times 7 \times 16$ in order to cover ...
user avatar
3 votes
Accepted

How is the convolution layer is usually implemented in practice?

I don't think that to understand convolution you need to dig into the nested code of huge libraries, since the code becomes quickly really hard to understand and convoluted (ba dum tsss!). Joking ...
user avatar
3 votes

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

The point is that in the expansive path you have two forms of information: the information from the contracting path, which includes all high-level features extracted from the original image. the ...
user avatar
  • 3,103
3 votes

What is the difference between same convolution and full convolution in terms of feature map size?

What happens to the size of output feature map in case of full convolution? It increases. First one is valid padding: the blue square is not padded, so the green square is smaller. Third one is ...
user avatar
  • 141
3 votes
Accepted

Is down-sampling the only purpose of using stride?

The general purpose of stride (along with padding) is to determine the spatial dimensions of the output. So, with appropriate stride (and padding), you can also make the spatial dimensions of the ...
user avatar
  • 34.5k
2 votes
Accepted

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

Yes, you're right, after the green one, it should also move two steps (because stride = 2) to the right once more. Note that in the $3 \times 3$ output volume picture, there's also still a white cell ...
user avatar
  • 9,459
2 votes
Accepted

Is adding the Frobenius inner products between filter and input part of convolution or a separate step?

Both are incorrect. using your notation You do not take a sliding frobenius inner product of a singular channel of $I$ with $F$, but with all the channels at once. This may be easier to understand ...
user avatar
  • 2,289
2 votes

What is the difference between graph convolution in the spatial vs spectral domain?

After I read multiple explanations from different sources I think I found the main difference between the two methods. Implementation wise the only difference is the matrix that you're multiplying the ...
user avatar
  • 1,098
2 votes
Accepted

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

If you have a $h_i \times w_i \times d_i$ input, where $h_i, w_i$ and $d_i$ respectively refer to the height, width and depth of the input, then we usually apply $m$ $h_k \times w_k \times d_i$ ...
user avatar
  • 34.5k
2 votes
Accepted

What is the difference between asymmetric and depthwise separable convolution?

They are not the same thing. asymmetric convolutions work by taking the x and y axes of the image separately. For example performing a convolution with an $(n \times 1)$ kernel before one with a $(...
user avatar
  • 2,289
2 votes

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

1) The math is the exact same, so from an optimization or mathematical perspective there is no difference 2) Here are my guesses to a possible answer. Habit: People may just call one over the ...
user avatar
  • 2,289
2 votes
Accepted

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

As a rule of thumb for image data augmentation, look at the augmented images: Can you correctly classify or measure your target label from the augmented images? Could something similar to the ...
user avatar
  • 24.5k
2 votes

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

Read on Fully Convolutional Networks (FCN). There is a lot of papers on the subject, first was "Fully Convolutional Networks for Semantic Segmentation" by Long. The idea is quite close to what you ...
user avatar

Only top scored, non community-wiki answers of a minimum length are eligible