Everyone wants to build with AI but it's much harder to find an article from the perspective of an AI researcher, who experiences it from the other side.
So, I invited Joy to write this article. He's also my brother :)
Joy's experience spans both large-scale initiatives and resourceful projects on tight budgets.
He's done a few cool things:
Worked with the Government of India's Meteorological as well as the Agricultural department to build models for them.
Was awarded a research grant of $2.8M from Google to invest in his AI research.
He's also worked with me at Streamline.
This blog is written to help anyone who wants to build something using AI but cannot figure out where exactly. It helps you build a strong intuition about what AI can do, especially for you, so you know how to find problems that can be solved and have a preliminary idea about how expensive it might be to build it.
So let's dive right into it.
What can AI do?
Generally, I want you to think it can AT LEAST do whatever humans can do, given ENOUGH data and compute.
Any process that has the following structure and satisfies the following constraints has an extremely high chance of being solvable by AI -
Input → Some Intelligent Processing → Output
1. There is readily available input and output data, or it can be procured. 2. The input contains all the necessary information for a human to generate an accurate output. There is no need to include the person's skilled prior knowledge or general knowledge in the input.
If prior knowledge is needed to solve the problem, then you should be able to formulate it as another solvable problem, ie, follows that structure and also satisfies the constraints.
Are there any sharp bits that I should keep in mind?
These being the only constraints just goes to show how many problems in the world are just waiting to be solved. But just because a problem is solvable, doesn’t mean it is feasible to build a solution. Gathering enough data and compute can be extremely expensive.
In general, the lesser the prior knowledge that needs to be built in, the cheaper and easier it gets. And if a problem requires a ton of prior knowledge but someone else has already incorporated it into another model, the costs to train an AI become significantly cheaper.
More data and more compute almost always translate into better results and similarly, if insufficient, the AI will be brittle, and make unpredictable and hilariously stupid mistakes.
You can also try breaking down a big unsolvable problem into multiple small solvable problems, chaining their inputs and outputs in such a way that their ends look like the ends of the original big problem. You can do this in cases where you can't find enough data for the big problem.
The benefit of solving a big problem without breaking it apart is improved performance on the final task. This is usually a very big boost in performance comparatively. The benefit of chaining smaller problems when you could solve a big problem is that it usually significantly reduces the expenses.
What do I do after identifying a problem that fits in that structure and satisfies the constraints?
I recommend that you have a simple discussion about it with an AI expert. There are many datasets and models out there, either open-sourced or behind an API, that can be used to bypass the expensive steps. This talk will help you get a crude idea about how feasible it actually is, and more often than not, it would be much cheaper and faster to build than you originally imagined and at the same time, more novel/revolutionary.
I could go into detail about patterns and nuances to look out for that might help you identify and differentiate between ideas that are genuinely hard/expensive and low-hanging fruits but that might make this a very long and exhausting read with diminishing returns, and even then I wouldn’t be able to make an exhaustive list.
You now know everything you need to know to identify solvable problems in AI. The blog ends here but if you want to develop some pattern recognition and clear up any misconceptions, I wrote examples of some problems being solved by AI. I highly recommend going through them.
Example 1: Art Generation (Eg: Midjourney)
I am using this as an example as it's not exactly obvious how it fits into the structure and satisfies the constraints. So, this example shows how far those rules can be stretched, helping you find opportunities where it looks like there aren’t any.
If we rewrite the problem, we might get a clue. How about “creating realistic images and art from a description”? This allows us to put the problem into the structure →
1st constraint - For the input & output data, we could use the billions of images scattered across the internet, and we could use their captions as their descriptions. 2nd constraint - For an artist, a text-based description is enough to create a related piece of art.
We can now be sure that it is possible to build such an AI tool.
These captions are not always the description of the image, and also a single image can be described in many ways. Thus, our data is not perfect. Also, our model needs to learn a lot of prior knowledge about people, animals, objects, etc as well as some understanding about the world. We now know that these issues will make it extremely expensive to build it.
Example 2: Automatically Detecting Fractures from X-Rays
Example 3: Self-Driving Cars
Example 4: Facial Recognition for Security
Thanks for reading!