Skip to main content

GPU - The brain of Artificial Intelligence

Machine Learning algorithms require tens and thousands of CPU based servers to train a model, which turns out to be an expensive activity. Machine Learning researchers and engineers are often faced with the problem of running their algorithms fast.

Although initially invented for processing graphics in computer games, GPUs today are used in machine learning to perform feature detection from vast amount of unlabeled data. Compared to CPUs, GPUs take far less time to train models that perform classification and prediction.

Characteristics of GPUs that make them ideal for machine learning

  • Handle large datasets
  • Needs far less data centre infrastructure
  • Can be specialized for specific machine learning needs
  • Perform vector computations faster than any known processor
  • Designed to perform data parallel computation

NVIDIA CUDA GPUs today are used to build deep learning image processing tools for  Adobe Creative Cloud. According to NVIDIA blog future Adobe applications might be able to automatically identify font styles from images to help their users choose the right font for their creative projects. For such intense deep learning methods CPUs stand far behind GPUs.  According to NVIDIA’s website, GPUs perform more than 33% faster compared to CPUs on recognition tasks.

Major corporations including Baidu, Netflix, Facebook, Google, Bitcoin and many more are using GPUs for machine learning. The recent open source machine learning toolkits such as Theano and Tensorflow provide GPU support. With just few lines of code you can allocate the machine learning algorithm to learn the model on multiple GPUs.

Recently Facebook open sourced its AI hardware design named Big Sur which leverages NVIDIA's Tesla Accelerated Computing Platform. Check out the news.

GPUs are changing the AI scene too fast, and have established themselves as the necessary hardware to build deep learning applications. They might turn out to be the most important component in brain, or the brain itself in the most advanced machines of the future.

Comments

  1. According to NVIDIA’s website, GPUs perform more than 33% faster compared to CPUs on recognition tasks. best virtual assistant

    ReplyDelete

Post a Comment

Popular posts from this blog

Implement XOR in Tensorflow

XOR is considered as the 'Hello World' of Neural Networks. It seems like the best problem to try your first TensorFlow program.

Tensorflow makes it easy to build a neural network with few tweaks. All you have to do is make a graph and you have a neural network that learns the XOR function.

Why XOR? Well, XOR is the reason why backpropogation was invented in the first place. A single layer perceptron although quite successful in learning the AND and OR functions, can't learn XOR (Table 1) as it is just a linear classifier, and XOR is a linearly inseparable pattern (Figure 1). Thus the single layer perceptron goes into a panic mode while learning XOR – it can't just do that. 

Deep Propogation algorithm comes for the rescue. It learns an XOR by adding two lines L1 and L2 (Figure 2). This post assumes you know how the backpropogation algorithm works.



Following are the steps to implement the neural network in Figure 3 for XOR in Tensorflow:
1. Import necessary libraries
impo…

Understanding Generative Adversarial Networks - Part II

In "Understanding Generative Adversarial Networks - Part I" you gained a conceptual understanding of how GAN works. In this post let us get a mathematical understanding of GANs.
The loss functions can be designed most easily using the idea of zero-sum games. 
The sum of the costs of all players is 0. This is the Minimax algorithm for GANs
Let’s break it down.
Some terminology: V(D, G) : The value function for a minimax game E(X) : Expectation of a random variable X, also equal to its average value D(x) : The discriminator output for an input x from real data, represents probability G(z): The generator's output when its given z from the noise distribution D(G(z)): Combining the above, this represents the output of the discriminator when 
given a generated image G(z) as input
Now, as explained above, the discriminator is the maximizer and hence it tries to 
maximize