{"id":1726,"date":"2024-02-29T14:42:53","date_gmt":"2024-02-29T14:42:53","guid":{"rendered":"https:\/\/dataninja.nrw\/?page_id=1726"},"modified":"2025-02-10T08:00:21","modified_gmt":"2025-02-10T08:00:21","slug":"formad-formal-methods-for-anomaly-detectors","status":"publish","type":"page","link":"https:\/\/dataninja.nrw\/?page_id=1726","title":{"rendered":"ForMAD: Formal Methods for Anomaly Detectors"},"content":{"rendered":"\n<h3 class=\"wp-block-heading\">Goal<\/h3>\n\n\n\n<p>An anomaly is \u201ca person or thing that is different from what is usual\u201c<span contenteditable=\"false\" id=\"d5b68f8d-5f70-4fb9-998c-8e414bba6816\" data-note=\"https:\/\/dictionary.cambridge.org\/dictionary\/english\/anomaly\" class=\"abt-footnote\"><sup>\u200b*\u200b<\/sup><\/span>. Detecting such anomalies in large amounts of data has become a crucial task in many fields, such as cyber-security, fraud prevention, and health monitoring. Motivated by the success in other applications, there has recently been a rise in interest in developing deep learning approaches for anomaly detection. Despite the overall paramount performance of these (deep) neural networks, they are error-prone in general. A common phenomenon when working with neural networks is their lack of so-called adversarial robustness. This means that already small changes in the input can lead to a completely different outcome. Consider, for instance, the example below: There a neural network misclassified the image of a panda bear as a gibbon, after adding a tiny amount of noise to the image.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"406\" src=\"https:\/\/dataninja.nrw\/wp-content\/uploads\/2024\/02\/Bildschirmfoto-2024-02-29-um-14.58.33-1024x406.png\" alt=\"Lack of adversarial robustness in a neural network\" class=\"wp-image-1744\" style=\"width:505px;height:199px\" srcset=\"https:\/\/dataninja.nrw\/wp-content\/uploads\/2024\/02\/Bildschirmfoto-2024-02-29-um-14.58.33-1024x406.png 1024w, https:\/\/dataninja.nrw\/wp-content\/uploads\/2024\/02\/Bildschirmfoto-2024-02-29-um-14.58.33-300x119.png 300w, https:\/\/dataninja.nrw\/wp-content\/uploads\/2024\/02\/Bildschirmfoto-2024-02-29-um-14.58.33-768x305.png 768w, https:\/\/dataninja.nrw\/wp-content\/uploads\/2024\/02\/Bildschirmfoto-2024-02-29-um-14.58.33.png 1048w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">Lack of adversarial robustness in a neural network. Adapted from: I. J. Goodfellow, J. Shlens, and C. Szegedy. Explaining and harnessing adversarial examples. In Y. Bengio and Y. LeCun, editors, 3rd International Conference on Learning Representations, ICLR 2015, San Diego, CA, USA, May 7-9, 2015, Conference Track Proceedings, 2015.<sup>1<\/sup><\/figcaption><\/figure><\/div>\n\n\n<p>This lack of adversarial robustness is particularly problematic when the neural networks are deployed in safety-critical applications, where a malfunction has severe consequences and can even cause harm to human life.<\/p>\n\n\n\n<p>The goal of this project is to develop efficient methods to verify (i.e., to mathematically prove) the absence of such an error and thus that neural networks work safely and reliably. As those factors play a major role in building trust in AI systems, the project will ultimately advance the development of trustworthy AI.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Project Overview<\/h3>\n\n\n\n<p>This project is part of an interdisciplinary, DFG-funded research unit<span contenteditable=\"false\" id=\"3866ff97-456e-42f0-b1f1-fb3f95e081bc\" data-note=\"&nbsp;https:\/\/gepris.dfg.de\/gepris\/projekt\/459419731\" class=\"abt-footnote\"><sup>\u200b\u2020\u200b<\/sup><\/span>&nbsp;on anomaly detection in chemical process engineering. While (deep) neural networks will ultimately achieve superhuman performance, there is a great responsibility to ensure their safety and reliability: Failure to report anomalies may result in imminent hazards to the environment and harm to human life. Conversely, false alarms may lead to substantial financial or scientific loss due to unnecessary downtime of a plant.<\/p>\n\n\n\n<p>In order to verify, and thus ensure, that a neural network functions safely and reliably, we need to first define what \u201csafely and reliably\u201c means in our context. Therefore, we start by eliciting a set of specifications, i.e., properties a neural network needs to satisfy to operate safely and reliably. These specifications include properties one wants a neural network to fulfill in general (e.g., adversarial robustness) and properties tailored to our specific domain of chemical process engineering. The next step is to formalize these specifications in a suitable specification language to be processed and verified automatically by dedicated verification tools. This task will entail the development of a novel temporal logic that will allow us to also express (and verify) so-called neuro-symbolic properties such as \u201can alarm has to be triggered when the gas in a given pipe starts to condensate\u201d. Afterward, we plan to develop efficient algorithms to verify neural networks against these correctness properties. We will consider both qualitative verification methods (proving or disproving that a network satisfies a property) and quantitative verification methods (computing the probability of a network satisfying a property). Moreover, we intend to also develop techniques that use counterexamples (obtained from failed verification attempts) to \u201crepair\u201c neural networks such that they fulfill the correctness properties.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-css-opacity is-style-wide\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">Preliminary Results<\/h3>\n\n\n\n<p>Batch distillation is one of the most important processes in the chemical industry. It uses a so-called distillation column to separate a liquid mixture into multiple, possible unknown chemical components. To this end, the mixture is filled into the distillation still, a vessel connected to a heat source, and heated up until it boils. The uprising vapor will then condense at the top of the column and the distillate can be withdrawn.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"537\" src=\"https:\/\/dataninja.nrw\/wp-content\/uploads\/2024\/02\/Bildschirmfoto-2024-02-29-um-15.05.25-2-1024x537.png\" alt=\"\" class=\"wp-image-1747\" style=\"width:681px;height:357px\" srcset=\"https:\/\/dataninja.nrw\/wp-content\/uploads\/2024\/02\/Bildschirmfoto-2024-02-29-um-15.05.25-2-1024x537.png 1024w, https:\/\/dataninja.nrw\/wp-content\/uploads\/2024\/02\/Bildschirmfoto-2024-02-29-um-15.05.25-2-300x157.png 300w, https:\/\/dataninja.nrw\/wp-content\/uploads\/2024\/02\/Bildschirmfoto-2024-02-29-um-15.05.25-2-768x403.png 768w, https:\/\/dataninja.nrw\/wp-content\/uploads\/2024\/02\/Bildschirmfoto-2024-02-29-um-15.05.25-2.png 1346w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">Image (left) and schematics (right) of a batch distillation column.<\/figcaption><\/figure><\/div>\n\n\n<p>Towards eliciting a set of specifications for batch distillation, we worked together with colleagues from the Department of Mechanical and Process Engineering of RPTU Kaiserslautern-Landau. They provided us with expert knowledge and a set of chemical and physical properties that should not be violated during a proper execution of a batch distillation process. From these properties, we derived a set of specifications for our anomaly detectors, e.g., \u201cIf the pressure is below or equal to zero, the network should indicate an anomaly\u201c.<\/p>\n\n\n\n<p>The next step was to formalize these specifications in a suitable specification language to be processed and verified automatically by dedicated verification tools. We developed a temporal specification logic by combining Linear Temporal Logic<sup>2<\/sup> and the First-Order theory of Linear Real Arithmetic. The former allows us to model temporal dependencies, while the later allows us to express relational dependencies and real-valued sensor data. From these correctness specifications, we plan to create a benchmark suite that will be essential to evaluate any verification technique present or developed in the future.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-css-opacity is-style-wide\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">Project Publications<\/h3>\n\n\n\n<ul>\n<li>Katzke, Tim, Simon Lutz, Emmanuel M\u00fcller, and Daniel Neider (2024). \u2018\u2018Provable Guarantees for Deep Learning-Based Anomaly Detection through Log- ical Constraints\u2019\u2019. en. In:\u00a0DataNinja sAIOnARA Conference, DataNinja sAIOnARA 2024 Conference.\u00a0doi:\u00a0<a href=\"https:\/\/biecoll.ub.uni-bielefeld.de\/index.php\/dataninja\/article\/view\/1174\">10.11576\/DATANINJA-1174<\/a>.<\/li>\n\n\n\n<li>Lutz, Simon, Justus Arweiler, Aparna Muraleedharan, Niklas Kahlhoff, Fabian Hartung, Indra Jungjohann, Mayank Nagda, Daniel Reinhardt, Dennis Wag- ner, Jennifer Werner, Justus Will, Jakob Burger, Michael Bortz, Hans Hasse, Sophie Fellenz, Fabian Jirasek, Marius Kloft, Heike Leitte, Stephan Mandt, Steffen Reithermann, Jochen Schmid, and Daniel Neider (2024). \u2018\u2018A Benchmark Suite for Verifying Neural Anomaly Detectors in Distillation Processes\u2019\u2019. <em>Accepted.<\/em><\/li>\n\n\n\n<li>Lutz, Simon and Daniel Neider (2023). \u2018\u2018Benchmark: neural networks for anomaly detection in batch distillation\u2019\u2019. In:\u00a0AISoLA, pp. 449\u2013452.<\/li>\n\n\n\n<li>Lutz, Simon and Daniel Neider (2024). \u2018\u2018Interpretable Machine Learning via Lin- ear Temporal Logic\u2019\u2019. en. In:\u00a0DataNinja sAIOnARA Conference, DataNinja sAIOnARA 2024 Conference.\u00a0doi:\u00a010.11576\/DATANINJA-1176.<\/li>\n\n\n\n<li>Lutz, Simon, Florian Wittbold, Simon Dierl, Benedikt B\u00f6ing, Falk Howar, Barbara K\u00f6nig, Emmanuel M\u00fcller, and Daniel Neider (2023). \u2018\u2018Interpretable Anomaly Detection via Discrete Optimization\u2019\u2019. In:\u00a0arXiv preprint arXiv:2303.14111. <a href=\"https:\/\/arxiv.org\/pdf\/2303.14111\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/arxiv.org\/pdf\/2303.14111<\/a><\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-css-opacity is-style-wide\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">Associated Partners<\/h3>\n\n\n\n<div class=\"wp-block-columns\">\n    \n<div class=\"wp-block-column contrib-container\" style=\"flex-basis:20%;\">\n<a href=\"https:\/\/rc-trust.ai\"><span class=\"contrib-container-spacer\"><\/span>\n<img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/dataninja.nrw\/wp-content\/uploads\/2024\/02\/676b4a6b67de01aa.png\" alt=\"\" class=\"wp-image-197\"><\/a>\n    <\/div>\n    <div class=\"wp-block-column\" style=\"margin-right:0.5cm\"><\/div>\n    <div class=\"wp-block-column\" style=\"flex-basis:80%\">\n        <a href=\"https:\/\/rc-trust.ai\/neider\/\"><b><p class=\"contrib-card-label\">Verification and Formal Guarantees of Machine Learning<\/p><\/b><\/a>\n        <a href=\"https:\/\/rc-trust.ai\/neider\/\"><p class=\"contrib-card-label\">Prof. Dr. Daniel Neider<\/p><\/a>\n        <p class=\"contrib-card-label\">PhD student: <a href=\"https:\/\/dblp.org\/pid\/322\/5951.html\">Simon Lutz<\/a><\/p>\n    <\/div>\n<\/div>\n\n\n\n<hr class=\"wp-block-separator has-css-opacity is-style-wide\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">References<\/h3>\n\n\n\n<p><\/p>\n\n\n\n<section aria-label=\"References\" class=\"wp-block-abt-static-bibliography abt-static-bib\" role=\"region\"><ol class=\"abt-bibliography__body\"><\/ol><\/section>\n\n\n\n<ol>\n<li>I. J. Goodfellow, J. Shlens, and C. Szegedy. Explaining and harnessing adversarial examples. In Y. Bengio and Y. LeCun, editors,&nbsp;3rd International Conference on Learning Representations, ICLR 2015, San Diego, CA, USA, May 7-9, 2015, Conference Track Proceedings, 2015.<\/li>\n\n\n\n<li>A. Pnueli. The temporal logic of programs. In&nbsp;18th Annual Symposium on Foundations of Computer Science (sfcs 1977), pages 46\u201357, 1977.<\/li>\n<\/ol>\n\n\n\n<section aria-label=\"Footnotes\" class=\"wp-block-abt-footnotes abt-footnotes\" role=\"region\"><hr\/><ol><li class=\"abt-footnotes-item\" id=\"d5b68f8d-5f70-4fb9-998c-8e414bba6816-ref\"><div class=\"abt-footnotes-item__marker\"><sup>\u200b*\u200b<\/sup><\/div><div class=\"abt-footnotes-item__content\">https:\/\/dictionary.cambridge.org\/dictionary\/english\/anomaly<\/div><\/li><li class=\"abt-footnotes-item\" id=\"3866ff97-456e-42f0-b1f1-fb3f95e081bc-ref\"><div class=\"abt-footnotes-item__marker\"><sup>\u200b\u2020\u200b<\/sup><\/div><div class=\"abt-footnotes-item__content\">&nbsp;https:\/\/gepris.dfg.de\/gepris\/projekt\/459419731<\/div><\/li><\/ol><\/section>\n","protected":false},"excerpt":{"rendered":"<p>Goal An anomaly is \u201ca person or thing that is different from what is usual\u201c\u200b*\u200b. Detecting such anomalies in large [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":1744,"parent":119,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"ub_ctt_via":"","footnotes":""},"featured_image_src":"https:\/\/dataninja.nrw\/wp-content\/uploads\/2024\/02\/Bildschirmfoto-2024-02-29-um-14.58.33.png","_links":{"self":[{"href":"https:\/\/dataninja.nrw\/index.php?rest_route=\/wp\/v2\/pages\/1726"}],"collection":[{"href":"https:\/\/dataninja.nrw\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/dataninja.nrw\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/dataninja.nrw\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/dataninja.nrw\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1726"}],"version-history":[{"count":5,"href":"https:\/\/dataninja.nrw\/index.php?rest_route=\/wp\/v2\/pages\/1726\/revisions"}],"predecessor-version":[{"id":2707,"href":"https:\/\/dataninja.nrw\/index.php?rest_route=\/wp\/v2\/pages\/1726\/revisions\/2707"}],"up":[{"embeddable":true,"href":"https:\/\/dataninja.nrw\/index.php?rest_route=\/wp\/v2\/pages\/119"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/dataninja.nrw\/index.php?rest_route=\/wp\/v2\/media\/1744"}],"wp:attachment":[{"href":"https:\/\/dataninja.nrw\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1726"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}