Answers.Body: <p>Short answer: <strong>One to many</strong><br />
  Long answer:</p>
  <p>The point is that you use a 3D convolution in a CNN. Each kernel has the size of n*m*C (C is the number of feature maps) and every feature map has its own kernel(=weights) and bias.</p>
  <p><strong>An example:</strong></p>
  <p>The size of layer 2 is 9x9x10 (stride 1, no padding), the kernel size is 3x3x10.</p>
  <p>The dimension of the next layer would be 3x3xn (n are the number of kernels that layer 2 has).</p>
  <p><a href="https://www.quora.com/How-does-the-second-convolution-layer-work-on-multiple-feature-maps" rel="nofollow noreferrer">Here</a> I found a very clear explanation.</p>
  <p>I hope this helps.</p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-08-24T20:28:21.943Z
Answers.Text: How can there be no stride? It seems stride needs to be at least 1. Also, if the layer is 9x9x10 and the kernel size is 3x3x10, how can such a convolution result in multiple feature maps? Isn't the depth of the next layer 10-D+1, with kernel depth D? It seems like the setup you describe yields a depth of 1 for the next layer.
Answers.UserDisplayName: MackTuesday
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-08-25T06:59:06.030Z
Answers.Text: Yes you are right. I meant stride 1. I edited my answer
Answers.UserDisplayName: james
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-08-25T07:07:56.950Z
Answers.Text: the depth of the  feature map n+1 is equal to the numbers of kernels you used in the feature map n. so if you just use 1 kernel the depth of the next feature map is 1. - each feature map has its own kernel - this is one of the main advantages of the CNN over the full connected NN: there are much less parameters to fit.
Answers.UserDisplayName: james
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2017-08-21T16:37:06.807Z
Answers.LastActivityDate: 2021-10-02T14:44:19.320Z
Answers.LastEditDate: 2021-10-02T14:44:19.320Z
Answers.UserDisplayName: james
Answers.Body: <p>If you really want to understand what goes on in a CNN and visualize it, then you can give a read to <a href="http://cs231n.github.io/convolutional-networks/" rel="nofollow noreferrer">this</a>.</p>
  <p>This course needs some prerequisites like having a certain level of idea of the forward and backward propagation and knowing how the network learns on itself.</p>
  <p>CNN is just a way of moving from fully connected layers (every input connects to every output) to partially connected layers.</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2017-08-25T07:58:06.977Z
Answers.LastActivityDate: 2021-09-30T20:25:02.507Z
Answers.LastEditDate: 2021-09-30T20:25:02.507Z
Answers.UserDisplayName: Ayushi Agarwal
Body: <p>I've gone through several descriptions of CNNs online and they all leave out a crucial part as if it were trivial.</p>
  <p>A &quot;volume&quot; of neurons consists of several parallel layers (&quot;feature maps&quot;), each the result of convolving with a different kernel.</p>
  <p>Between volumes, there is usually a step where layers are pooled and subsampled.</p>
  <p>The next volume has a different number of parallel layers.</p>
  <p>How do the feature maps from one volume connect to the feature maps of the next volume? Is it one-to-many? Many-to-many? Do N kernels apply to each of the M feature maps in the first volume, yielding N*M feature maps in the second volume? Are these N kernels the same for each feature map in the first volume, or do different kernels apply to each one?</p>
  <p>Or, is the number of maps in the second volume not necessarily a multiple of the number in the first volume? If so, do maps in the first volume get cross-synthesized somehow? Or, maybe different numbers of maps in the second volume follow from each one in the first?</p>
  <p>Or, is it some other of umpteen trillion possibilities?</p>
  
Tags: <convolutional-neural-networks><neurons><feature-maps>
Title: CNNs: What happens from one neuron volume to the next?
UserDisplayName: MackTuesday
ThreadText: # CNNs: What happens from one neuron volume to the next?
  
  (Asked by: username_0 on 2017-08-16)
  
  I've gone through several descriptions of CNNs online and they all leave out a crucial part as if it were trivial.
  
  A "volume" of neurons consists of several parallel layers ("feature maps"), each the result of convolving with a different kernel.
  
  Between volumes, there is usually a step where layers are pooled and subsampled.
  
  The next volume has a different number of parallel layers.
  
  How do the feature maps from one volume connect to the feature maps of the next volume? Is it one-to-many? Many-to-many? Do N kernels apply to each of the M feature maps in the first volume, yielding N\*M feature maps in the second volume? Are these N kernels the same for each feature map in the first volume, or do different kernels apply to each one?
  
  Or, is the number of maps in the second volume not necessarily a multiple of the number in the first volume? If so, do maps in the first volume get cross-synthesized somehow? Or, maybe different numbers of maps in the second volume follow from each one in the first?
  
  Or, is it some other of umpteen trillion possibilities?
  
  **Tags:** convolutional-neural-networks, neurons, feature-maps
  
  
  ---
  
  ## 2 answers
  
  ### Answer by username_1 on 2017-08-21. Score: 2 | Accepted answer
  
  Short answer: **One to many**  
  Long answer:
  
  The point is that you use a 3D convolution in a CNN. Each kernel has the size of n\*m\*C (C is the number of feature maps) and every feature map has its own kernel(=weights) and bias.
  
  **An example:**
  
  The size of layer 2 is 9x9x10 (stride 1, no padding), the kernel size is 3x3x10.
  
  The dimension of the next layer would be 3x3xn (n are the number of kernels that layer 2 has).
  
  [Here](https://www.quora.com/How-does-the-second-convolution-layer-work-on-multiple-feature-maps) I found a very clear explanation.
  
  I hope this helps.
  
  > **Comments:**
  > **username_0**: How can there be no stride? It seems stride needs to be at least 1. Also, if the layer is 9x9x10 and the kernel size is 3x3x10, how can such a convolution result in multiple feature maps? Isn't the depth of the next layer 10-D+1, with kernel depth D? It seems like the setup you describe yields a depth of 1 for the next layer.  
  > **username_1**: Yes you are right. I meant stride 1. I edited my answer  
  > **username_1**: the depth of the  feature map n+1 is equal to the numbers of kernels you used in the feature map n. so if you just use 1 kernel the depth of the next feature map is 1. - each feature map has its own kernel - this is one of the main advantages of the CNN over the full connected NN: there are much less parameters to fit.  
  
  ---
  
  ### Answer by username_2 on 2017-08-25. Score: 1
  
  If you really want to understand what goes on in a CNN and visualize it, then you can give a read to [this](http://cs231n.github.io/convolutional-networks/).
  
  This course needs some prerequisites like having a certain level of idea of the forward and backward propagation and knowing how the network learns on itself.
  
  CNN is just a way of moving from fully connected layers (every input connects to every output) to partially connected layers.
  
  
  ---
  
  