Answers.Body: <p>CNN applies the same filters to every &quot;chunk&quot; of the input data. It's applicable when you think every chunk should be processed the same way.</p>
  <p>For example, we think a face in the top-left of the image should be recognized just as well as a face in the bottom-right. So we do expect to process each part of the image the same way, and a CNN is good for this.</p>
  <p>If we did not use a CNN, the network would need to learn separately at each position. It would learn to recognize faces in the top-left based on training examples where faces were in the top-left, and it would learn to recognize faces in the bottom-right based on training examples where faces were in the bottom-right. Because a CNN necessarily uses the same weights on each part of the image, seeing a face anywhere helps it update the shared weights which helps it recognize faces in every part of the image. Therefore, less training data may be needed.</p>
  <p>A CNN might not be so good at classifying MNIST digits, for example, for the same reason. A /-shaped line in the top-left probably indicates a 6, but a /-shaped line in the bottom-right is more likely to indicate a 9, so we actually don't want the same weights there. It could still learn to sort this out in its final dense layer, of course. But if you wanted to find digits in a larger image you'd use a CNN.</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2021-09-18T07:23:58.833Z
Answers.LastActivityDate: 2021-09-18T07:23:58.833Z
Answers.UserDisplayName: Criticize SE actions means ban
Body: <p>Is CNN only applicable to time-series data or image data?</p>
  <p>When should we use CNN instead of MLP?</p>
  
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2021-09-17T22:23:32.093Z
Comments.Text: A simple answer is when you need a convolution like applying filters in image processing or auto-regression in time series.
Comments.UserDisplayName: OmG
Tags: <convolutional-neural-networks><comparison><applications><multilayer-perceptrons>
Title: When should we use CNN instead of MLP?
UserDisplayName: user366312
ThreadText: # When should we use CNN instead of MLP?
  
  (Asked by: username_0 on 2021-09-17)
  
  Is CNN only applicable to time-series data or image data?
  
  When should we use CNN instead of MLP?
  
  **Tags:** convolutional-neural-networks, comparison, applications, multilayer-perceptrons
  
  > **Comments:**
  > **username_1**: A simple answer is when you need a convolution like applying filters in image processing or auto-regression in time series.  
  
  ---
  
  ## 1 answers
  
  ### Answer by username_2 on 2021-09-18. Score: 3 | Accepted answer
  
  CNN applies the same filters to every "chunk" of the input data. It's applicable when you think every chunk should be processed the same way.
  
  For example, we think a face in the top-left of the image should be recognized just as well as a face in the bottom-right. So we do expect to process each part of the image the same way, and a CNN is good for this.
  
  If we did not use a CNN, the network would need to learn separately at each position. It would learn to recognize faces in the top-left based on training examples where faces were in the top-left, and it would learn to recognize faces in the bottom-right based on training examples where faces were in the bottom-right. Because a CNN necessarily uses the same weights on each part of the image, seeing a face anywhere helps it update the shared weights which helps it recognize faces in every part of the image. Therefore, less training data may be needed.
  
  A CNN might not be so good at classifying MNIST digits, for example, for the same reason. A /-shaped line in the top-left probably indicates a 6, but a /-shaped line in the bottom-right is more likely to indicate a 9, so we actually don't want the same weights there. It could still learn to sort this out in its final dense layer, of course. But if you wanted to find digits in a larger image you'd use a CNN.
  
  
  ---
  
  