A brief overview on Artificial intelligence



What is AI ? 

AI stands for artificial intelligence, it is rather a broad field of study than one specific topic. AI is basically using computers to do things that require human intelligence ranging from simple activities such as playing chess, recognizing cat's among multiple pictures to much more complex tasks such as self-driving cars and recognizing health conditions much faster and accurately than humans.

Even though AI is a prevalent topic and sort of a buzzword today to be honest, it has been around since the 1950's. 

What is Machine learning ? 

Machine learning is a branch of AI which utilizes statistics; an algorithm is trained to make predictions based on the data it is exposed to  this is exemplified in recognizing spam emails or provide content suggestions on social media platforms based on your content consumption. There are three categories of machine learning : 

  • Supervised : In this category, learning models are trained with labeled data sets, for example the algorithm would be fed with pictures of cats and dogs, and the model would learn ways to identify pictures of cats on its own. 
  • Unsupervised : Here, learning models look for patterns in unlabeled data, for example, for an ecommerce grocery shopping platform, let's say customer 1 purchases bread, milk and eggs, customer 2 buys bread milk and butter then the ML model can predict that if Customer 3 buys bread he is also likely to buy milk.
  • Reinforcement : This category is when machines learn through trial and error to take and a reward system is established to reinforced correct decisions. For instance, this can be used to train a machine to play chess by telling it if the decision it took was right or wrong. 

What is Deep learning ? 

Deep learning is a branch of machine learning that tries to mimic how the human brain processes information. Using multiple layers of neural networks, the goal is that a machine "learns" and produces accurate insights from large amounts of data,

What is a neural network ? 

Neural Networks are the base of deep learning, it is a computational model inspired by the way the brain functions to process data. From a high-level view, neural networks take in data, train themselves against live examples to recognize patterns and trends  and then predict an output for another set of data. 

Neural networks are composed of Neurons which are the core processing units of the network, they are generally composed of 3 layers : 

  • Input layer : The input layer is responsible of data intake. 
  • Hidden layers : responsible for the computations required to predict complex patterns in data. It's called hidden because what happens here is not observable from the input or output
  • Output layer : Responsible for producing output data

To understand how it works, Consider a neural network that is trying to be trained to recognize cats : 

  1. The image would be fed to the input layer, each node in that layer would receive a pixel, the values would be the intensity of the pixel
  2. The connections between nodes have weights, which the network adjusts during the learning process, higher weight means the network considers that feature more important in decision-making 
  3. When we feed a new picture to the network, it multiplies each input by its corresponding weight, this is called signal strength,
  4. The signal from all inputs is combined and if score is high enough then the network will assume that the image represents a cat
  5. If the prediction is incorrect and for example the image represented a dog, it will compare its predicted output (the dog image) to the correct image (the cat image) and will measure the difference between both. 
  6. The error is propagated backward into the neural network so that each node adjusts its weights to adapt to that error.
  7. Then the Neural network reiterates the prediction process until it provides an accurate prediction

It's worthy to note that this whole process requires tremendous computational power to complete.

Generative AI 

Generative AI is a subset of deep learning where models are trained to generate text, images or code when given text or images as input. GenAI is a mix of supervised and unsupervised learning, For example, predicting the next word in a sentence given the previous words being supervised learning , while figuring out the structure of language without instructions or labels is unsupervised. 

As we can see, generative AI did not happen overnight; it is the result of almost 100 years of hard work and research, one discovery leading to another and so forth. Here is how I see things in terms of the structure of AI :

Now, shifting the focus to the role of network engineers, we need to address a crucial question. What will this change in our work today, considering that AI might seem similar to other applications running on our networks? 

Quite a lot actually. 

The workloads involved are considerably distinct, requiring an overhaul of infrastructure and network design. I will discuss these aspects in a future blog post, diving into the specificities of AI workloads and their implications for network engineers and architects. Because of the recent Generative AI hype caused by the launch of ChatGPT, there has been recent advances in terms of network protocols, and topologies to support these AI workloads.

Keep in mind that I am not an AI expert, just a network engineer diving into the world of AI to better understand what it means for us. Let me know if you have any comments, suggestions, or questions and I will be happy to discuss and exchange on any topic. 

Comments