We review state-of-the-art formal methods applied to the emerging field of the verification of machine learning systems. Formal methods can provide rigorous correctness guarantees on hardware and software systems. Thanks to the availability of mature tools, their use is well established in the industry, and in particular to check safety-critical applications as they undergo a stringent certification process. As machine learning is becoming more popular, machine-learned components are now considered for inclusion in critical systems. This raises the question of their safety and their verification. Yet, established formal methods are limited to classic, i.e. non machine-learned software. Applying formal methods to verify systems that include machine learning has only been considered recently and poses novel challenges in soundness, precision, and scalability. We first recall established formal methods and their current use in an exemplar safety-critical field, avionic software, with a focus on abstract interpretation based techniques as they provide a high level of scalability. This provides a golden standard and sets high expectations for machine learning verification. We then provide a comprehensive and detailed review of the formal methods developed so far for machine learning, highlighting their strengths and limitations. The large majority of them verify trained neural networks and employ either SMT, optimization, or abstract interpretation techniques. We also discuss methods for support vector machines and decision tree ensembles, as well as methods targeting training and data preparation, which are critical but often neglected aspects of machine learning. Finally, we offer perspectives for future research directions towards the formal verification of machine learning systems.
翻译:正式方法可以提供硬件和软件系统的严格正确性保障。由于成熟工具的可用性,这些方法的使用在行业中已经牢固确立,特别是在它们经过严格的认证程序时检查安全关键应用程序。随着机器学习越来越受欢迎,现在考虑将机器学习组成部分纳入关键系统。这提出了它们的安全及其核查问题。但既定的正式方法限于传统,即非机器学习软件。采用正式方法核查包括机器学习在内的系统,只是最近才考虑过,在健全、精确和可缩放方面提出了新的挑战。我们首先回顾已经制定的正式方法及其目前用于一个非常安全关键领域,即虚拟软件,重点是抽象解释技术,因为它们具有高度的可缩放性。这为机器学习核查提供了黄金标准和高期望。我们随后全面、详细地审查为机器学习所制定的正式方法,突出其优点和局限性。我们首先回顾已经确立的正式方法,在健全、精确和可伸缩性方面提出了新的挑战。我们首先回顾已经确立的正式方法,然后将经过训练的机器研究网络和机载系统作为升级的学习方法。我们最后还利用经训练的机械研究网络和机载式研究方法来进行学习。