# Functional Error Correction for Robust Neural Networks

arXiv: https://arxiv.org/abs/2001.03814 · HTML: https://mlsanity.com/paper/2001.03814/

## Key facts

- Cited by 7 papers in the map (data through 14 Oct 2026).
- First posted on arXiv 12 Jan 2020.

## Built on by (most cited first, 7 of 7)

- [RA-BNN: Constructing Robust & Accurate Binary Neural Network to Simultaneously Defend Adversarial Bit-Flip Attack and Improve Accuracy](https://mlsanity.com/paper/2103.13813/) (2021)
- [Effect of Batch Normalization on Noise Resistant Property of Deep Learning Models](https://mlsanity.com/paper/2205.07372/) (2022)
- [Effective and Memory-Efficient Alternatives to ECC for Reliable Large-Scale DNNs](https://mlsanity.com/paper/2605.07417/) (2026)
- [Impact of L1 Batch Normalization on Analog Noise Resistant Property of Deep Learning Models](https://mlsanity.com/paper/2205.04886/) (2022)
- [Impact of Learning Rate on Noise Resistant Property of Deep Learning Models](https://mlsanity.com/paper/2205.07856/) (2022)
- [Characterizing Soft-Error Resiliency in Arm's Ethos-U55 Embedded Machine Learning Accelerator](https://mlsanity.com/paper/2404.09317/) (2024)
- [SAGE: Semantic-Aware Geographic Error Recovery for AI Data Movement](https://mlsanity.com/paper/2609.10126/) (2026)

## Abstract (arXiv)

When neural networks (NeuralNets) are implemented in hardware, their weights need to be stored in memory devices. As noise accumulates in the stored weights, the NeuralNet's performance will degrade. This paper studies how to use error correcting codes (ECCs) to protect the weights. Different from classic error correction in data storage, the optimization objective is to optimize the NeuralNet's performance after error correction, instead of minimizing the Uncorrectable Bit Error Rate in the protected bits. That is, by seeing the NeuralNet as a function of its input, the error correction scheme is function-oriented. A main challenge is that a deep NeuralNet often has millions to hundreds of millions of weights, causing a large redundancy overhead for ECCs, and the relationship between the weights and its NeuralNet's performance can be highly complex. To address the challenge, we propose a Selective Protection (SP) scheme, which chooses only a subset of important bits for ECC protection. To find such bits and achieve an optimized tradeoff between ECC's redundancy and NeuralNet's performance, we present an algorithm based on deep reinforcement learning. Experimental results verify that compared to the natural baseline scheme, the proposed algorithm achieves substantially better performance for the functional error correction task.
