Designing Neural Networks for Real-Time Systems

Hammond Pearce*, Xin Yang, Partha S. Roop, Marc Katzef, Tórur Biskopstø Strøm

*Corresponding author for this work

Research output: Contribution to journalJournal articleResearchpeer-review

173 Downloads (Pure)

Abstract

Artificial Neural Networks (ANNs) are increasingly being used within safety-critical Cyber-Physical Systems (CPSs). It is important to validate both the timing and functional correctness of these systems. However, most approaches in the literature consider guaranteeing only the functionality of ANN based controllers. This issue stems largely from the implementation strategies used within common neural network frameworks — their underlying source code is often simply unsuitable for formal techniques such as static timing analysis. As a result, developers of safety-critical CPS must rely on informal techniques such as measurement based approaches to prove correctness, techniques that provide weak guarantees at best. In this work we address this challenge. We propose a design pipeline whereby neural networks trained using the popular deep learning framework Keras are compiled to functionally equivalent C code. This C code is restricted to simple constructs that may be analysed by existing static timing analysis tools. As a result, if compiled to a suitable time-predictable platform all execution bounds may be statically derived. To demonstrate the benefits of our approach we execute an ANN trained to drive an autonomous vehicle around a race track. We compile the ANN to the Patmos time-predictable controller, and show that we can derive worst case execution timings.
Original languageEnglish
JournalI E E E Embedded Systems Letters
Volume13
Issue number3
Pages (from-to)94-97
Number of pages4
ISSN1943-0663
DOIs
Publication statusPublished - 2021

Keywords

  • Cyber-physical networks
  • Neural networks
  • Real-time systems

Fingerprint

Dive into the research topics of 'Designing Neural Networks for Real-Time Systems'. Together they form a unique fingerprint.

Cite this