畳み込みニューラルネットワーク(CNN)のトレーニングは、リソースを集中的に使用するタスクであり、効率的な計算のために特殊なハードウェアが必要です。 CNNトレーニングの最も制限的なボトルネックの1つは、バックプロパゲーションアルゴリズムのバックワードパス中の重み勾配の計算に必要な隠れ層のアクティベーション値の格納に関連するメモリコストです。最近、リバーシブルアーキテクチャが提案されており、バックワードパス中に出力から隠れ層の入力アクティベーション値を再構築することにより、大きなCNNをトレーニングするメモリコストを削減し、フォワードパス中にこれらのアクティベーションをメモリに蓄積する必要性を回避しています。このホワイトペーパーでは、このアイデアを極限まで推し進め、最小のトレーニングメモリフットプリントを生成する可逆的なネットワーク設計を分析します。可逆操作の長いチェーンにおける数値誤差の伝播を調査し、トレーニングへの影響を分析します。モデルトレーニングのメモリフットプリントを特徴付けるピクセル単位のメモリコストの概念を導入し、入力ピクセルあたり352バイトの最小メモリコストで任意の深層ニューラルネットワークを効率的にトレーニングできる新しいモデルアーキテクチャを提案します。この新しい種類のアーキテクチャにより、非常に限られたメモリで大規模なニューラルネットワークのトレーニングが可能になり、組み込みデバイスまたは非専門ハードウェアでのニューラルネットワークトレーニングの扉が開かれます。たとえば、メモリが1 GBのみのローエンドのNvidia GTX750 GPUで、67分以内にCIFAR10データセットで93.3%の精度でモデルをトレーニングする方法を示します。
Training Convolutional Neural Networks (CNN) is a resource intensive task that requires specialized hardware for efficient computation. One of the most limiting bottleneck of CNN training is the memory cost associated with storing the activation values of hidden layers needed for the computation of the weights gradient during the backward pass of the backpropagation algorithm. Recently, reversible architectures have been proposed to reduce the memory cost of training large CNN by reconstructing the input activation values of hidden layers from their output during the backward pass, circumventing the need to accumulate these activations in memory during the forward pass. In this paper, we push this idea to the extreme and analyze reversible network designs yielding minimal training memory footprint. We investigate the propagation of numerical errors in long chains of invertible operations and analyze their effect on training. We introduce the notion of pixel-wise memory cost to characterize the memory footprint of model training, and propose a new model architecture able to efficiently train arbitrarily deep neural networks with a minimum memory cost of 352 bytes per input pixel. This new kind of architecture enables training large neural networks on very limited memory, opening the door for neural network training on embedded devices or non-specialized hardware. For instance, we demonstrate training of our model to 93.3% accuracy on the CIFAR10 dataset within 67 minutes on a low-end Nvidia GTX750 GPU with only 1GB of memory.