The analysis at this stage suggests that, per the original premise of the article, SoCs will need to be rethought, but this needs to be done while keeping one eye on the evolution of the algorithms. The techniques they use to get more efficient may affect where and how processing horsepower needs to be applied.
When it comes to deep learning algorithms, they come in different flavors, including CNN, RNN (Recurrent NN) and others. Surprisingly, CNN is a relatively simple algorithm; it is basically a massive set of filters. The problem is running it in real time on embedded (and low power) systems. In fact, this is where it gets more interesting, as you have to deal with enormous data bandwidth and cycle count. The next phase (where most efforts are focused today) is changing and optimizing the algorithms to deal with these constraints.
In addition, deep learning is just one piece of the puzzle called visual perception. To start with, our brain is used to process 3D images, not 2D. Generating a 3D image requires a whole different set of algorithms, including 3D registration and point cloud processing.
Great topic for discussion going forward, thanks for bringing this to the fore, Junko.
One issue is that like the rest of our ecosystem today, deep learning requires a hybrid computing solution. Some of the analysis will be best performed in the cloud, while other learning will be more suited for devices or the edge of the network after clear algorithms and applications are established.
With this in mind, the SoCs in the cloud need to be massively parallel both internally and in working with similar SoCs. In devices, the solutions need to fit into the context of the other applications. To accomplish this, SoCs need to be designed in a heterogeneous fashion to take advantage of all the compute resources available, such as the CPUs, GPUs, and DSPs.