Reliable Classification with Ensemble Convolutional Neural Networks

Convolutional Neural Networks (CNNs) are widely used in computer vision and natural language processing. Due to large computational requirements, implementation of CNNs on FPGAs becomes an popular option. As CNNs being used in safety critical applications, reliability become a priority. This poses challenges as FPGAs are prone to suffer soft errors. Traditional fault tolerant techniques based on modular redundancy introduce a large overhead, which may not be acceptable for many resources-limited embedded system. This paper explores the use of an ensemble of CNNs to build reliable classifiers. The idea is to combine several “weak” classifiers to obtain a “strong” one, so that the classifier can still work reliably if one of its members fails. Differently from traditional ensemble learning that looks for the classifiers to complement each other, in our case similarity is also important to achieve fault tolerance. To evaluate the potential of using ensembles to implement fault tolerant CNNs, an initial study is done on ResNets. The results show that, relative to a single deep ResNet, an ensemble of shallow ResNets could provide similar classification results while providing an effective protection against errors with limited overhead.

[1]  Andrew Zisserman,et al.  Very Deep Convolutional Networks for Large-Scale Image Recognition , 2014, ICLR.

[2]  Chaofeng Li,et al.  False-Positive Reduction on Lung Nodules Detection in Chest Radiographs by Ensemble of Convolutional Neural Networks , 2018, IEEE Access.

[3]  Dhananjay S. Phatak,et al.  Complete and partial fault tolerance of feedforward neural nets , 1995, IEEE Trans. Neural Networks.

[4]  Pedro Reviriego,et al.  Diverse Double Modular Redundancy: A New Direction for Soft-Error Detection and Correction , 2013, IEEE Design & Test.

[5]  Sergey Ioffe,et al.  Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift , 2015, ICML.

[6]  S. Piche,et al.  Robustness of feedforward neural networks , 1992, [Proceedings 1992] IJCNN International Joint Conference on Neural Networks.

[7]  Ignacio Rojas,et al.  Improving the tolerance of multilayer perceptrons by minimizing the statistical sensitivity to weight deviations , 2000, Neurocomputing.

[8]  Dacheng Tao,et al.  Robust Face Recognition via Multimodal Deep Face Representation , 2015, IEEE Transactions on Multimedia.

[9]  Ching-Te Chiu,et al.  Assessing automotive functional safety microprocessor with ISO 26262 hardware requirements , 2014, Technical Papers of 2014 International Symposium on VLSI Design, Automation and Test.

[10]  Zhi-Hua Zhou,et al.  Ensemble Methods: Foundations and Algorithms , 2012 .

[11]  Zhenyu Liu,et al.  High-Performance FPGA-Based CNN Accelerator With Block-Floating-Point Arithmetic , 2019, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[12]  Yu Wang,et al.  Angel-Eye: A Complete Design Flow for Mapping CNN Onto Embedded FPGA , 2018, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[13]  João Andrade,et al.  Unreliable memory operation on a convolutional neural network processor , 2017, 2017 IEEE International Workshop on Signal Processing Systems (SiPS).

[14]  Lei He,et al.  OPU: An FPGA-Based Overlay Processor for Convolutional Neural Networks , 2020, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[15]  Ricardo P. Jasinski,et al.  Fault-Tolerance Techniques for SRAM-Based FPGAs , 2007, Comput. J..

[16]  Shuhei Yamashita,et al.  Introduction of ISO 26262 'Road vehicles-Functional safety' , 2012 .

[17]  José Alberto Hernández,et al.  Voting Margin: A Scheme for Error-Tolerant k Nearest Neighbors Classifiers for Machine Learning , 2020 .

[18]  Ahmed El-Amawy,et al.  On Fault Tolerant Training of Feedforward Neural Networks , 1997, Neural Networks.

[19]  Jian Sun,et al.  Deep Residual Learning for Image Recognition , 2015, 2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR).

[20]  Benjamin W. Wah,et al.  Fault tolerant neural networks with hybrid redundancy , 1990, 1990 IJCNN International Joint Conference on Neural Networks.

[21]  Ernesto Sánchez,et al.  An FPGA-based dynamically reconfigurable platform for emulation of permanent faults in ASICs , 2017, Microelectron. Reliab..

[22]  Dan Simon,et al.  Distributed fault tolerance in optimal interpolative nets , 2001, IEEE Trans. Neural Networks.

[23]  Kenli Li,et al.  An Ensemble CNN2ELM for Age Estimation , 2018, IEEE Transactions on Information Forensics and Security.

[24]  Luigi Carro,et al.  Fault-Tolerance Techniques for SRAM-Based FPGAs , 2006 .