
Robust Convolutional Neural Networks in SRAM-based FPGAs: a Case Study in Image Classification
Author(s) -
Fabio Benevenuti,
Fernanda Lima Kastensmidt,
Ádria Barros de Oliveira,
N. Added,
Vitor A. P. Aguiar,
N. H. Medina,
Marcilei A. Guazzelli
Publication year - 2021
Publication title -
jics. journal of integrated circuits and systems
Language(s) - English
Resource type - Journals
SCImago Journal Rank - 0.125
H-Index - 11
eISSN - 1872-0234
pISSN - 1807-1953
DOI - 10.29292/jics.v16i2.504
Subject(s) - convolutional neural network , computer science , fault injection , field programmable gate array , benchmark (surveying) , static random access memory , embedded system , floating point , artificial neural network , artificial intelligence , computer engineering , computer hardware , algorithm , software , geodesy , geography , programming language
This work discusses the main aspects of vulnerability and degradation of accuracy of an image classification engine implemented into SRAM-based FPGAs under faults. The image classification engine is an all-convolutional neural-network (CNN) trained with a dataset of traffic sign recognition benchmark. The Caffe and Ristretto frameworks were used for CNN training and fine-tuning while the ZynqNet inference engine was adopted as hardware implementation on a Xilinx 28 nm SRAM-based FPGA. The CNN under test was generated using an evolutive approach based on genetic algorithm. The methodologies for qualifying this CNN under faults is presented and both heavy-ions accelerated irradiation and emulated fault injection were performed. To cross validate results from radiation and fault injection, different implementations of the same CNN were tested using reduced arithmetic precision and protection of user data by Hamming codes, in combination with configuration memory healing by the scrubbing mechanism available in Xilinx FPGA. Some of these alternative implementations increased significantly the mission time of the CNN, when compared to the original ZynqNet operating on 32 bits floating point number, and the experiment suggests areas for further improvements on the fault injection methodology in use.