ExAIs: Executable AI semantics

Neural networks can be regarded as a new programming paradigm, i.e., instead of building ever-more complex programs through (often informal) logical reasoning in the programmers' mind, complex 'AI' systems are built by optimising generic neural network models with big data. In this ne...

Full description

Saved in:
Bibliographic Details
Main Authors: SCHUMI, Richard, SUN, Jun
Format: text
Language:English
Published: Institutional Knowledge at Singapore Management University 2022
Subjects:
Online Access:https://ink.library.smu.edu.sg/sis_research/7779
https://ink.library.smu.edu.sg/context/sis_research/article/8782/viewcontent/ExAIs_2022_av.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-8782
record_format dspace
spelling sg-smu-ink.sis_research-87822023-04-04T03:22:45Z ExAIs: Executable AI semantics SCHUMI, Richard SUN, Jun Neural networks can be regarded as a new programming paradigm, i.e., instead of building ever-more complex programs through (often informal) logical reasoning in the programmers' mind, complex 'AI' systems are built by optimising generic neural network models with big data. In this new paradigm, AI frameworks such as TensorFlow and PyTorch play a key role, which is as essential as the compiler for traditional programs. It is known that the lack of a proper semantics for programming languages (such as C), i.e., a correctness specification for compilers, has contributed to many problematic program behaviours and security issues. While it is in general hard to have a correctness specification for compilers due to the high complexity of programming languages and their rapid evolution, we have a unique opportunity to do it right this time for neural networks (which have a limited set of functions, and most of them have stable semantics). In this work, we report our effort on providing a correctness specification of neural network frameworks such as TensorFlow. We specify the semantics of almost all TensorFlow layers in the logical programming language Prolog. We demonstrate the usefulness of the semantics through two applications. One is a fuzzing engine for TensorFlow, which features a strong oracle and a systematic way of generating valid neural networks. The other is a model validation approach which enables consistent bug reporting for TensorFlow models. 2022-05-01T07:00:00Z text application/pdf https://ink.library.smu.edu.sg/sis_research/7779 info:doi/10.1145/3510003.3510112 https://ink.library.smu.edu.sg/context/sis_research/article/8782/viewcontent/ExAIs_2022_av.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 AI frameworks AI libraries deep learning models semantics specification test case generation model validation AI model generation 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 AI frameworks
AI libraries
deep learning models
semantics
specification
test case generation
model validation
AI model generation
Artificial Intelligence and Robotics
Software Engineering
spellingShingle AI frameworks
AI libraries
deep learning models
semantics
specification
test case generation
model validation
AI model generation
Artificial Intelligence and Robotics
Software Engineering
SCHUMI, Richard
SUN, Jun
ExAIs: Executable AI semantics
description Neural networks can be regarded as a new programming paradigm, i.e., instead of building ever-more complex programs through (often informal) logical reasoning in the programmers' mind, complex 'AI' systems are built by optimising generic neural network models with big data. In this new paradigm, AI frameworks such as TensorFlow and PyTorch play a key role, which is as essential as the compiler for traditional programs. It is known that the lack of a proper semantics for programming languages (such as C), i.e., a correctness specification for compilers, has contributed to many problematic program behaviours and security issues. While it is in general hard to have a correctness specification for compilers due to the high complexity of programming languages and their rapid evolution, we have a unique opportunity to do it right this time for neural networks (which have a limited set of functions, and most of them have stable semantics). In this work, we report our effort on providing a correctness specification of neural network frameworks such as TensorFlow. We specify the semantics of almost all TensorFlow layers in the logical programming language Prolog. We demonstrate the usefulness of the semantics through two applications. One is a fuzzing engine for TensorFlow, which features a strong oracle and a systematic way of generating valid neural networks. The other is a model validation approach which enables consistent bug reporting for TensorFlow models.
format text
author SCHUMI, Richard
SUN, Jun
author_facet SCHUMI, Richard
SUN, Jun
author_sort SCHUMI, Richard
title ExAIs: Executable AI semantics
title_short ExAIs: Executable AI semantics
title_full ExAIs: Executable AI semantics
title_fullStr ExAIs: Executable AI semantics
title_full_unstemmed ExAIs: Executable AI semantics
title_sort exais: executable ai semantics
publisher Institutional Knowledge at Singapore Management University
publishDate 2022
url https://ink.library.smu.edu.sg/sis_research/7779
https://ink.library.smu.edu.sg/context/sis_research/article/8782/viewcontent/ExAIs_2022_av.pdf
_version_ 1770576512773259264