The Reversible Residual Network: Backpropagation Without Storing Activations
Aidan N. Gomez, Mengye Ren, Raquel Urtasun, Roger B. Grosse
TL;DR
The paper introduces Reversible Residual Networks (RevNets), a memory-efficient variant of ResNets where most layer activations can be exactly reconstructed from later activations, enabling backpropagation without storing activations for the entire network. RevNets use invertible blocks with additive coupling, partitioning activations into two parts and performing forward and inverse mappings, which reduces activation storage to $O(1)$ while incurring modest compute overhead. Empirical results on CIFAR-10/100 and ImageNet show RevNets achieve nearly identical accuracy to matched ResNets, with significant memory savings and only minor training-time penalties. This work suggests RevNets as a practical approach to training very deep networks under memory constraints, with potential extensions to semantic segmentation and reversible recurrent architectures.
Abstract
Deep residual networks (ResNets) have significantly pushed forward the state-of-the-art on image classification, increasing in performance as networks grow both deeper and wider. However, memory consumption becomes a bottleneck, as one needs to store the activations in order to calculate gradients using backpropagation. We present the Reversible Residual Network (RevNet), a variant of ResNets where each layer's activations can be reconstructed exactly from the next layer's. Therefore, the activations for most layers need not be stored in memory during backpropagation. We demonstrate the effectiveness of RevNets on CIFAR-10, CIFAR-100, and ImageNet, establishing nearly identical classification accuracy to equally-sized ResNets, even though the activation storage requirements are independent of depth.
