In this Cisco CCNA tutorial, I’ll give you an overview of network Artificial Intelligence (AI) and Machine Learning (ML). Scroll down for the video and also text tutorials.
Cisco AI and ML Overview Video Tutorial
James Drebenstedt
This course is thorough with great, engaging presentation.
Automation Tools
Standard automation and programming tools like Ansible, Terraform, and Python are very good at deploying straightforward and predefined, rule-based configuration and monitoring tasks.
For example, pushing an enterprise's QoS policies to all its network devices. This simplifies and speeds up these operations and reduces human error. You can load your QoS policies for your routers and your switches into a central location, and then you can push them out to all of your devices from there.
That is a lot more efficient than doing it individually on each different device. You're much less likely to have a typo because you're pushing it from a central location. That's also going to make it a lot faster than doing it one by one.
Automation Tool Limitations
Automation tools, however, are not so good at more complex, dynamic tasks. For example, learning the normal network traffic patterns over an entire network, recognizing anomalies in that traffic, and automatically taking corrective action on it.
Trying to do that with traditional tools, even traditional automation tools using static policies and configurations would be practically impossible to do.
Traditional Security System Limitations
Another example of traditional systems having limitations is with your security systems. Traditional Intrusion Prevention Systems (IPS) use signatures to inspect packets, looking for traffic patterns that match known attacks that have already been pre-programmed into the IPS.
That is not secure against new unknown threats or anomalies that do not match those predefined signatures. Now, I know that traditional IPS systems typically do support some anomaly detection, but they're not capable of analyzing huge data sets collected over time across the entire network or of predicting future patterns.
Machine Learning and AI techniques are capable of analyzing traffic patterns that have been collected over a long time across your entire network, across all the different devices, and that can be a huge amount of data.
With an IPS, it can look at the data and the network traffic going through it, but it's not going to be capable of analyzing everything across the whole network and not over extended periods. Also, IPS is not capable of predicting future patterns, but AI and ML can.
Artificial Intelligence (AI) Defined
Artificial Intelligence can help with more complex, dynamic network tasks that your traditional methods and automation tools are not able to do.
Cisco defines AI as the simulation of human-like intelligence by computer systems. That intelligence is capable of pattern recognition, learning, reasoning, discovering meaning, problem-solving, and self-correction. That's the things that we would normally associate with intelligence in humans.
General Intelligence, where a machine has the overall intelligence of a human, is a hypothetical goal that is not possible right now. Current applications are Narrow AI, which means that they've been designed to perform a specific task, such as generating text.
Artificial Intelligence Examples
AI is a broad term with many different usages and techniques. Some examples of where Artificial Intelligence is used are Web search engines such as Google, recommendation systems like the YouTube algorithm, and Netflix, which recommends what you should watch next.
Other examples are speech interaction like Alexa, autonomous self-driving vehicles, gameplay like the IBM Deep Blue chess machine, and creative tools, for example, ChatGPT. Looking at these, especially web search engines, you wouldn't think of that as being AI. This is because when an application becomes commonplace enough, it is no longer thought of as AI.
Google uses a lot of the same methods as ChatGPT does, and ChatGPT has been at the forefront of a lot of the recent buzz about AI.
Machine Learning (ML) Defined
Machine Learning is a subset of AI, so it's not a different thing. It comes under the umbrella of Artificial Intelligence. Cisco defines it as mathematical and statistical methods that enable machines to mimic intelligent human behavior by learning from data without being explicitly programmed.
ML can analyze huge data sets, so huge amounts of data. When it does that, it can identify patterns, relationships, and anomalies—differences in that data. It can automatically improve its performance as it gains experience by analyzing more and more data.
Machine Learning Training Approaches
Like humans, to understand the data more fully, it must be trained. There are different training approaches:
- Supervised learning
- Unsupervised learning
- Semi-supervised learning
- Reinforcement learning
Supervised Learning
Supervised machine learning learns patterns in relationships between input and output data. For example, it was given an image of a dog as input, and it then classifies that with a text label as being a dog as the output.
You could feed lots of images into this Machine Learning system like images of dogs and cats and different animals, and it's going to learn what a dog looks like and what a cat looks like. The computer is presented with labeled data showing example inputs and outputs.
So you give it a big data set with lots of images of dogs, and you say these are output dogs. It also has lots of images of cats, and you say these are output cats. You've got labels on that training data set. Then the machine learning system learns what the different characteristics of dogs are and that they should be classified as dogs.
Later on, you can give it new images of dogs after it's gone through the training process, and it will automatically know that this should be classified as a dog.
Once you've gone through the training phase, the computer can map new inputs and new images automatically. I'm just giving images as an example here, but you could be giving it any kind of input and output data, such as text, video, or audio.
A more complex example of supervised learning would be a bank loading a customer data set that contains the balances and credit history of their customers and which customers defaulted on which loans.
With that, with their balances and credit history, say the customer got a loan for a particular amount of money, did they default on that or not? Therefore, when new customer information is input, the computer can predict if they're likely to default on a potential loan as the output. So that would be a very useful use of Machine Learning for that bank.
Unsupervised Learning
Unsupervised machine learning is given unlabeled data and is allowed to discover patterns and insights without any explicit guidance or instruction. With unsupervised learning, there is no labeling. The machine is just given the data.
It's left to itself to go and recognize the different patterns and relationships and any differences and anomalies within that data set. It infers its own rules to structure the information based on those similarities, differences, and patterns. It can cluster the data based on similarities. It can create association rules based on frequent if-then patterns.
So if it sees a particular thing happening in the data, and then after that something else typically happens after it, it can use that to create if-then patterns. It can also discard the least relevant information as well.
That's the inverse of creating the clusters where it sees the relationships between the data. It can create clusters of them. It can also recognize data that seems quite irrelevant in that data set as well.
A data analyst is still required to validate the outputs. For example, if we give it that same data set where we were giving it lots of different images of animals. Then we would expect the unsupervised learning ML to make a cluster of the images, which were dogs, and a cluster of the images of cats.
But because it's unlabeled, it doesn't realize all these are cats and these are dogs. So you, as a human, would then have to go and say what those clusters are. Unsupervised learning can be used for network anomaly detection, where it discovers unusual patterns and a data set of network traffic statistics. That's an example of where we can use it as network engineers.
Semi-supervised Learning
Semi-supervised learning is a blend of supervised and unsupervised learning. A small amount of labeled data, in addition to unlabeled data, may produce an improvement in learning accuracy
.
Reinforcement Learning
With reinforcement learning, data is accumulated from trial and error. So data is not provided as the learning method. A reinforcement agent decides what to do to perform a given task that you've given it, and it learns from its experience.
After each action that it takes, an algorithm receives feedback that helps it determine whether the choice that it made was correct, neutral, or incorrect.
An example of reinforcement learning is a chess-playing machine. It can play itself to automatically learn the best move for each situation. So what you would do is you would just program it with the rules of chess, and then you would leave it to play itself hundreds of thousands of times so it could learn all the different situations that it could get into and what the best move was for each of those different situations.
AI and ML in Network Operations
How do ML and AI transform networking? Machine Learning can analyze huge sets of network-related data, learn normal network patterns to do baselining, and detect anomalies. Artificial Intelligence functions can report on anomalies and automatically take action on them, predict future patterns and issues, such as upcoming congestion, and recommend optimum settings.
Machine Learning learns about the data, and it learns about the patterns in that data. Artificial Intelligence takes action on what the Machine Learning learned.
AI can do things like report on those anomalies that ML has found, and it can automatically take action on them as well. It may also be based on the previous and current patterns that ML has learned.
It can predict what is probably going to happen next and what the future network patterns are going to be. It can also predict issues such as congestion that are coming up, and it can also recommend optimum settings.
So it can look at the configuration of our devices, and it can make suggestions about how we can improve that. It could also recommend optimum settings for what it predicts is going to happen in the future because maybe we need to change our configurations.
Predictive AI
Predictive AI utilizes algorithms and modeling to analyze past and current data to forecast future events and behaviors. It's predicting the future. Machine Learning is used to understand the data and predict what is likely to occur later.
An example use of this is to determine maintenance cycles and predict early faults in machinery based on past events and environmental factors, such as heat and vibration. So with the data that we load in, we can show there what the normal maintenance cycles are and how often we normally have to service our equipment.
But it's more intelligent than that. It can also take environmental factors into account, such as what the recent weather has been like. Has it been more hot lately? It can also look at the vibration. Again, environmental statistics of our actual machinery. If it sees a part that is vibrating an unusually high amount, it can report on that as well.
By having this information, we can predict what our future maintenance schedule should be to make them more accurate to prevent failures. Also, predict when a failure is going to occur and swap out the hardware part before that happens.
Predictive AI in Network Operations
We can use Predictive AI in network operations for proactive maintenance and also performance optimization. Adopting AI can analyze past and current traffic patterns and anomalies, performance statistics, help tickets, maintenance history, and environmental factors.
For example, we could load all of those to forecast problems such as future security issues, future congestion in the network, links becoming too busy, and hardware failures. Having that information enables us to optimize networks now and also prevent future issues from occurring.
Generative AI
Generative AI uses patterns and relationships learned from past data to create new outputs such as text, images, audio, and video. Supervised learning is typically used for the training of Generative AI. The machine is given a set of labeled data and learns to generate similar content.
For example, from a dataset that we were using before, we could use Generative AI to produce new images of dogs. ChatGPT is a well-known example of Generative AI. It can generate text.
Example usages of Generative AI are enhanced chat, search, language, translation from one language to another, and creation of marketing content, music, and homework essays.
So with the big buzz around AI, most of the buzz has been around Generative AI and things like creating new images and creating new videos that can be used for viral content and marketing.
Also, another big one was where universities and schools were worried that students were going to be using ChatGPT to do their homework, and they wouldn't even be able to detect this. Students would be able to pass without actually doing any work.
Generative AI in Network Operations
Generative AI can be used to generate network traffic pattern simulations when we're using it with our network operations.
That's useful to identify potential issues under different conditions and help plan for future upgrades without affecting the real network. AI can also create optimized network settings and configurations, so it can make suggestions on what would be better configurations based on our network.
Now, if we're going to be doing a planned upgrade, traditionally, a large part of that would be figuring out what all the different configurations are going to have to be on the devices.
With Generative AI, we can use AI tools to help generate those configurations. We would still want to check them, but it can give us less work to do. Also, if we have a current issue or a current problem in the network, this can help with troubleshooting. It can help detect the problem, and once the problem has been detected, we can also use it to generate configurations to fix the problem as well.
Be careful when creating configurations or asking networking questions with general tools such as ChatGPT. They're not optimized with network data and are susceptible to hallucinations. Hallucination in generative AI is when it gives you an incorrect answer.
ChatGPT is one of the known issues that is that it is susceptible to doing that. So users should not rely on it. Do not trust it when you ask it a question about something you want to know about networking or when you're generating a configuration. You can use AI tools to help you save time generating configurations, but you want to check that they are correct.
I've gone to chatgpt.com, and then I give it a text-based prompt. ChatGPT is text-based. It takes text prompts as an input and then it gives you text as an output. I've asked it to create an OSPF configuration for me, and I've said what my interfaces are and what the IP addresses are on those interfaces.
I hit enter and it just takes a few seconds hopefully, and it should give me a configuration. It outputs a sample configuration for OSPF, and I've got an explanation down there as well. This is a lot quicker than writing it myself. It's quite useful but you want to check it.
Additional Resources
AI and Machine Learning: https://www.cisco.com/c/en/us/solutions/collateral/enterprise-networks/digital-network-architecture/nb-06-cisco-dna-ai-ml-primer-cte-en.html
Machine Learning for Network Engineers: https://developer.cisco.com/learning/labs/ml-for-network-engineers-part-1/introduction/
AI - Supercharge Programmability: https://blogs.cisco.com/tag/machine-learning
Libby Teofilo
Text by Libby Teofilo, Technical Writer at www.flackbox.com
Libby’s passion for technology drives her to constantly learn and share her insights with others. When she’s not immersed in the world of tech, you’ll find her lost in a good book with a cup of coffee or out exploring nature on her next adventure—always curious, always inspired.