A Quick Introduction to Artificial Intelligence, Machine Learning, Deep Learning and TensorFlow

Written by jogetworkflow | Published 2019/03/01
Tech Story Tags: open-source | artificial-intelligence | tensorflow | deep-learning | machine-learning

TLDRvia the TL;DR App

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.

What makes it work is that you feed the model with huge amounts of sample data in order to “train” it. With enough data samples, the model would be able to accurately “predict” an output for any future input. There are many well-known models that are used for different tasks, for example Inception is a widely used model for image recognition, YOLO is used for object detection, FaceNet for facial recognition, TextCNN for textual sentiment analysis, and so on.

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:

Inception v3 Model Architecture — CC BY

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.

TensorFlow is the leading open source AI library for machine learning. Built by Google, TensorFlow is designed for implementing, training, testing and deploying deep learning neural networks. Originally developed by researchers and engineers working on the Google Brain team for internal use, TensorFlow was released as an open source project in 2015. TensorFlow provides APIs for multiple languages including Python, C, C++, Go, Java, JavaScript and Swift. The TensorFlow site provides a number of tutorials to get started.

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.

Conclusion

As we head further into the 21st century, artificial intelligence will no doubt play an increasingly critical role in our future so it is important to at least have a general understanding of how it works. In this article, we discussed AI, machine learning, deep learning and how they relate to each other. We also explained in simple terms how deep learning works, and introduced TensorFlow and Joget. 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.


Published by HackerNoon on 2019/03/01