A Quick Introduction to Artificial Intelligence, Machine Learning, Deep Learning and TensorFlow
Blog: Joget Unplugged
What used to be just a pipe dream in the realms of science fiction, artificial intelligence (AI) is now mainstream technology in our everyday lives with applications in image and voice recognition, language translations, chatbots, and predictive data analysis.
In this article, we’ll introduce AI along with its related terms machine learning and deep learning. By the end of the article you should understand these terms, how things generally work and be more familiar with terms like Inception and YOLO (and no, we’re not talking about the Leonardo DiCaprio movie or some internet meme).
Artificial intelligence (AI) is the simulation of human intelligence by computers.
Machine learning is a branch of AI where algorithms are used to learn from data to make future decisions or predictions.
Deep learning is a specific subset of machine learning using artificial neural networks (ANN) which are layered structures inspired by the human brain.
The following diagram shows more clearly how AI, machine learning and deep learning relate to each other.
In recent times, major advancements have been made in machine learning, and more specifically in deep learning. These advancements are due to a timely convergence of several factors including the availability of huge amounts of data, the increase in computing power and the emergence of efficient algorithms.
So how does machine learning and deep learning work? To explain it in the simplest possible manner, you essentially have a model with defined inputs (which could be images, audio, numbers or text). The model would produce a specific output (e.g. an image classification, a detected object, etc) depending on the input data received.
Sounds simple enough, doesn’t it? However, make no mistake about it, machine learning might not be rocket science but it is definitely not simple. To give an example, the aforementioned Inception model has an internal network architecture shown below, as a culmination of ideas from multiple researchers over the years:
This looks a whole lot more complicated than the big black box shown earlier! There is a lot of methodical experimentation required in order to determine a suitable architecture, and there is also a need to have enough data on hand for training and validation. Not just any data, but relevant data that is cleaned and structured appropriately.
There are several tools and platforms that attempt to simplify AI model training with automated or visual tools (e.g. Google Cloud AutoML, Microsoft Azure ML Studio, IBM Watson Studio, Lobe.ai, etc), but the hard truth is that finding and training a deep learning model that works for a specific problem requires data scientists and machine learning professionals, or at least aspiring ones. To learn in more detail about machine learning, there are many online courses available, including the highly regarded Machine Learning course from Stanford University by Andrew Ng.
Joget is an open source no-code/low-code application platform for faster, simpler digital transformation. In a previous article, we looked at incorporating a trained TensorFlow neural network model into a Joget Workflow application by using a custom plugin. As the next generation successor to Joget Workflow, the upcoming Joget DX goes a step further in incorporating AI for decision making. In the next article Artificial Intelligence in Enterprise Applications with TensorFlow and Joget DX, we’ll have a look at how to incorporate TensorFlow for AI use cases on the Joget DX platform.