Dense neural networks for computer vision problems

QluvBam report abuse

I know that convolutional neural networks are used in all areas of modern computer vision. But what is the reason for this? Can't we just use the simple dense neural networks to perform computer vision tasks?

Answers

cwizards report abuse

We can use vanilla dense neural networks, but this is not efficiently. There are at least 2 reasons why we don't use them.

1) Productivity. There is a lot of pixels on the images, so we would need a significant number of neurons to process them. This would lead to enormously large networks that are very slow for training and require huge computational and memory resources. In fact, if you are trying to solve a sandbox problem, like digit recognition, and you have small images (for example, 20x20 pixels, grayscaled), you can successfully use dense neural networks. But when you have RGB images with such dimensions as 1920x1080, it is impossible to use dense neural networks. There will be a lot of neurons and parameters to learn. Convolutions (alongside with Pooling layers) reduce the number of parameters for learning.

2) Quality of the results. Even if we can train dense neural networks for CV tasks, we should understand that CNNs perform better. The logic behind convolutions is that they help to derive high-level features of the images. In other words, CNN looks at some features like the shape of the objects, their color, presence or absence of some objects on the image, etc. A dense neural network looks just on each individual pixel and doesn't see even the neighbor pixels. This leads to poor performance compared with CNNs

QluvBam report abuse

If CNNs act as feature engineers, why we cannot use them not only for computer vision but also for other fields?

cwizards report abuse

They actually can be used in other fields. In fact, NLP specialists often include CNNs into their architectures despite the fact that Recurrent neural networks (RNNs) are the primary type of neural networks for text processing. Also, you can try to apply CNNs even for standard predictive analytics tasks. Nevertheless, for most predictive analytics issues it is redundant because simple dense neural networks or ensembling approaches (random forests, gradient boosting, etc.) work well.

QluvBam report abuse

Are there any differences between CNNs for computer vision and for natural language processing?

cwizards report abuse

Yes. CNNs for NLP tasks work generally with word embeddings and the convolutions are 1-dimensional (for CV tasks we need to use 2D or 3D convolutions).

Add Answer

Need support?

Just drop us an email to ... Show more