Originally published in August 2018 here
In 2016 Google CEO, Sundar Pichai, predicted that Artificial Intelligence (AI) will be “more important than electricity.” While you probably don’t think about electricity much in the everyday operations of your company, this used to be different 150 years ago. At that time, a lot of companies actually had a Chief Electricity officer to figure out how make the best use of this then groundbreaking new technology.
AI is currently developing faster than Moore’s law. Some of the recent advancements, such as advances in machine translation, are breakthroughs which people have been working on for more than 60 years. While there may be speed bumps along the way, this rapid development will open up tremendous opportunities for the companies ready to embrace them - and will put companies at risk who don’t. To put it differently: how many companies do you know who are still going strong that did not embrace electricity?
This article tries to provide a mental model of how to think about AI and what it could or should mean for for your business today.
At its core, AI flips the model of how computing works on its head. In traditional computing creating software works like this:
- Engineer selects programming language
- Engineer creates rules with programming language along the lines of “if exactly this then exactly that”
- Software executes those rules exactly
- Software cannot handle unknown states
This works great for a lot of applications, but works terribly for all cases where you don’t know the exact state upfront, if there are just too many different states, or if those states cannot be described exhaustively in a formal way, e.g. as with autonomous vehicles. This either makes it impossible or uneconomical to create rules for all potential states upfront.
Enter AI: Here the machine is fed with data and then derives rules - or rather “rules of thumb” - based on that data. I call them “rules of thumb” because once trained with the data, the machine is capable of handling new situations similar to the ones it has seen already. Think of it like this:
- Engineer selects type of “AI algorithm” and feeds/trains AI with data
- AI algorithm itself creates lots of “rules of thumb” based on the data along the lines of “if something like this then something like that”
- Software executes “rules of thumb” based on similarity to training data set.
- Software can handle (some) previously unknown states and therefore “fuzzyness” - meaning slight variations of what it has already seen
This way, AI works much more like a human brain. While our parents also try to implement rules into our brains (“If you go out, please take the trash out with you”), as any parent will tell you, the human brain is much more likely to learn based on experience. Humans currently still need much less training data to form rules of thumb than AI. Case in point: Touching the hot plate once is enough for a kid to form the rule of thumb “if I touch the thing that looks like a hot plate it will hurt.” Current AI would need thousands of tagged data for the same result.
On the other hand, in its current form AI is also very different to a human brain. While humans have consciousness and understand reason, AI is still far away from this kind of general or strong AI. Rather, think of AI as “narrow AI” which works for a very narrow purpose like detecting a special type of object in a picture, or finding patterns in data. This is also the reason why there are 1000+ different algorithms. For every purpose, you currently need a different type of algorithm.
The human brain also has different regions for different purposes that communicate with one another. What’s missing in AI today, however, is the ability to combine/connect these different algorithms (regions) so they can exchange knowledge/data with each other to form some kind of consciousness. There is only very recent research working towards that direction of transfer learning - nobody really knows how to really make the jump from narrow AI to general AI.
To understand what can be done with AI today and in the near future, we will focus on the main archetypes of narrow AI.
Due to the limitations of narrow AI, the challenge is figuring out how to frame the problem in a way that you can apply a narrow AI to it with the current tech. Counterintuitively, the hard part of working with AI in practice is not coming up with the algorithms needed to derive the rules of thumb -these are mostly open source and can sometimes even be created with simple point & click tools. Google even tries to automate this process completely with AutoML. The hard part is rather a “Product-Market-Fit” problem: Which AI algorithm/approach to use together with which data to solve which problem.
This is why the article tries to bridge the gap between engineering and the rest of the company. We need a good understanding of AI from business, tech, design and product management to find the AI sweetspot.
So, What can AI be Used For?
On a high level, AI can be used to improve:
- Products, e.g. a new feature in a music app giving you personalized music recommendations or a completely new product based on AI, e.g. Alexa enabling a voice interface or your processes.
- Processes: e.g. business processes: automating claims management in insurances, or manufacturing/building processes, allowing robots to react to slight differences in production, e.g. in glass windows for cars which always differs slightly
However, as stated above, we need to know exactly what kind of problem to tackle with which algorithm to use the existing narrow AI properly. So what are the main types of AI that enable those improved products or processes?
In good old consulting fashion, I don’t want to use more than five because nobody reading this article will ever remember more than five anyway. So, it may not be an exhaustive list, but the goal is to be able to list the most important ones:
Types of AI:
- Structure - take a dataset and detect patterns in it
- Predict - use patterns in datasets to predict future actions, e.g. customer behaviour
- Understand - take a text/picture/video/audio file, break it down into several small chunks and find similarities to small chunks of other data where you know the content/intent (=labeled data) to understand the content/intent of the new data
- Generate - Generate new text/picture/video/audios by making educated guesses what could be the next datapoint (e.g. word) based on the current state and repeating this process over and over again always considering the current state. Use example data (e.g. example texts) as a base for that educated guesses by finding structure, understanding the intent and predicting what’s next.
- Evolve - test out different variants in a simulation or let them compete against each other variants to see which variant works best. Repeat process to evolve solutions.
As you can see, the different types of AI build on top of each other. At its core, they are just smart ways to prepare/use/slice the data, approach the problem and then make use of the detected patterns.
Let's go through the different types of AI one by one.
Type of AI: Structure
What is it?
Take an unstructured dataset and detect patterns in it. Not only linear but also non-linear relationships between datasets with multiple dimensions.
- Detect different types of customers you could use for marketing
- Signal classification, e.g. to detect a certain shaking pattern of a maschine
- Use structure to reduce the size of the file (e.g. AutoEncoder)
How does it work?
Imagine a set of of data which only has 2 dimensions so we can easily plot it on an x & y axis like in the pic below:
For our eyes, it’s easy to detect the two clusters A and B as indicated above. AI can do the same with an approach which is called unsupervised learning. There are several types of unsupervised algorithms, but in general “unsupervised” here means that the AI is only being instructed to look for certain clusters and then figures out by itself which data belongs to which pattern/clusters.
You can imagine the machine going through the whole dataset looking for duplicates and similarities. It will then mark those similar parts of data and describe those groups as clusters. The big advantage of AI is that this works also with more two dimensions (!) given in the example above. So for example you can find structure/patterns in data which has for example 30 different types of data in it. This enables such an algorithm to detect patterns in data which a human could not see.
When should I use it?
You have lots of unstructured and/or unlabeled data you want to make sense of.
Type of AI: Predict
What is it?
Use patterns in datasets to predict future actions, e.g. customer behaviour.
- Amazon Recommendation Engine (“Customers who bought this also bought this)
- Classification: Is this email spam or not?
- Starbucks personalized offerings (see here)
- Spotify recommended playlists
- Weather forecast: will it rain today?
- What is the price of a house in this area and given these other data points?
- Predictive Maintenance: when will this maschine break down?
How does it work?
For this problem people mostly use the “supervised learning” approach. Again there are several types of supervised learning algorithms but for the moment think of it like this:
The algorithm is trained with lots of data similar to Objects 1..n. The AI then detects the pattern that all objects with the data A and B very likely also have the data C. Therefore if you have a new object x with data A and B it will very likely also have the data C as well. Again the beauty of AI here is that these data points don’t have to match exactly. The algorithm can also work with a a little fuzzyness which makes it much more applicable in the real world.
When should I use it?
Use this approach when you have lots of structured data and want to predict future states (e.g. behaviour). Your estimations will be better the more of the structured data you have. This is why big companies with lots of users (think Amazon, Google, Facebook, etc.), but also more traditional corporates can excel here. The hard part is that you need to have the data in a common, normalized format. Most of the hard work to apply this techniques is to make the data accessible to the AI algorithm.
Type of AI: Understand
What is it?
Take a text/picture/video/audio file, break it down into several small chunks and find similarities to small chunks of other data where you know the content/intent (=labeled data) to understand the content/intent of the new data. For example identify the intent or topic of a text or audio by counting the frequency & distribution of certain words and matching this with a tagged datasets where you also know this information. Case in point: A text where you find all major sightseeing spots of a certain country is very likely a text about travel advice.
- Siri, Alexa “understanding” what you want from them
- Object Recognition (Is this a cat?)
- Topic modelling: what is this text about? Useful e.g. to recommend more news articles
How does it work?
This approach is a type of deep learning and uses a similar approach to supervised learning in a new context. Let’s try to understand it from a perspective of detecting a cat picture.
- First you have to train the ai with lots of pictures of cats which are labeled as cats. So the AI does not guess if its a cat or not but rather just saves that this is a cat
- The AI then breaks down the cat pictures into several small chunks. So it also knows these types of edges around the ear of a cat are typically “cat edges”.
- You do this with all kinds of cats from all kinds of perspectives to train your “cat detection AI sufficiently.”
- If you now show the AI an unlabeled new picture it will also break down the new pic to the same smaller chunks and look for similarities to the “cat labeled chunks.”
- If enough of those chungs are guessed to be “cat” chunks the AI will conclude that the overall picture is also a cat.
This also works similarly with speech.
When should I use it?
Use this approach when you try to make sense of information from the real world. Currently this approach needs lots of labeled data to work accurately. Rather millions than hundreds. Therefore companies with lots of data like Google, facebook, etc have a big advantage here for now.
Type of AI: Generate
What is it?
Generate new text/picture/video/audios by making educated guesses what could be the next datapoint (e.g. word) based on the current state. Use example data (e.g. example texts) as a base for that educated guesses by finding structure, understanding the intent and predicting what’s next.
How does it work?
Let’s take speaking as an example: The actual generation of the voice uses the inverse process of understanding an audio file and as described in the “understand” section above. It will create the different sounds by combining the appropriate little chunks of audio. Now the new thing happens. Based on the current state of the generation (meaning which words have already been generated), the AI will predict which other words to generate - think autocomplete when writing something on your phone.
So here the first time the AI has a “state” depending on previously generated information. It will go again through the neural network with this new state in mind. This is why this approach is called a “recurring neural network” or short RNN.
When should it use it?
Use this approach when you want to give information back to the real world. Data requirements here are as high as in deep learning. You generally need a lot of labeled data to create voice and again lots of labeled data to accurately predict the things you want to say/write. However there is progress here as well: startups like lyrebird.ai only need a few minutes of audio-samples to accurately synthesize your own voice.
However, it must be noted that a real narrative is still a far fetched goal because this would require some kind of general AI which we don’t have yet. Therefore we still have a few years before the best authors are AI bots. Currently AI can only “speak” & write in a very limited domain like booking an appointment for a barber.
Type of AI: Evolve
What is it?
Test out different variants in a simulation or let them compete against each other variants to see which variant works best. Repeat process to evolve solutions.
- Driving in self-driving cars
- Generating Designs https://www.ted.com/talks/maurice_conti_the_incredible_inventions_of_intuitive_ai
- Playing Chess // Jeopardy // Alpha Go
How does it work?
We have seen in the previous examples that often AI is based on tagged datasets which are then cleverly used. So how can an AI evolve and generate new solutions when it seems to rely on labeled historical data to come up with solutions? The trick here is to generate labeled data by using a different algorithm to label the outcome of the first AI.
As always, there are several ways to do it but let’s take using a physics based simulation as an example. Let’s use the example where you want the AI to generate a drone which can fly given certain limitations like material to be used, max size etc. This is how it then works in a simplified version
- Use a neural network to use any kind of design for the drone
- Run that design against a physics based simulation to see if and/or how good it flys
- Try again. If you have some progress build on top of it. Basically using the “state” as in RNNs.
This approach basically mimics evolution and speeds it up because it can run inside a computer with high speed. Use this approach when simulating a physical environment is useful for your use case. Other ways of doing this are “Generative Adversarial Networks” (GAN) where you use another neural network to judge the outcome of the first one and/or let those networks compete with each other.
Combine this approach with 3D printing and you have machines creating and producing machines. Terminator here we come :)
When should i use it?
Use this approach if lots of tagged data is not available or if it would be too costly to create it. Personally, I find the “evolve” part of AI especially interesting because here we combine “classic computing” with the power of neural networks. A physics based simulation helps to improve the neural network. I feel there is a lot of further potential to do a “best of both worlds” approach. It will be really powerful to combine AI with non-AI techniques (e.g. OCR, RPA, normal algorithms).
Speed of Progress
As you can see, the five different types of AI build on top of each other - progress in one type of AI also leads to progress in the other types.
- Structure: as the name says - find structure in unstructured data
- Predict: based on structure, find similarities and make estimations
- Understand: Break down the problem into smaller parts (breaking down the file) to then apply the estimation techniques to “understand” what to see/hear
- Generate: Use the “understand” approach to generate the words and use context to estimate what should be the next word
- Evolve: Test the generated results in a simulation (or another neural network) to generate even more tagged data to improve the outcome.
Neural networks have been around for decades - the step change has come about from greater availability of data, more compute power and a migration of the research community to large tech corporations. Offers like Google Tensor Flow has made it very cheap and easy to get access to the computing power needed and to use the algorithms required. The Google Duplex presentation at Google I/O 2018 where the AI was able to “fool” real humans and therefore passing the turing test for a limited domain was super impressive (and a little scary). Expect the Google Assistant to talk like in the Google Duplex demo in 2019 at the latest.
The next frontier is to reduce the required data sets and energy consumption required to train the model. Currently you needs lots of cat pictures from all angles and all types of cats in all kind of behaviours trained for months on high performance systems to get your model to a decent accuracy. A human only needs to see one to two cats to understand that this is a cat because we understand the 3D-model of a cat and see it in movement. Transferring this to deep learning will be the next big step here. See also here for a great overview about the state of ai https://www.stateof.ai/
So what does that mean for your business?
Hopefully you now have a better understanding about what you can do with AI now and in the coming years. So let’s do something for your business now with it. As mentioned above you can either
- improve your product or
- create better processes with AI.
So what does that mean for your business? Should you just take the Top ten problems you have in your organization, create an AI task force and look to solve some of those with AI?
The answer is yes and no. While some of the typical problems of your current products and process can be solved with AI, you are missing out if you only apply AI to your current products and processes. The fun part begins where AI leads to real transformative changes and not only iterative ones. Let me give you some examples:
Better Products with AI example
Cars are an excellent example where AI not only lead to iterative improvements but rather a transformative change. If a car company would have only asked their customers what their typical complaints about their cars were, they probably would have gotten answers like this:
- I wish the car would be cheaper
- I wish it would require less fuel
- I wish it would never break down
Some of these pain points you can indeed address with AI. For example you use the sensors in the car and try to predict the breakdown of important components with AI. (see “Predict” type of AI) - a classic predictive maintenance case. This is a reasonable use case and you should do it. However, the real transformative change comes to cars when you take a step back and not only think how you can solve current problems with your current product with AI but rather how you can solve the underlying desires of your customers with AI.
It is a similar approach to Henry Ford who famously said “If I had asked my customers they would have wanted faster horses.” What he realized was that they customers want to go from A to B as fast, convenient, cheap & safe as possible. He realized that a car could do some of those things significantly better than a horse so he made sure it’s also cheap enough by leveraging the new technology at the time: mass productions.
AI now enables us to look at these underlying desires again. As it turns out if we combine the different AI types we can enable cars to drive themselves.
- Understand: to recognize objects on the road (e.g. distinguish cars from pedestrians)
- Predict: to estimate how those objects will move
- Evolve: to simulate driving so we don’t have to do so much testing/learning in reality
We are still a few years away from Level 5 autonomy but this will be a game changer in the industry as I have written down here). So when applying AI don’t just fix the problems from your customer questionnaires but rather try to understand the deeper underlying desires and try to solve them in a transformative new way.
Better processes with AI example
There is a similar potential in process improvements due to AI. Let’s take claims management in insurances as an example - more specifically the process that somebody has broken a friend’s furniture and wants his public liability insurance to pay for it.
If you ask your customers typical complaints will be something like this:
- Hard to file the claim (e.g. you have to do it offline)
- It takes a long time to get feedback / process the claim
- Claim got rejected due because the insurance thinks it is fraudulent.
Again, some of those complaints can be mitigated directly with AI and some insurance companies are doing it. So you could use the “Structure” and “Estimate” type of AI to detect and predict fraudulent behaviour and improve your accuracy in this space. This would be an iterative improvement.
If you take a step back again you can realize that customers don’t really want a “higher accuracy of fraudulent claims” but just wants their claims handled. So if you now rethink the claims management process with AI in mind you can see the potential to completely automate the process and take out any human error & delay. For example like this:
- “Understand” to automatically understand the intent of your customer’s emails / phone and to check attached pictures
- Normal business logic code to make the decision based on your business rules, RPA to connect to existing software & processes
- Generate: to answer the customer and explain him/her the decision
Fully automating such a process is not easy for AI today but it is very reasonable to expect something like this in the coming years. The combination of AI-techniques and “classic” software approaches like RPA (robotic process automation) will be really powerful. It will be applied first for low value/risk use cases which are currently routinely accepted based on just digital documents already and very specific cases (e.g. only broken living room tables). It will then expand from there.
Operations are a huge cost factor in insurances and automating this to a high degree would increase the competitive position of an insurance dramatically. It would also improve the service level towards the customers since you could give feedback about your claims in near real-time. Again AI has the potential to bring transformative change - not only small iterations.
The companies who lead in the application of these transformative changes possible due to AI will win significant market shares - others may die.
Things to watch out for when using AI
Now that I got you excited about the use of AI in your business, here are some important caveats to consider when using AI:
- Limitation of technology: as stated of above we are still far away from General AI. So you will have to find a very specific use case to make it work right now. Also, the AI models will very likely have a great average performance but will be really bad at edge cases (see Google Image Recognition problem where people of colour were identified as gorillas by the AI). This is why you initially will very likely need to create a mixed model where 80% of cases can be handled by the AI and you still have 20% of the cases handled by humans.
- Black box problem: While you can go through a normal software program code line by code line and debug a certain problem, this is not possible in an AI environment. You don’t really know what’s happening inside the AI brain - you can just train it as long as you are happy with the outcome - just like a human. However this is potentially problematic. What if the AI of a car decides to drive over a human? How to know exactly what was going wrong and how to fix the problem? Who is responsible? While you can put a human driver in front of a judge there is no real process in place how to handle an AI driver.
- Bias in Data: AI is trained with data. So if you train your AI with a biased data set (e.g. job applications for a kindergarten job from men are more likely to be rejected than from women) than this bias will also be in the AI which has been trained for the job. Therefore you need to be careful not to implement bias and prejudices in the AI you are developing.
By reading this article I hope you can take away these three main points:
- Get a feel for the main different types of AI, how they work in general concept and for the speed they currently progress. Use those types as building blocks to find opportunities to improve process or product in your business. AI is not a “hype topic” but like electricity a substantial new technology which is already applied at scale from leaders in the industry.
- Understand that AI will not only lead to iterative change but has the power to be transformative in almost any industry. Now is the time to take a step back and try to rethink your products & processes with the power of AI. Transformative change creates new opportunities but also threatens the companies who are missing the boat.
- Feel the urge to act to make sure you are not missing out. This includes both iterative change improving your current products & processes but also having a separate team figuring out how AI can enable completely new products & processes for your customers. Both of these applications of AI will require to use of data. For once in the technology world big corporates have the unfair advantage of having more data available than new startups which have to rely on open source data or use the breadcrumps bigger companies throw to them on kaggle. Make sure to use this opportunity and make the data available & accessible.
I believe that in the long run of 30-50+ years the combination of AI, robotics and “classic software” will automate 80% of all the jobs humans are doing currently. This is tremendous opportunity for humankind if we handle this new situation well as you can read in my (German) book I wrote about this topic.
This seems like in a long time but the marathon towards this goal has already started a few years ago. The first major industries like cars will be impacted with the advent of autonomous cars in the next few years. Other industries like home speaker systems already feel the impact (e.g. SONOS versus Google / Apple Home Speakers including the AI powered assistants). So for some industries it is rather a sprint than a marathon. Don’t wait until you get disrupted. Use your unfair advantage of already having data in this area and do the disruption yourself.