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



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. 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.


Comments

Popular Posts

Blockchain Made Simple: No-Code Apps with Hyperledger Fabric and Joget

Blockchain 101: Understanding the Building Blocks of Blockchain Technology

No-Code, Low-Code and Pro-Code: Why Flexibility is Essential for Digital Transformation

Building a No-Code Blockchain App with IBM Blockchain Platform and Joget on OpenShift

How to Solve Your Enterprise App Performance Problems