Complex AI System Implementations - FAQs (Part 1)

Complex AI System Implementations - FAQs (Part 1)

Introduction

I posted a few articles earlier attempting to answer general questions about Artificial Intelligence & Machine Learning. I received several follow-up questions on the complexities, challenges in implementing large-scale AI/Machine Learning Solutions and many of them were asked in the context of ‘Autonomous driving’ which is one the large/complex AI projects that many companies are working on now. I am trying to answer some of the questions through a series of articles starting with this article.

Are large-scale AI/machine learning systems challenging to model, design and implement?

It depends on the business problem you are trying to solve. Complex applications like autonomous driving vehicles are difficult to model and design and might take years, but relatively simpler solutions can be modeled, trained & implemented in a few weeks.

A factor you might need to consider while implementing large/complex AI/Machine Learning implementation is that the system can display the characteristics of a Complex System. In other words, large-scale AI/machine learning solution that consists of different independent components display characteristics of a ‘complex system.’ A system that involves numerous interacting agents whose aggregate behaviors is nonlinear is a ‘complex system.’ That meant that the total response of the system is not the summation of individual components behavior. There are several approaches on how to model such systems, and I will try to explain some of them in the article(s).

What are the different components of large-scale ML/AI systems?

Similar to a human brain, AI/ Machine Learning systems are designed to learn, reason and solve problems. The system can be used to solve simple and complex problems. The examples of problems that such complex system AI systems include:

Autonomous vehicle, airplane, robot or equipment; Risk Management & Control System (a system that manages the customer, financial, supply chain, human resource risks of organizations); Smart Factory System; Weather prediction System; Medical Diagnostics System; Drug development System etc.

Usually, large-scale AI/Machine learning implementation has three major components, and they are Sensing System, Perception System & Decision/Action System. These systems interact with short-term and long-term memory to learn, reason and solve problems.

Sensing Component (or Sensing System)

Sensing components of an Complex AI System are analogous to human senses. The sensors provide the trigger and the data that are used for perception and later decision making & action. Even though many ML/AI systems work with real-time sensor data inputs, many AI systems work with stored data as the starting point.

Common sensor data inputs types are Images (Visual, Movies, LIDAR/RADAR images etc.); Auditory (voice, speech, etc.); Location Sensors (GPS); Inputs from other sensing devices like Pressure sensors, Position sensors, Temperature sensors, Current & Voltage sensors, Flow sensors, Chemical/ Gas sensors, Torque, Strain, Gage & Force sensors, Velocity sensors. In some cases, the data used by sensing component could come from a less dynamic system like enterprise system like ERP, mainframe databases, etc.

In case of an autonomous driving the GPS, Cameras, Radar/Sonar/LiDAR, etc. form the sensors that provide input to the ‘sensing system.’ There could be additional subsystems that contribute to the accuracy of the primary senses like IMU (Inertial measurement unit). In case of a Financial Risk Management System, the sensing systems include data coming in as e-invoices, inbound paper invoices, data from ERP systems like Order Entry systems, Agreements, etc.

Perception Component (or Perception System)

Perception is the process of interpreting, selecting, and organizing sensory information. In other words, putting the data together and make sense out of them is the job of the perception mechanism. This is one of the more complex areas of a Machine Learning or AI system.

For example, in a Financial Risk Management AI system, when an invoice comes into the system, it is not only the accuracy of the invoice that the system uses to decide if it can be processed or not; but it uses the history of the company/individual who sends the invoice and other documents like ‘signed agreements’ in addition to the day/time of the year, the cash position of the company and several other factors, before it determines if/when/how much to pay.

In case of autonomous vehicles, the perception systems combine data from multiple sensors, and the goal of perception is to sense the dynamic environment surrounding the vehicle and to build a reliable and detailed representation of this environment, based on sensory data. For autonomous driving vehicles to be safe and intelligent, perception modules must be able to detect pedestrians, cyclists and other cars, to recognize road surface, lane dividers, traffic signs, and lights, to track moving objects in 3D, etc. Since all subsequent driving decision, planning, and control depends on correct perception output.

Humans never "see things as they are," and perception process of an intelligent system is often influenced by internal and external factors besides the signals themselves. Deep learning algorithms like CNN and variations of it are widely used in Perception Systems.

It has been found that the perception systems express the behavior of complex systems and need to be designed and implemented like a complex system. 

Decision/Action System

Decision and action systems compute what to do with the sensor data based on the perception that was derived by the perception system and act on it. The goal of decision module is to leverage all the pieces of information and make effective and safe decisions.

There are multiple approaches to how the decision/actions are made and implemented. One method is to use non-deterministic Bayesian model approaches. Bayesian methods typically used are Markov Decision Process (MDP), Partially Observable Markov Decision Process (POMDP), are the widely applied methods.

The other approach is to use rule-based deterministic approach. This approach makes use of inference engines which are programmed with the actions. Depending on the type of problem that you are going to address you can take a Bayesian Approach, a rules-based approach or a hybrid approach. In deterministic models, the output of the model is fully determined by the parameter values and the initial conditions.

Reinforcement learning algorithms like Q-learning and Actor-Critic learning methods are considered as the future of almost all decision/action systems; however optimization-based planning and control approaches are widely used as well.

How do you decide when to use a deterministic approach in AI?

Deterministic (rule-based) approaches are usually not recommended to be used in AI because rules usually will not guarantee optimum results. However, many systems use rules to determine the action taken on an event. This is because humans are used to defining ‘rules’ and ‘laws’ for a variety of needs. These ‘rules’ and ‘laws’ may not be the best possible solution for a problem, but since we are used to making and following the rules and laws, those laws/rules need to be followed until the system evolves to more optimum state.

For example, when designing an autonomous driving system, the system might compute that the best approach to overtaking another vehicle is through the right lane. However, in many cities and states passing another car through the right side is prohibited, so the car will be forced to pass the other vehicle on the left side which might actually be a sub-optimal solution.

Can you provide examples where complex systems principles are applied in an AI/Machine learning application?

In autonomous vehicles, multi-sensory fusion (inputs from various sensing devices) are needed for a variety of needs including object detection, segmentation, recognition, tracking, structure-from-motion, 3D mapping, localization, etc. The multi-sensory fusion displays characteristics of a complex system.

Also, once the perception system understands the environment around the car, the system must somehow predict future events (e.g., the movement of another vehicle in its vicinity) and plan its next action including the route. The key questions like ‘How do the system predict what the other driver will do’ etc. are best answered by AI algorithms in a combination of the complex system approaches.

The other examples are routing, behavioral decision, traffic prediction, motion planning, and feedback control. They all display characteristics of complex systems. Divide and Conquer methods are typically used to decompose the autonomous vehicle surroundings into scenarios. In each scenario, the corresponding rule will be applied individually to the objects or elements in the scenarios to compute an Individual Decision for each object, and then a Synthetic Decision for the autonomous vehicle itself is computed by consolidating all the individual decisions. However, the total sum of individual decision making cannot be calculated as the final decision since the system displays characteristic of a complex system.

What are the common algorithms used in each component of a large AI system?

CNNs (Convolutional Neural Networks) are a robust and generic model in computer vision, is used extensively in Sensing & Perception areas. RNNs (recurrent neural networks) is used extensively in voice command systems and also in some control problems like cruise controls, lane merges etc. Reinforcement learning is used extensively in Decision/Action area and they are considered superior to optimization-based solutions. However in several AI system deterministic (rules based) are used presently due the the reasons I mentioned earlier in the article. I will explain more about the algorithms that are used and its pros/cons in subsequent articles.

Does large/complex ML/AI systems require a considerable amount of data in production?

The production AI application works differently than a system being developed & trained. A significant amount of data might be required when a system is being designed and ‘trained.’ However, production systems only deal with the immediate data it is useful for the system to perform the activity it is intended for.

For example, while developing and testing an Autonomous Vehicle Driving System, you might require a considerable amount of data to test and train the models used in the system. However, when it works in production, it deals with the immediate data that is in front of it to help navigate the vehicle. Another example is medical diagnostics system where you train the system using a massive amount of data, and when it works in real-time assisting a medical professional, it uses only the input data of the patient including vitals, test results, etc.

Please note that the system would have used the ‘training data’ to learn and represent the learning internally as ‘millions of features.’ However, some systems like weather prediction might require a significant amount of input data at a real time in ‘production.’

Conclusion

I will answer the other questions in the subsequent articles. Please send me a note at [email protected] with comments/questions.






要查看或添加评论,请登录

Anand Ramachandran的更多文章

社区洞察

其他会员也浏览了