CNNs—artificial neural networks comprised of one or more convolutional layers—have practical applications in a variety of electronic systems. They’re powerful in their ability to quickly process large volumes of data to derive intelligent decisions. And they’re invaluable in the growing number of real-time systems that we use, from smart watches to security devices and advanced driver assistance systems (ADAS).
Compared to traditional pattern-detection methods, CNNs are advantageous because they can be trained efficiently (see Figure 1 for a depiction of how neural networks are trained). They’ve demonstrated the best possible correct detection rates versus other detection algorithms—and even when compared with people. A commonly cited example is that of the German Traffic Sign Recognition Benchmark (GTSRB). Traffic sign recognition algorithms, in conjunction with a proprietary hierarchical CNN methodology, have achieved a correct detection rate of 99.8%. In the future, we may be able to train CNNs reliably for more complex deep-learning tasks, such as judgment and strategy, particularly if the networks become sophisticated enough to recognize actions and context accurately.
Reducing Complexity of CNNs
In the near term, the industry continues to research ways to reduce the complexity of CNNs without sacrificing any of their accuracy. Automation provides one way to accomplish this. One of the key challenges that engineers who want to use CNN algorithms face is, they are unsure which deep-learning network to design to process and analyze the large amounts of data they’ve amassed. Often, they need to turn to an expert, who assesses the data and recommends the most optimal network to build. Efforts are underway in the industry to automate the decision process that determines the starting point for the network, along with the steps that come afterwards. This level of automation can address complexity by optimizing for compute reduction, memory sizes, and number format. These efforts could eventually lead to simpler, much more efficient implementations