AI systems are thought to be very complex. Some of the popular ones have been in the works for two decades. Most business leaders will likely hire a data science team to get their task done. But, AI systems can actually be very simple as well. While business leaders are unlikely to code these themselves, it is helpful to understand what goes into it.
Someday there will be an all-purpose sentient intelligence that can take voice commands and get stuff done, almost like Genie. Today, design of effective AI systems should answer the following questions:
- Purpose: What is the AI going to be used for? This question has the biggest impact on everything else in the system.
- Machine Rules: What and how will the AI learn, and how is that learning encoded? This is the trickiest part. The best tip would be to make it flexible and modular because typically this goes through multiple iterations.
- Business Rules: How does the machine decide based on some inputs? These rules can be learned or be provided by humans, esp. for priming the engine. It is also important to identify an unknown answer from the wrong answer and report it as such.
- Training Data: What information, and in what format, should the machine consume to think through its Learning Rules. While this is the easiest part, in practice it could take the most time to make the right interfaces, APIs, ETL, etc.
To elaborate on #2 vs. #3, let’s say you are designing a system to predict whether an apple is ripe or not. You have a probe that takes the apple through some spectral analysis and gives a result. Or maybe you have an algo to study the patterns on the Apple’s skin and predict the state of ripeness with some confidence. Either of these would be Machine Rules. These could also be sophisticated neural networks, which take a lot of effort to train, but once done their output or the models behind them can be easily used.
Let’s say you initially prime the system and feed in that Red Apples are ripe, while Green Apples are raw. These would be Business Rules. Now the machine will rely on these for all red and green apples, but if a yellow apple comes up, it would be kicked up to Machine Rules. Over time the machine should be able to write a new Business Rule about the Yellow Apples. Ideally, we want the machine to write all Business Rules.
Many AI practitioners do not differentiate between Machine and Business Rules. They believe the machine should always make a prediction. This is a fallacy. By thinking through the two problems separately, far more advanced applications are possible, and they are far more acceptable.
As you can see, the choice of vendor, hardware, algorithm, software, database, etc. all depends on what you decide on the above. As an example, Coseer’s systems, made for near-real-time applications in enterprises, run on Java + Mongo + Linux EC2 or equivalent. If you are designing some IoT system residing on small chips, you may want to use C or Assembly, and algos with limited compute intensity and small memory footprint. For real-time systems, you may want to use servers with huge memory and load everything up there. For training your models you may prefer FaaS construct over GPUs. On the same lines if you are thinking a batch process with few gigs of data, maybe you can start with Python on your Windows desktop, and get something up and running in a day.
As a business leader, you don’t need to completely understand everything in the previous paragraph. Your data science colleagues will help. Two things are important — a) you frame every aspect of the questions you would ask them; b) you ask them for quick pilots for early results before investing in a major project.
Let’s take an over-simplified example. Let’s say you have all the GPS and battery charge data for a lot of trips made on electric cars, and you want to make a system which tells you if your car needs a charge on its way to the destination. As per above:
- Purpose: Decide whether the car needs a charge to reach a given destination.
- Machine Rules: Translate all the data from GPS and battery usage to a simple formula per model based on elevation, miles through city, mile on highway, time of day and traffic patterns. Add margin of error, and learn simple correlations. A simple neural network, perhaps with one or two hidden layers should be sufficient.
- Business Rules: Written by above. Primarily correlating percentage of battery remaining and distance that can be safely traveled, and distance that can potentially be traveled under the right conditions, for each car model.
- Training Data: Google map APIs and the data, which is presumably in a Big Table kind of place.
A very simple neural network can implement these learning rules. You can make them write business rules like “At 5% charge for Model S, 15 miles is always safe, 20 miles if its downhill” (This is illustrative only, please don’t try to drive 20 miles on 5% battery). As new trips are made and new models launched, your learning rules can keep writing these business rules. Your Personal Charge Advisor is ready to go.
Once you have the right data, an AI of this kind should not take more than 24 hours to build.