With the latest developments in Machine Learning (ML), ML-enabled Autonomous Systems (MLAS), such as Automated Driving Systems (ADS) for self-driving cars, are coming close to our everyday lives. By 2035, 40% of new cars in the UK could have self-driving capabilities, and the UK market could be worth £42 billion, providing up to 38,000 new jobs in the industry. However, these promising figures would not mean anything if we do not make sure MLAS are safe and reliable.
To ensure the system does not cause any problems (e.g., colliding with surrounding cars), we can test the system under different "scenarios". For example, in the automotive domain, we can use high-fidelity simulators to automatically change different driving conditions like the shape of the road, trees, buildings, traffic signs, other vehicles, and pedestrians.
Often, we find many scenarios where the system fails. These failure scenarios give us useful information and chances to fix and upgrade the system. However, we need to thoroughly understand why the system failed in these scenarios. Unfortunately, failure scenarios are already very complicated, with many entities involved (e.g., moving cars, pedestrians, and other roadside objects). Therefore, it is hard to determine exactly which scenario entities caused the failure. To make it easier to figure out the root cause of the failure, we need to make failure scenarios simpler by finding a minimal set of failure-inducing scenario entities.
However, simplifying failure scenarios entails several challenges. First, the number of possible combinations of scenario entities in a failure scenario increases quickly as the number of elements grows, making it impossible to check all of them. Second, different groups of scenario entities can lead to the same failure because of the non-linear behaviours of ML components and how they interact. Third, to see if a (simplified) failure scenario causes the same failure as the original failure scenario, we need a time-consuming, realistic simulation. Fourth, MLAS can include components (especially ML models) made by 3rd parties, so we can't assume we have the source code and other internal details.
This project, SimpliFaiS, is designed to address the challenges mentioned above. It will use Search-Based Software Engineering (SBSE) and Surrogate-Assisted Optimisation (SAO). SBSE is a branch of software engineering that effectively solves complex problems by formulating them into optimisation problems when there are too many candidate solutions to be exhaustively enumerated or explored. SAO is an optimisation approach that uses computationally lightweight surrogate models instead of computationally expensive simulations to minimise relevant computations.
Ultimately, SimpliFaiS will enable us to efficiently investigate and thoroughly address the root causes of MLAS failures, facilitating the safety and reliability of MLAS.
|