Semantic-based neural network repair

Recently, neural networks have spread into numerous fields including many safety-critical systems. Neural networks are built (and trained) by programming in frameworks such as TensorFlow and PyTorch. Developers apply a rich set of pre-defined layers to manually program neural networks or to automati...

Full description

Saved in:
Bibliographic Details
Main Authors: SCHUMI, Richard, SUN, Jun
Format: text
Language:English
Published: Institutional Knowledge at Singapore Management University 2023
Subjects:
Online Access:https://ink.library.smu.edu.sg/sis_research/8117
https://ink.library.smu.edu.sg/context/sis_research/article/9120/viewcontent/3597926.3598045_pvoa.pdf
Tags: Add Tag
No Tags, Be the first to tag this record!
Institution: Singapore Management University
Language: English
id sg-smu-ink.sis_research-9120
record_format dspace
spelling sg-smu-ink.sis_research-91202023-09-14T08:39:47Z Semantic-based neural network repair SCHUMI, Richard SUN, Jun Recently, neural networks have spread into numerous fields including many safety-critical systems. Neural networks are built (and trained) by programming in frameworks such as TensorFlow and PyTorch. Developers apply a rich set of pre-defined layers to manually program neural networks or to automatically generate them (e.g., through AutoML). Composing neural networks with different layers is error-prone due to the non-trivial constraints that must be satisfied in order to use those layers. In this work, we propose an approach to automatically repair erroneous neural networks. The challenge is in identifying a minimal modification to the network so that it becomes valid. Modifying a layer might have cascading effects on subsequent layers and thus our approach must search recursively to identify a ”globally” minimal modification. Our approach is based on an executable semantics of deep learning layers and focuses on four kinds of errors which are common in practice. We evaluate our approach for two usage scenarios, i.e., repairing automatically generated neural networks and manually written ones suffering from common model bugs. The results show that we are able to repair 100% of a set of randomly generated neural networks (which are produced with an existing AI framework testing approach) effectively and efficiently (with an average repair time of 21.08s) and 93.75% of a collection of real neural network bugs (with an average time of 3min 40s). 2023-07-01T07:00:00Z text application/pdf https://ink.library.smu.edu.sg/sis_research/8117 info:doi/10.1145/3597926.3598045 https://ink.library.smu.edu.sg/context/sis_research/article/9120/viewcontent/3597926.3598045_pvoa.pdf http://creativecommons.org/licenses/by-nc-nd/4.0/ Research Collection School Of Computing and Information Systems eng Institutional Knowledge at Singapore Management University automatic AI model repair deep learning models semantics specification AI model generation neural network generation TensorFlow Prolog Artificial Intelligence and Robotics Software Engineering
institution Singapore Management University
building SMU Libraries
continent Asia
country Singapore
Singapore
content_provider SMU Libraries
collection InK@SMU
language English
topic automatic AI model repair
deep learning models
semantics
specification
AI model generation
neural network generation
TensorFlow
Prolog
Artificial Intelligence and Robotics
Software Engineering
spellingShingle automatic AI model repair
deep learning models
semantics
specification
AI model generation
neural network generation
TensorFlow
Prolog
Artificial Intelligence and Robotics
Software Engineering
SCHUMI, Richard
SUN, Jun
Semantic-based neural network repair
description Recently, neural networks have spread into numerous fields including many safety-critical systems. Neural networks are built (and trained) by programming in frameworks such as TensorFlow and PyTorch. Developers apply a rich set of pre-defined layers to manually program neural networks or to automatically generate them (e.g., through AutoML). Composing neural networks with different layers is error-prone due to the non-trivial constraints that must be satisfied in order to use those layers. In this work, we propose an approach to automatically repair erroneous neural networks. The challenge is in identifying a minimal modification to the network so that it becomes valid. Modifying a layer might have cascading effects on subsequent layers and thus our approach must search recursively to identify a ”globally” minimal modification. Our approach is based on an executable semantics of deep learning layers and focuses on four kinds of errors which are common in practice. We evaluate our approach for two usage scenarios, i.e., repairing automatically generated neural networks and manually written ones suffering from common model bugs. The results show that we are able to repair 100% of a set of randomly generated neural networks (which are produced with an existing AI framework testing approach) effectively and efficiently (with an average repair time of 21.08s) and 93.75% of a collection of real neural network bugs (with an average time of 3min 40s).
format text
author SCHUMI, Richard
SUN, Jun
author_facet SCHUMI, Richard
SUN, Jun
author_sort SCHUMI, Richard
title Semantic-based neural network repair
title_short Semantic-based neural network repair
title_full Semantic-based neural network repair
title_fullStr Semantic-based neural network repair
title_full_unstemmed Semantic-based neural network repair
title_sort semantic-based neural network repair
publisher Institutional Knowledge at Singapore Management University
publishDate 2023
url https://ink.library.smu.edu.sg/sis_research/8117
https://ink.library.smu.edu.sg/context/sis_research/article/9120/viewcontent/3597926.3598045_pvoa.pdf
_version_ 1779157160153841664