|
|
www.design-reuse-embedded.com |
Machine Learning in the Cloud: Deep Neural Networks on FPGAs
By Nagesh Gupta, Auviz Systems
Xcell Daily Blog, Jul. 29, 2015 –
Deep-learning techniques use a large amount of known data to find a set of weights and bias values to match the expected results. The process is called training, and it can result in large models. This fact has motivated engineers to move toward specialized hardware such as GPUs for training and classification purposes.
As the amount of data increases even further, machine learning will move to the cloud, where large machine-learning models would be implemented on CPUs. While GPUs are a better alternative in terms of performance for deep-learning algorithms, the prohibitive power requirements have limited their use to high-performance computing clusters. Therefore, there is a dire need for a processing platform that can accelerate algorithms without a substantial increase in power consumption. In this context, FPGAs seem to be an ideal choice, with their inherent capability to facilitate the launching of a large number of concurrent processes at a low power profile.
Let's take a closer look at how to implement a convolutional neural network (CNN) on a Xilinx FPGA. CNN is a class of deep neural networks that has been very successful for large scale image-recognition tasks and other, similar machine-learning problems.
WHAT IS A CONVOLUTIONAL NEURAL NETWORK? Convolutional neural networks are a form of deep neural networks (DNNs) that engineers have recently begun using for various recognition tasks. Image recognition, speech recognition and natural-language processing are a few popular applications of the CNNs.
Click here to read more...