So, what actually is AI?
This week I intend to go back to basics and speak more holistically about AI, with practical examples and simple explanations from the world of gaming and esports.
The reason for it is partially in response to a clip I was sent from LS’s stream, where he discusses a “machine learning bot” that identified T1’s Gumayusi (a high-performing esports player) as a young prodigy before he came to dominate the world stage. This draws parallel to the now famous “Moneyball” story, where a struggling bottom-barrel baseball team overcomes their monetary limitations through the use of clever statistics to identify the best players.
As someone who has seen behind the veil of esports, I am fairly confident in saying that what LS is referring to is not Machine Learning (nor a bot), but instead a fairly sophisticated dataset which, when in the hands of statistically-minded coaching staff, can in fact be used to make effective inferences about players and their potential. Although the outcome is broadly the same (finding out Gumayusi is good), it is a technical misuse of the term “Machine Learning”, a sub-section of AI.
I of course, put no blame on LS here, who has never once proclaimed to be an knowledgeable in the field of AI. However, it does draw light to the fact that there is a general misunderstanding of what Machine Learning or AI is. This is compounded by a Chinese-whispers style miscommunication that you get between the technical-builders and the industry-users. Which brings us on to todays topic:
So, what actually is AI?
Artificial Intelligence as a term has morphed and grown since it’s earliest uses in the 1950s. As interesting as its origin stories may be to some, I feel following its advancement through the computer age would lose those who would better benefit from a simple and modern definition.
Officially, it’s the use of compute(rs) to make human-level decisions. Is that a dog or a cat? What chess move should I make next? How many units will we sell next month? It’s the “decision” part that separates it from a pure calculation.
However, you will find that the term has become more all-encompassing than originally intended. What previously was statistics, is now often referred to as AI. It has become the super-term to cover all bases where computation meets mathematics.
Machine Learning is now often defined as a sub-category of AI, one that is more specific to when the learning part is used to make complex decisions. Although frankly, for most intents and purposes they can be interchangeable.
AI is split into a handful of major archetypes, depending on the requirements. Yet, their general principal is fairly standard. In the broadest of terms, you provide it some form of data and a task to complete. It then “learns” to use said data to complete said task. The learning part usually involves providing some form of metric for the computer to optimise for, in order to provide it direction.
If this doesn’t quite make perfect sense yet, fear not. We’ll be running through real-life applications and explanations from gaming which will provide some more clarity.
ChatGPT (and the world of Large Language Models)
We start here not because of it’s relevance, sophistication or application. No, instead we start here because it’s so damn popular. It’s got to the point that people I speak to about iTero will say “oh, like ChatGPT?” when I mention we’re building AI.
ChatGPT and the likes are from a class of model called Large Language Models (LLMs). The data you provide is, as you can probably imagine, a huge amount of written text. Whether from Wikipedia, Google searches, Tweets, or any other source of normal human language.
The task is to produce a sentence in response to a prompt. Whether that prompt is a question, theme or just idle conversation, the AI is looking to respond in a way which best reflects the world it has “read” about. An interesting part is that the metric they are optimising for isn’t a precise science. There needs to be some level of human-judgement to read the statement and determine the sense it makes - this can’t necessary be converted into a computable number.
As far as gaming, an exciting example is using these models to power Non-Player Characters (NPCs) within Role-Playing games and the likes. This gives the player far more creativity to interact, since they aren’t limited to a set number of pre-written dialogues. Meet a new NPC, ask it any question you can imagine and receive a response you could believe came from their point-of-view.
Inworld AI seem to be on top of this concept:Inworld AI
Adjacent to the world of LLM’s is Computer Vision (CV). Take an image, ask a question, return a decision. The simple example is “is there a dog in this photo?”. In reality, as with all AI, everything is being converted into a computer readable number (or matrix, for those more familiar) behind-the-scenes.
For example, imagine a photo of a dog, which consists of thousands of pixels, each reflecting a single individual colour. For instance if the dog is outside, the top row could be all blue pixels which make up the sky. Every pixel can be translated into an “RGB”, or how much Red, Green & Blue it consists of. Pure blue is (0, 0, 255), for example.
The AI then “scans” the image, reading these RGB-numerical equivalents. Each image of a dog has been labelled “contains dog”. If enough example images (and non-examples) are given then it begins to learn patterns. Picking up on tails, paws and ears, or at least the numbers that tend to reflect them. Each of these adding to the cumulative probability that it is in fact, a dog.
The metric the AI is using to learn will be some form of accuracy on how well it identifies dogs in photos. Labelling a bunch dog-less photos as dogs, or missing those lovely Labradors? That results in a bad score. Saying a cat isn’t a dog, and that Beagle is, will lead to a good score. The sole purpose of the AI is to maximize how accurate it is and so it will constantly be updating its process of looking at photos until it can best tell apart dog from dog-less photos.
Now, let’s take an example from esports. What happens if you want to build a dataset of every second the player is performing an attack? It’s not provided in the raw data, so instead you need to extract it from a video of the game. A video is just a constant stream of images (frames). So, you show the AI a player attacking, and tell the AI it’s being judged on how well it divides them from non-attacking players. Eventually, you’ve got something that can identify them in every new game it watches.
I believe PandaScore lead the way on this, building CV models to help betting companies and the like get new, previously unavailable data:PandaScore
Ever wondered how chess AI eventually became the unbeatable machines that they are today? It’s a technique known as Reinforcement Learning. They work slightly differently in that they technically create their own datal; in the sense that they learn by doing, as opposed to reviewing what has been done.
However, similar to Computer Vision, they have a clear metric in mind: Victory. Or to be less dramatic, Success. They have an objective, whether that’s to win a chess game, complete Mario or exterminate humanity. Then, they are told what options they have available. For chess, this is learning the rules for each piece, in Mario this is learning how to move, jump and slide. I’ll not scare you with their options for the latter example. Finally, they are given a score to maximize. For chess this could be taking pieces and for Mario it could be the number of levels completed.
Once they know the rules and have their objective, they begin by attempting it. In Mario, this would be playing the game but in chess they would play themselves, or another program. At first, they fail miserably. Constantly jumping to their death or losing their Queens. However, once again they are solely held accountable to their objective, and will continue to learn and experiment until they can best achieve it. After every game (or set of games) played the parts which work well are kept, and the rest of it discarded. It’s evolution in real-time.
The gaming/esports example should hopefully be obvious here. You teach it to play League of Legends, Valorant, CS:GO or any other competitive esports title. You then have a regular and reliable training partner to face-off against. One that is likely better than you, or any other team in the world. Iron sharpens iron.
Another example would be to integrate this type of AI into the game itself. Have the enemies become smarter. They learn from your tricks and come up with new and unusual strategies to beat you. Every time you, and thousands of others, play against it, the smarter and more troublesome it becomes. Eventually reaching the point of unbeatability - even though the base level and mechanics never change.
If you’re interested in this world, I recommend checking out my friend Aaron Vontell over at Regression Games, where he is building what I can only describe as the Olympics of AI.Regression Games
For a very fun yet informative video representation of this, check out this great OpenAI video:
I leave my favourite to last, to somewhat hide my bias towards it. It is the bread & butter of AI. The OG. Prediction Modelling.
Take some form of data and make a prediction. Whether that’s meteorological readings to forecast the weather next Wednesday, or your ice-cream stores historic sales to predict footfall on the next Summer afternoon.
The data tends to be in its simplest form; a standard table of data, even though these datasets can get unfathomably large. The metrics also tend to be pretty simple too; predict how much snowfall we’ll get in February, minimize the gap between the prediction and the actual snowfall we get.
The AI can stretch from anywhere between simple averages (i.e. over the last 25 years the average has been 30 inches of snowfall, that is therefore my prediction for this year), to “black-box” deep learning models with thousands of data points being considered.
Currently, it is by far the most common AI to find out in the real-world. This is as viable data tends to be fairly straightforward to source, the simplest versions are incredibly easy to build and the use-cases are endless and applicable to almost anything and anyone.
The most obvious of gaming examples would be a betting provider. They will have some sort of AI process to produce predictions on the outcome of any game being played. The input data could be anything from each teams recent performance, to the distance they travelled to the stadium.
To bring us full-circle and back to the opening remarks, it could even be used to predict which of this years rookies are likely to perform the best in professional play. For iTero, it’s predicting the results of a League of Legends game based on the Champions (characters) that are being played. We add the additional complexity of trying to inform better decision making by running all 160+ options in one go, and returning the one that delivers the highest probability of winning.
Hopefully, this somewhat helps builds a baseline of knowledge for you to approach AI with, or, if you’re more involved in the industry, then to provide you some more ammunition next time you’re asked: So, what actually is AI?