According to the results of the recent Gartner’s benchmarked survey “AI Strategy: Where Your Competitors Are Investing”, there is a growing number of companies that are planning to build out and deploy AI. A deep understanding of the main difference between the possibilities of AI software and “traditional” software can help to separate AI hype from reality. James A. Whittaker, a former professor of computer science at Florida Tech, will definitely help us with that.
You can't write the code for a car to navigate a roundabout, but AI can
Driving a car with software is impossible. You can't write the code with an if-then-else statement, case statement, or switch statement for a car to navigate a roundabout. But you can train a car to drive. That's what AI does.
Where conventional software is intentionally programmed one line at a time, AI software is not, it's trained right. AI is not programmed to perform a task, it is programmed to learn to perform the task.
Code is the primary artifact of “traditional” software. In AI software, code is not the primary artifact. Yes, when we build AI software we have to write code. But the primary artifact of AI is the data (data collection, data labeling, data analytics using algorithms to spot patterns).
Row Data Collection
The software cannot drive a car. But software can collect data. Cars have near-field sensors, microphones, cameras, lidar, and radar. And then AI just starts learning.
It learns how to make a right turn, how to make a left turn, how to go straight, how to recognize a stop sign, how to recognize a traffic light. Because of patterns, because it's got all this data. Once it sees a thousand stop signs, it can recognize a stop sign itself. That stop sign could be straight on. It can be cocked a little bit, it can be bent, and it recognizes it because it's seen it enough times.
“The reason that cars can drive now and they couldn't drive themselves 10 years ago or 20 years ago is because of the cloud. The cloud changed the game with AI”
James A. Whittaker
The cloud changed the game because all that data that AI needs to learn takes a bit of storage.
You know, Google had a cloud, a proprietary cloud that did nothing but search. Amazon had a private proprietary cloud that did nothing but e-commerce. Facebook had a proprietary cloud that did nothing but store social data. This is where the modern AI was born - in these clouds.
You know, all that camera data from all those cars going through all those roundabouts takes a bit of storage! And the algorithm has to have access to it all. Before the cloud, it didn't.
Data labeling is the process of identifying raw data (images, text files, videos, etc.) and adding meaningful labels to provide context so that a machine learning model can learn from it.
For example, you prepare 10 000 pictures of cats and label them "these pictures have cats". Then you prepare a whole bunch of pictures that don't have cats so they have the label "not a cat". And over time the AI figures it out itself.
If you've ever taught a child to read letters, you show them the flashcards over and over. They guess it right, you're like "Hey, good job!" Guess it wrong "No, you did wrong." We do the same thing with AI. We show it a bunch of examples, and when it gets it wrong you change the way that data is labeled so it knows it got it wrong. It’s reinforcement learning.
“Let me make a prediction… Whereas programmers, developers in modern times are the most central to a team developing software, my prediction is data scientists are going to take over as the most important part of an AI project. Not coding. Because you have to recognize good data from bad data. You have to be able to label it correctly. Those labels help the algorithms to understand what's going on”
James A. Whittaker
Machine Learning Algorithms
You take your data, you label it, you organize it as well as a human can. And then you stick the algorithms on it.
Algorithms are used to analyze data, to gain insight, and to subsequently make a prediction or create a determination with it.
For example, look at the reinforced learning algorithm that provides recommendations for you on Youtube. After watching a video, the platform will show you similar titles that you believe you will like. But if you start watching the recommendation and do not finish it, the machine understands that the recommendation would not be a good one and will try another approach next time.
Machine learning is a set of algorithms that enable the software to update itself and "learn" from previous outcomes without the need for programmer intervention.
In summary, a traditional algorithm takes some input and some logic in the form of the code and drums up the output. As opposed to this, a Machine Learning Algorithm takes an input and an output and gives some logic which can then be used to work with new input to give one an output.
I think instead of universities studying the nuances of programming languages, we're going to be studying the nuances of algorithms… The nuances of data structures, how control structures work, whether to use an if-statement or a switch-statement or a lookup table are not going to matter. The skill that is going to matter is your understanding of probability statistics”
James A. Whittaker
A good data scientist can look at data and say, “That's probably the algorithm we should start with.” But that's the process: get the data and start running the algorithms through it and hope that those algorithms start finding patterns.
AI use cases fall into one or more of seven common patterns. The 7 patterns are hyper-personalization, autonomous systems, predictive analytics and decision support, conversational/human interactions, patterns and anomalies, recognition systems, and goal-driven systems.
For example, an algorithm can find such a pattern as “fraud/risk” demonstrating that things are out of the ordinary or expected.
“And this is a key skill that distinguishes a good Data Scientist from a mediocre Data Scientist. It's picking the right algorithms, understanding those patterns, and then iterating, combining algorithms to generate patterns”
James A. Whittaker
Another fundamental difference between AI and conventional software is that software never changes. We build software, we release it to the field and it just does the same thing over and over again. But once it gets out in the wild, it doesn't really change unless humans update it.
AI changes. An artificially intelligent car will go through a roundabout and it might discover something new. It might discover a car driving the wrong way on the roundabout. And once it figures out what to do - that's new data.
That's the thing about AI: it keeps learning even after it's released.
“The conventional software didn't wake up one day and said, "You know what? Fuck that shit. "I'm tired of processing those inputs. I'm gonna do something else.
James A. Whittaker“
That's not the way conventional software works. The AI software does work that way. AI software gets better itself.
The feedback loop is a cycle without an end:
- AI observes user actions and system events and captures data for analysis.
- AI analyzes this data against historical trends and data from other sources, if necessary.
- AI predicts outcomes and recommends specific actions.
- The loop starts over again. The system continues to refine its recommendations based on the latest feedback (whether the user accepted the recommendation or not and what happened after).
Our example of Artificial Intelligence software in use today
As you see, the most important potential for AI is to be a recommendation engine.
Having solid experience in custom eLearning development not surprising that we are looking for ways to implement AI in eLearning projects.
The core idea of AI in eLearning is the implementation of a Recommendation Engine in the eLearning platform. This tool recommends micro-learning content to the user based on their learning experience and other data that a user might provide (including search history or specific requests).
From the UI/UX perspective, it looks like an AI-powered chatbot or an AI-powered dashboard like YouTube or Linkedin has.
Such chatbot assistants can automatically imitate tutors, understand the level of expertise of a learner, and pick information that is well fitted to a particular level.
For example, it can recommend skills to acquire for each particular learner and then match them with the corresponding courses.
That is just a small fraction of what we do. Recommendation Engine is developed to address a specific business need. It's hard to find a one-size-fits-all solution.
Whether you have projects which are in need of deep eLearning technology expertise?