Welcome to a new blog series on Machine Learning that will have a focus on Deep Learning with Python. It’s been a while since something in technology has grabbed my attention and captured the imagination of so many as much Machine Learning has. ML systems are part of our daily lives in more ways than you probably realize. Google, Amazon, Facebook and Microsoft all harness ML to power their platforms and products. Amazon uses ML to analyze, predict and assist users on its massive e-commerce platform. Google uses deep learning to assist with searching, GMail, SPAM filtering and nearly anything else Google touches. There are algorithm’s at work all over the place. Every Youtube click, every vacation search and every Instragram like, an ML algorithm is at work.
<img src="https://res.cloudinary.com/arctiq/image/upload/q_auto/posts/falcon.gif" size="XL" position="left" alt="falcon-logo" %}Even companies like Telsa and SpaceX harness the power of ML to teach rockets to land themselves or to autopilot your car. The concepts of AI, machine learning and neural networks are not new, in fact they have been with us since the 1960’s, but only in the last decade have we really seen the technology start to transform our day to day lives.
<img src="https://res.cloudinary.com/arctiq/image/upload/q_auto/posts/gpu.jpg" size="L" position="right" alt="gpu-logo" %} What has changed that allows us to push forward in this space is raw computing power and data. Lots and lots of data. The last two decades has brought a revolution in computer hardware with CPUs getting more and more powerful year upon year. However it is the GPU that really blew open the doors. With GPU’s being extremely efficient at matrix math which is a cornerstone of deep learning, it has given us the bandwidth to truly explore the potential of AI.
<img src="https://res.cloudinary.com/arctiq/image/upload/q_auto/posts/tpu.jpg" size="L" position="left" alt="tpu-logo" %} Google took it one step further with the creation of the TPU (Tensor Processing Unit) – An ASIC specially designed for Tensor processing, more on this later.
The second thing is data. As technology permeated our daily lives with things e-commerce, smartphones, IoT, nations of people coming online, and even DNA processing, we have begun to collect vast amounts of data. A quick search shows in 2016 Google held somewhere around 10-15 exabytes of data, that was 3 years ago. Google’s God-like datasets and the exponential growth in the power of processing units allows it to train extremely powerful models on massive amounts of data.
<img src="https://res.cloudinary.com/arctiq/image/upload/q_auto/posts/gogame1.jpg" size="M" position="right" alt="gogame" %}The more data a deep model can be trained on the better it will perform. All the tech giants have been collecting data for years and this gives them a massive advantage when it comes to developing AI. For example, Google’s DeepMind built AlphaGo which beat Ke Jie, the world’s No.1 ranked Go player at the time. More recently DeepMind created AlphaGo Zero. Unlike its predecessor, this one was created without using data from human games. Instead it learned from playing itself. AlphaGo Zero surpassed the skill of AlphaGo in three days and beat it winning 100 games to 0. Demis Hassabis, the co-founder and CEO of DeepMind, said that AlphaGo Zero was so powerful because it was "no longer constrained by the limits of human knowledge". All this after it was thought that Go being a complex game with many different possibilities and combinations was something thought to be impossible for AI to learn for at least the next 10 years.
As we dive in, we will start off with the basics. What is machine and deep learning? What are deep neural networks? We will look at how deep learning works and some real life applications in things your already use everyday. One of the biggest challenges I faced when starting down this road was where do I begin? In a field that is rapidly expanding and changing nearly daily it can feel like you are trying to drink from a firehose. How much programming do I need to know? How much math do I need to know? We will explore some tools like Anaconda, Jupyter to get you set up on the right path and get you coding.
As we progress in this series we will look at the basic’s of deep learning including the concepts of training, modeling, testing, activation functions, back propagation and gradient descent. Different networks such as RNN’s, CNN’s, LSTM and feed forward nets.
<img src="https://res.cloudinary.com/arctiq/image/upload/q_auto/posts/tf-logo.png" size="M" position="right" alt="tf-logo" %}
We will look at frameworks like Google’s Tensorflow and Keras. I would like to keep things fun and more project focused. Doing things like classification, prediction, image recognition instead of a heavy math focus. There are plenty of white papers on the math behind the topics that I can link you too if you like. This will not be an overnight learning process but hopefully it will teach the fundamentals of machine learning, deep learning and arm you with the knowledge to write code to pull together really cool projects. Things are changing daily in this space so lets get started with some basics in the next part of this blog!
<img src="https://res.cloudinary.com/arctiq/image/upload/q_auto/posts/keras-logo.jpg" size="S" position="left" alt="keras-logo" %}
I am sure you have heard the phrase “Data is the new oil” . Data has become the world’s most valuable commodity. Enterprises are collecting data in vast amounts and making sense of all that information is not always easy.
At Arctiq we try and stay on top of technology and master the next great thing so we can help our customers transform their business. With data now being critical, understanding it and making decisions gives our clients a competitive advantage.
Want to talk data and how AI and ML can help your business? We would love to hear from you.