Answers.Body: <p>Convolutional Nets (CNN) rely on mathematical convolution (e.g. 2D or 3D convolutions), which is commonly used for signal processing. Images are a type of signal, and convolution can equally be used on sound, vibrations, etc. So, in principle, CNNs can find applications to any signal, and probably more.</p>
  
  <p>In practice, there exists already work on NLP (as mentioned by Matthew Graves), where some people process text with CNNs rather than recursive networks. Some other works apply to sound processing (no reference here, but I have yet unpublished work ongoing).</p>
  
  <hr>
  
  <p><em>Original contents: In answer to the original title question, which has changed now. Perhaps need to delete this one</em>.</p>
  
  <p>Research on adversarial networks (and related) show that even <a href="http://arxiv.org/abs/1412.1897" rel="noreferrer">deep networks can easily be fooled</a>, leading them to see a dog (or whatever object) in what appears to be random noise when a human look at it (the article has clear examples).</p>
  
  <p>Another issue is the generalization power of a neural network. Convolutional nets have amazed the world with their capability to generalize way better than other techniques. But if the network is only fed images of cats, it will recognize only cats (and probably see cats everywhere, as by adversarial network results). In other words, even CNs have a hard time generalizing too far <em>beyond</em> what they learned from.</p>
  
  <p>The recognition limit is hard to define precisely. I would simply say that the diversity of the learning data pushes the limit (I assume further detail should lead to more appropriate venue for discussion).</p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2016-08-03T09:18:24.867Z
Answers.LastActivityDate: 2016-08-07T09:03:34.373Z
Answers.LastEditDate: 2016-08-07T09:03:34.373Z
Answers.UserDisplayName: Eric Platon
Answers.Body: <p>The simple answer is "no, they aren't limited to images": CNNs are also being used for natural language processing. (See <a href="http://www.wildml.com/2015/11/understanding-convolutional-neural-networks-for-nlp/" rel="noreferrer">here</a> for an introduction.)</p>
  
  <p>I haven't seen them applied to graphical data yet, but I haven't looked; there are some obvious things to try and so I'm optimistic that it would work.</p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2016-08-04T15:22:05.297Z
Answers.LastActivityDate: 2016-08-04T15:22:05.297Z
Answers.UserDisplayName: Matthew Gray
Answers.Body: <p>A convolutional neural network can be used wherever patterns are locally correlated and translatable (as in shiftable). This is the case because CNNs contain filters that look for certain local patterns everywhere in the input. 
  You'll find local and translatable patterns in pictures, text, time series, etc.</p>
  
  <p>It doesn't make as much sense to use CNNs if your data is more like a bag of features with an irrelevant order. In that case, you might have trouble detecting patterns that contain features which happen to be farther apart in your input vector. You will not find local and translatable patterns in your data if you can reorder the data points of the input vectors without losing information. </p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2016-09-07T14:56:38.193Z
Answers.LastActivityDate: 2018-04-12T02:45:49.627Z
Answers.LastEditDate: 2018-04-12T02:45:49.627Z
Answers.UserDisplayName: BlindKungFuMaster
Answers.Body: <p>Convolutional neural network can be applied not only for image recognition but also for video analysis and recognition, natural language processing, in games (e.g. <a href="https://en.wikipedia.org/wiki/Computer_Go#New_approaches_to_problems" rel="nofollow noreferrer">Go</a>) or even for <a href="https://ai.stackexchange.com/a/1424/8">drug discovery</a> by predicting the interaction between molecules and biological proteins<sup><a href="https://en.wikipedia.org/wiki/Convolutional_neural_network#Applications" rel="nofollow noreferrer">wiki</a></sup>.</p>
  
  <p>Therefore it can be used for variety of problems by using convolutional and subsampling layers connected to more fully connected layers. They're easier to train, because have fewer parameters than fully connected networks with the same number of hidden units.<sup><a href="http://ufldl.stanford.edu/tutorial/supervised/ConvolutionalNeuralNetwork/" rel="nofollow noreferrer">UFLDL</a></sup></p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2016-08-07T17:14:07.107Z
Answers.LastActivityDate: 2018-04-11T21:19:52.753Z
Answers.LastEditDate: 2018-04-11T21:19:52.753Z
Answers.UserDisplayName: kenorb
Body: <p>Can a Convolutional Neural Network be used for pattern recognition in problem domains without image data? For example, by representing abstract data in an image-like format with spatial relations? Would that always be less efficient?</p>
  <p><a href="https://youtu.be/py5byOOHZM8?t=815" rel="noreferrer" title="This Developer">This developer</a> says current development could go further but not if there's a limit outside image recognition.</p>
  
Tags: <deep-neural-networks><neural-networks><image-recognition><convolutional-neural-networks>
Title: Is the pattern recognition capability of CNNs limited to image processing?
UserDisplayName: dynrepsys
ThreadText: # Is the pattern recognition capability of CNNs limited to image processing?
  
  (Asked by: username_0 on 2016-08-02)
  
  Can a Convolutional Neural Network be used for pattern recognition in problem domains without image data? For example, by representing abstract data in an image-like format with spatial relations? Would that always be less efficient?
  
  [This developer](https://youtu.be/py5byOOHZM8?t=815 "This Developer") says current development could go further but not if there's a limit outside image recognition.
  
  **Tags:** deep-neural-networks, neural-networks, image-recognition, convolutional-neural-networks
  
  
  ---
  
  ## 4 answers
  
  ### Answer by username_1 on 2016-08-03. Score: 13
  
  Convolutional Nets (CNN) rely on mathematical convolution (e.g. 2D or 3D convolutions), which is commonly used for signal processing. Images are a type of signal, and convolution can equally be used on sound, vibrations, etc. So, in principle, CNNs can find applications to any signal, and probably more.
  
  In practice, there exists already work on NLP (as mentioned by username_2 Graves), where some people process text with CNNs rather than recursive networks. Some other works apply to sound processing (no reference here, but I have yet unpublished work ongoing).
  
  ---
  
  *Original contents: In answer to the original title question, which has changed now. Perhaps need to delete this one*.
  
  Research on adversarial networks (and related) show that even [deep networks can easily be fooled](http://arxiv.org/abs/1412.1897), leading them to see a dog (or whatever object) in what appears to be random noise when a human look at it (the article has clear examples).
  
  Another issue is the generalization power of a neural network. Convolutional nets have amazed the world with their capability to generalize way better than other techniques. But if the network is only fed images of cats, it will recognize only cats (and probably see cats everywhere, as by adversarial network results). In other words, even CNs have a hard time generalizing too far *beyond* what they learned from.
  
  The recognition limit is hard to define precisely. I would simply say that the diversity of the learning data pushes the limit (I assume further detail should lead to more appropriate venue for discussion).
  
  
  ---
  
  ### Answer by username_2 on 2016-08-04. Score: 5
  
  The simple answer is "no, they aren't limited to images": CNNs are also being used for natural language processing. (See [here](http://www.wildml.com/2015/11/understanding-convolutional-neural-networks-for-nlp/) for an introduction.)
  
  I haven't seen them applied to graphical data yet, but I haven't looked; there are some obvious things to try and so I'm optimistic that it would work.
  
  
  ---
  
  ### Answer by username_3 on 2016-09-07. Score: 4
  
  A convolutional neural network can be used wherever patterns are locally correlated and translatable (as in shiftable). This is the case because CNNs contain filters that look for certain local patterns everywhere in the input.
  You'll find local and translatable patterns in pictures, text, time series, etc.
  
  It doesn't make as much sense to use CNNs if your data is more like a bag of features with an irrelevant order. In that case, you might have trouble detecting patterns that contain features which happen to be farther apart in your input vector. You will not find local and translatable patterns in your data if you can reorder the data points of the input vectors without losing information.
  
  
  ---
  
  ### Answer by username_4 on 2016-08-07. Score: 4
  
  Convolutional neural network can be applied not only for image recognition but also for video analysis and recognition, natural language processing, in games (e.g. [Go](https://en.wikipedia.org/wiki/Computer_Go#New_approaches_to_problems)) or even for [drug discovery](https://ai.stackexchange.com/a/1424/8) by predicting the interaction between molecules and biological proteins[wiki](https://en.wikipedia.org/wiki/Convolutional_neural_network#Applications).
  
  Therefore it can be used for variety of problems by using convolutional and subsampling layers connected to more fully connected layers. They're easier to train, because have fewer parameters than fully connected networks with the same number of hidden units.[UFLDL](http://ufldl.stanford.edu/tutorial/supervised/ConvolutionalNeuralNetwork/)
  
  
  ---
  
  