Artificial Intelligence and machine learning are making its way into every existing industry, but despite their popularity, they are still futuristic and vague concepts for most people. Yet, having a general understanding of these technologies is key to make the right investments and steer away from empty buzzwords.
In a previous blog post, we argued that the biggest challenge for many businesses is to find where AI makes the most sense, and suggested that looking for repetitive tasks or tasks involving predictions are the ideal places to start. In this blog post we will review the key methods under the umbrella of Artificial Intelligence, by looking at possible software designs to solve those tasks.
Machine Learning, Artificial Intelligence or Human Programming
Let us imagine that the task that we want to automate is a computer chess player. From an AI perspective, we can describe this task as predicting the next best move in the game. We propose four different software designs to implement a solution.
The first one is an expert-coded solution in which a chess-mater-programmer sits down and specifies all possible moves, resulting in a program that looks like this:
“if the opponent starts by moving pawn to F4, then move pawn to E6;
else if the opponent starts by moving pawn to D4, then move pawn to D5;
This is the human programming approach, in which a team of developers specify step-by-step how the computer must solve the task. No AI required.
In the second design, the rules of chess are hardcoded to allow the computer to evaluate which moves are allowed at any point, and when a player has won or lost. After the opponent makes a move, the computer can use the ruleset to test all possible outcomes of moving any piece, and choose the move that leads to victory in most simulations. To reduce the time it takes to simulate all possible outcomes (we cannot wait several days between moves) we apply AI methods like Alpha-Beta Pruning or Monte-Carlo Tree Search. These methods define smart strategies to find the best possible move with a limited number of simulations. This is the design used by the IBM Deep Blue that defeated Kasparov in 1997.
The third alternative design uses a trial-and-error strategy. We start with a dumb player that chooses random moves and let it play against a person or itself; the computer accumulates information on which moves are better than others based on the outcome of the played games. A family of machine learning methods known as Reinforcement Learning provides the implementation for this type of learning. As with the second design, we have to hard-code the rules of the game; but while the previous solution uses the rules to simulate the outcome of the game, in reinforcement learning the rules are used to evaluate the moves done previously and learn from them. If playing against a person, the computer player can gradually improve until it can win every game against that player; however, if playing against itself, it can play faster (as it does not have to wait for a human to make a move) and potentially reach super-human playing skills.
The fourth and final design is everyone’s favourite: the data-driven. We can create a database with the replays of all Kasparov’s games and develop a program that compares the board with the replays, and chooses the same move that Kasparov would have in that same situation. Querying the database every time would be too slow and if we are facing a situation never seen in Kasparov’s games, the query will not return any move. These are the challenges that Supervised Learning algorithms like linear regression, decision trees and artificial neural networks are designed for. These machine learning methods differ from reinforcement learning in that they learn offline from historical data rather than on-the-fly while playing.
From Chess to Marketing Automation
It is obvious that the non-AI design is not practical for chess as the size of the code is unmanageable, and the programmer may not be as good at chess as you hope. But this design should never be dismissed out of hand, as very often it provides a quick and sufficient first solution, that can be later improved or complemented with AI. Many computer chess players use AI throughout the game but rely on a list of hard-coded opening and finishing moves perfected by experts for centuries. In a campaign automation scenario, you can have few rules set by your experts (e.g. always send an email one week before an event) and use AI to complement that (e.g. predict what time of the day the email should be sent to get the highest number of RSVPs).
The non-machine-learning AI methods proposed in the second design are not very widespread in marketing automation tasks but they are far from obsolete. For instance, they are very common in the game industry, where non-player character actions can be simulated to find the optimal strategy against the player.
Reinforcement learning is often a good fit for automated A/B testing. Instead of testing chess moves one after the other, you have a system that serves different versions of your ads every day, learns from the conversions, and adapts the ads and targeting parameters for the next day. Be aware of the spending though; AlphaGO became a really smart GO player in only 3 days, but in those days, it could play hundreds of games in an hour at virtually no cost. However, an automated campaign needs to spend a real advertising budget to learn, and if ads served on Tuesday night convert differently than ads on Saturday morning, learning will have to span at least a week, and probably much more.
Among AI methods, the data-driven is the most popular now, primarily because most businesses turn to AI to activate the data that they have collected for years. If you want to predict customer behaviour and you have good quality historical data, then supervised learning is your tool. For example, if you want to predict where a user is going to click to speed up your website, you can build that predictor using your website analytics data. Keep in mind that the computer science principle of “garbage in, garbage out” also holds here: if the quality of your data is not good, a predictor trained on it will be useless. Auditing your data and improving it where needed is an excellent first step on any AI project.
Artificial Intelligence is a powerful and attractive technology that hides a rich landscape of methods and tools under one name. Deep learning is not the solution to everything (yet) and choosing the right method will have a major impact to the cost and profit of your solution. Whether you need reinforcement learning, supervised learning or good old-fashioned AI, at IIH Nordic we can help you to utilise AI to fulfil your digital potential.
https://iihnordic.com/wp-content/uploads/Chess.png511557Héctor Martinezhttps://iihnordic.com/wp-content/uploads/2017/10/iihnordic-340x156-sans.pngHéctor Martinez2017-11-30 11:26:042017-11-30 13:40:51Getting Started with Artificial Intelligence