Artificial Intelligence (AI) is all the rage right now. Everyone has an opinion, which means it can be hard to cut through the hype, and get to grips with some practical down to Earth questions. Questions like “Can I build a new business that leverages AI?”, and “Where do I start?”.
In this post I’m going to give you enough information to get started. I’ll start with a brief summary of what AI is at a conceptual level, without getting side tracked by the detailed knowledge that while essential, can distract from thinking about your business. After that I’ll introduce four general steps to go through when starting an AI business.
It’s also worth being mindful that the hype around AI can make you think that if you’re not using it in some form or another, you’re going to be left behind. However in many ways AI is still in its early days, and it’s often not clear when it’s a good fit for you, and when it’s over complicating things.
That’s not to say you shouldn’t use AI if you’re about to set out building a new company. There are many large and compelling problems, just waiting to be solved, that AI technology, even as it stands today, can really help with.
You’d be forgiven for not knowing how to conceive of AI. Is it some robot walking about your house or an app on your phone? Maybe it’s the whole phone. Much of what’s been written about AI makes it hard to get your head around what it actually is. On top of that, there are conversations about AI vs Machine Learning (ML), and terms like Deep Learning (DL). For now I’m going to gloss over the distinctions, in order to focus on the broader concepts, and how they apply to the challenges of entrepreneurs.
Put simply, an AI is a piece of software (which may or may not be embedded into a robot or microchip, or similar), that like many other types of software, can take some input information, and turn it into some other information, the output.
The only real difference from many other bits of software is that the programmer didn’t have to give it step by step instructions on how to do that transformation, and might not even know what those steps are.
Just like any software, AI can be wrapped up and packaged in a number of ways, it could be embedded within an app, a voice controlled device or a website, as well as many other options. So the answer to ”what is an AI?” maybe be any of the above.
To keep things simple, when I talk about AI, I’ll be referring to the bit of the software that takes input and produces output. The important bit is that it can go from input to output in cases where it’s hard to write down clear explicit instructions on how to get from input to output.
These are the sort of tasks that humans are traditionally good at and computers are traditionally bad at, at least individually. At huge volumes, humans are bad at everything.
Common examples include locating faces in a photo, deducing emotion (“sentiment”) from a sentence, and scanning medical test results looking for subtle but significant deviations from the expected data.
Broadly speaking, you can split AIs into two categories: ones that do tasks so common they are needed in many different contexts, like turning spoken speech into written words, and ones that tackle more unique tasks, like detecting if a set of heartbeat data shows evidence of a heart condition improving or worsening. The distinction is important because the common problems are often already solved, and you can use an existing AI rather than creating your own one.
There are a number of common problems that AI is really good at solving. For example face detection in photos or speech recognition. Because these are common problems, a lot of work has already gone into building AIs to tackle them. That means you don’t have to do the hard work of these AIs, you can benefit from the work someone else has already done.
The big cloud providers have created AI products for a number of common tasks, which you can use on a “pay as you use” model. For example Amazon’s Rekognition, Microsoft’s Face API and Google’s Vision API.
Incidentally, the fact these services are AI based is irrelevant to you if you’re using them. All you care about, really, is that it gives you good answers.
Before you go about trying to build your own AI, see if there is one already created and packaged up in a way you can use.
The second category is custom or purpose built AIs. This is where the fun starts. If you are trying to solve a problem that isn’t common enough for existing solutions to be readily available, you need to create your own AI.
At the abstract level this is actually pretty simple, but like most things it very quickly gets hard once you dive into the detail. I’m trying to avoid the programmatic details here, so I’m mostly going to stick at the abstract level. But I need to get a little bit into the details to explain two concepts, creating a network and training it to create a model.
There are a few different technical approaches, but the one getting the most attention at the moment is Neural Networks. A neural net is a whole bunch of simulated neurons that are connected together. A signal is sent to the first set of neurons that may or may not signal other neurons, and so on. At the other side of the network, an output signal is produced. For example, the output signal might be a list of where the faces are in a photo.
There are two steps to building a neural net: creating the network, and training it. To create the network you have to choose how many neurons there are, and what sort of connections there are between them.
Once you have created a neural net you have to train it. Training it means configuring each of the nodes with a mathematical function that tells it when to pass on a signal it receives, and when not to. Fortunately you don’t do this by hand, which would be extremely impractical.
To actually train a neural net you typically use a training framework to feed your network a large amount of training data, most commonly telling it what the correct output for that data is. The training framework creates the math functions for each neuron.
The combination of the size and connection of neurons along with these functions is called a model.
Once you have a model, there are a number of containers you can load it in, and standards are emerging that allow you to load your model in web based applications, mobile applications and so on.
From the point of view of someone trying to develop an AI to use in a business context, the biggest problem you will face is: what data do you need and where can you get it?
Now we’ve established a bit about what an AI is, we can talk about how to build an AI based startup.
There are four essential steps:
- Test your problem-solution fit
- Play the data-gathering / AI building game
- Build your product
- Develop a means for improving your AI
As with pretty much any startup, if you’re not successfully solving a problem that customers are willing to pay you for, you don’t have a startup.
Before you go too far, it’s important to test and be certain that there are people willing to pay for what you’re planning to build, and that it’s actually possible to build what you have in mind.
You can test whether or not you can find people willing to pay for your solution by using a number of solutions like a traditional lean approach, or using a technique like our Product Design Sprint. Importantly, one of the nice things about AIs is that it’s pretty easy to create a simple version of your solution by using real humans or prototyping an MVP with a combination of existing components.
Very often a combination of existing AI services (such as the ones from Google/Amazon/Microsoft), existing non-AI services and a few humans doing key activities can form a prototype that simulates your envisaged solution, letting you run product solution tests before you commit to building a full on AI.
This raises the question, do you really need to build an AI? Just because AI is an approach to solving your problem, it might not be the only way to do so. Each case is different, but at this point, when you’re using real humans or some other way to test your problem, stop and ask yourself the following question: “What is it about my problem that means an AI is the best, or even only solution?”
It’s harder, but also important to find out if the AI you’re going to depend on can be built. Not every problem is one you can easily build an AI for. This is a hard thing to do on your own, but you can reach out to someone who can help you run some tests with your data to see if it’s possible (we’d love to help you!)
If you’ve reached the point where you know your customers exist (and how to reach them) and you have some confidence your AI can be built, it’s time to go about building the first generation of your AI. As I mentioned above, you need to gather some data, curate it to make sure it’s useful, then design a model and train it.
In practice, it’s worth being aware that in many cases, the work required to find, curate and manage the data is the biggest and hardest part of the problem. Training a model is often demanding on computer time, but it’s gathering and understanding the data that still requires a human intelligence (at least for now) and that’s where you should expect to spend the bulk of your problem solving efforts.
With any luck, at this point you have a working AI, but it’s not exactly easy for your users to get stuff done. By now, you’re probably comfortable with talking about trained models, but it’s unlikely your users are.
I’ll bet they want to pick up their phone and launch an app, or maybe go to a website or even talk to their voice activated home assistant.
That means you need to package your AI up into a product. Something that has a user interface, and probably does a few other things beyond just what the AI does.
Remember, a good product solves a real world problem. It’s no good having an AI that can just look at a photo and tell you where the faces are. If your real world problem is helping people learn names from a collection of photographs you’d need to do a bit more.
For example you’d want to wrap that AI in a product that shows your users the original photo, with boxes round the faces, and maybe asks them to write out the name of each face in a text field. That way it can show them a series of flash cards to remember the names of everyone they’re going to meet when they go to that wedding their new date just asked them to accompany them to.
The better the data you can give an AI when you train it, the better it is.
Once you’ve launched your great new startup, you’re going to find that you start gathering a load more data. Data that you didn’t have when you first trained your AI. Can you use this to improve your AI and improve its accuracy? Of course you can.
You probably guess that that’s not quite as simple as it sounds. Fortunately it’s not super hard either. It just requires some thought, and some attention. At it’s basics this is an iterative process. As you gather more data you want to capture it to build up your training data, then every so often use that data to train up an updated model.
So the things you need to think about are how are you going to gather and store that data? How often are you going to retrain your AI, and when you do, how are you going to test if the new generation is better than the old one?
For the most part, these are detail-oriented questions rather than hard questions. The best advice here is to raise this topic with the team building your AI. They will be able to help you come up with best practices for data capture, and best practices around deploying and testing updated AI models.
My intention in this post was to give you a primer on AI so that you feel empowered to move forward on whatever idea you’re considering. Moving forward might mean to start testing out and building your own AI, or it might mean asking if you even need to go down the AI route. If so, great, that’s an excellent question to ask.
Either way, your next step is probably a conversation to have with your technical team. If you don’t have a technical team, you can reach out to someone to get more information, and get some answers to your questions.
Having experience of building projects, understanding data sets and working with AI, we are in a great position to help you with your questions. We would love to help with your questions, and who knows, maybe we can work together. Do get in touch, we’d be happy to hear from you.