When Neurons Fail - Technical Report
Neural networks have been traditionally considered robust in the sense that their precision degrades gracefully with failure of neurons and can be compensated by additional learning phases. Nevertheless, in a critical application such as flight control, for which neural networks are now appealing solutions, we require a high level of precision and cannot afford any additional learning at run-time. In this paper, we view a multilayer (often called "deep") neural network as a distributed system of which neurons can fail independently, and we evaluate its robustness in the absence of any (recovery) learning phase. We give, for the first time, tight bounds on the number of neurons that can fail, without harming the result of a computation. To determine our bounds, we leverage the very fact that neuronal activation functions are Lipschitzian, in the sense that their growth is controllable. We distinguish the case of neurons that can fail and stop their activity (crashed neurons) from the case of neurons that can fail by transmitting arbitrary values (Byzantine neurons). In the first case (crash), our bound is a recursive relation expressed as a sum involving the number of neurons per layer, the Lipschitz constant of the neuronal activation function, the number of failing neurons, the synaptic weights and the depth of the layer where the crash occurred. In the case of Byzantine failures, our bound involves, in addition to the previous parameters, the synaptic transmission capacity. We also show how to extend our results to the case where synapses can fail. We present three applications of our results. The first is a quantification of the effect of memory cost reduction on neural networks accuracy. The second is a boosting scheme that prevents neurons from waiting for unnecessary signals. The third is a trade-off between neural networks robustness and learning cost.