Table of Contents
Fetching ...

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.

The Reversible Residual Network: Backpropagation Without Storing Activations

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 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.

Paper Structure

This paper contains 17 sections, 8 equations, 4 figures, 4 tables, 1 algorithm.

Figures (4)

  • Figure 1: (left) A traditional residual block as in Equation \ref{['residualeqn']}. (right-top) A basic residual function. (right-bottom) A bottleneck residual function.
  • Figure 2: (a) the forward, and (b) the reverse computations of a residual block, as in Equation \ref{['reversibleblock']}.
  • Figure 3: Training curves for ResNet-101 vs. RevNet-104 on ImageNet, with both networks having approximately the same depth and number of free parameters. Left: training cross entropy; Right: classification error, where dotted lines indicate training, and solid lines validation.
  • Figure 4: Left: angle (degrees) between the gradient computed using stored and reconstructed activations throughout training. While the angle grows during training, it remains small in magnitude. We measured 4 more epochs after regular training length and did not observe any instability. Middle: training cross entropy; Right: classification error, where dotted lines indicate training, and solid lines validation; No meaningful difference in training efficiency or final performance was observed between stored and reconstructed activations.