Is the pattern recognition capability of CNNs limited to image processing?



Can a Convolutional Neural Network be used for pattern recognition in a problem domain where there are no pre-existing images, say by representing abstract data graphically? Would that always be less efficient?

This developer says current development could go further but not if there's a limit outside image recognition.


Posted 2016-08-02T16:38:55.800

Reputation: 1 221

@EricPlaton Tightened it up a bit. My main question is about the nature of the relationship between CNNs and images. What would be your suggestion for the second question? – dynrepsys – 2016-08-04T15:19:08.540

Thank you, the question is good to me (although I should delete my answer now~). As for the second question, how about a "what is the catch" approach? "Is it always less efficient?" is still fine if someone can come up with a counter-example. – Eric Platon – 2016-08-05T00:11:16.643

By "Can a Convolutional Neural Network be used for pattern recognition in a problem domain where there are no pre-existing images, say by representing abstract data graphically?" are you asking if we can represent any data as an image and apply a CNN? Like reading a 100-features dataset and represent it as a 10x10 image? – rcpinto – 2016-08-07T17:45:46.770

1I see at least two questions here. How do you think about splitting up? Also, the question would have way higher quality if you could expand on what you have searched w.r.t. the title question. – Eric Platon – 2016-08-03T09:01:54.837



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 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).

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, 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).

Eric Platon

Posted 2016-08-02T16:38:55.800

Reputation: 1 410


The simple answer is "no, they aren't limited to images": CNNs are also being used for natural language processing. (See here 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.

Matthew Graves

Posted 2016-08-02T16:38:55.800

Reputation: 3 957


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) or even for drug discovery by predicting the interaction between molecules and biological proteinswiki.

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


Posted 2016-08-02T16:38:55.800

Reputation: 9 163


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.


Posted 2016-08-02T16:38:55.800

Reputation: 3 667