Litcius/Paper detail

PyTorchFI: A Runtime Perturbation Tool for DNNs

Abdulrahman Mahmoud, Neeraj Aggarwal, Alex Nobbe, Jose Rodrigo Sanchez Vicarte, Sarita V. Adve, Christopher W. Fletcher, Iuri Frosio, Siva Kumar Sastry Hari

2020121 citationsDOI

Abstract

PyTorchFI is a runtime perturbation tool for deep neural networks (DNNs), implemented for the popular PyTorch deep learning platform. PyTorchFI enables users to perform perturbations on weights or neurons of DNNs at runtime. It is designed with the programmer in mind, providing a simple and easy-to-use API, requiring as little as three lines of code for use. It also provides an extensible interface, enabling researchers to choose from various perturbation models (or design their own custom models), which allows for the study of hardware error (or general perturbation) propagation to the software layer of the DNN output. Additionally, PyTorchFI is extremely versatile: we demonstrate how it can be applied to five different use cases for dependability and reliability research, including resiliency analysis of classification networks, resiliency analysis of object detection networks, analysis of models robust to adversarial attacks, training resilient models, and for DNN interpertability. This paper discusses the technical underpinnings and design decisions of PyTorchFI which make it an easy-to-use, extensible, fast, and versatile research tool. PyTorchFI is open-sourced and available for download via pip or github at: https://github.com/pytorchfi.

Topics & Concepts

Computer scienceDependabilityDeep neural networksProgrammerArtificial neural networkExtensibilitySoftwareComputer engineeringDeep learningMachine learningArtificial intelligenceDistributed computingComputer architectureProgramming languageSoftware engineeringAdversarial Robustness in Machine LearningRadiation Effects in ElectronicsIntegrated Circuits and Semiconductor Failure Analysis