Ron Wilson, Editor-in-Chief, Altera Corporation
What is a convolutional neural network (CNN) anyway, and, given the rather checkered history of neural networks in engineering, why would you even care? Perhaps we can give a relatively concise answer to both of these very pertinent questions.
In brief, CNNs, an evolutionary step in neural networks, are becoming a key technique in applications, such as vision processing, handwriting recognition, voiceprint analysis, robotics, and automotive driver-assist systems. They are likely to spread to a much wider range of embedded systems. And if you want to stay current in this broadening set of applications, you should care a lot, because CNNs are often the best available solution to these problems, and they are in the process of emerging from a long stay in academia into the real world.
But some important aspects of CNNs make them quite different from traditional signal-processing tools, both in how they function and in how you design them. Consequently, CNNs are likely to first appear in the real world not as general techniques but as applications-specific black boxes or as frameworks—where much of the internal complexity is hidden from design teams that use them. But let’s start this story at the beginning.
Click here to read more ...