Skip to main content
QUICK REVIEW

[論文レビュー] The Reversible Residual Network: Backpropagation Without Storing Activations

Aidan N. Gomez, Mengye Ren|arXiv (Cornell University)|Jul 14, 2017
Advanced Neural Network Applications参考文献 28被引用数 193
ひとこと要約

RevNetsは層アクティベーションを保存せずにバックプロパゲーションを可能にし、CIFAR-10/100とImageNetで標準のResNetsとほぼ同等の精度を、訓練時間の控えめなオーバーヘッドとともに実現する。

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.

研究の動機と目的

  • 深層ResNetの訓練におけるアクティベーション保存要件によるメモリのボトルネックを動機づける。
  • バックプロパゲーション時にアクティベーションを保存せず再構成する RevNets を導入する。
  • RevNets が CIFAR-10、CIFAR-100、ImageNet で ResNet の性能と同等でありつつメモリ需要を削減できることを示す。

提案手法

  • アクティベーションを x1 と x2 に分割し、残差関数 F と G を用いた和的結合により可逆ブロックを定義する。
  • 前方写像は y1 = x1 + F(x2)、y2 = x2 + G(y1) であり、可逆的な再構成は x2 = y2 - G(y1)、x1 = y1 - F(x2) であることを示す。
  • すべてのアクティベーションを保存せずに勾配を計算しオンラインでアクティベーションを再構成するバックプロパゲーション手順(Algorithm 1)を導出する。
  • 可逆バックプロパゲーションの計算オーバーヘッドは(標準バックプロパゲーションの3Nに対して)約4Nの演算となるが、自動微分を用いた実装時には実務上のオーバーヘッドは約50%程度になる。
  • RevNets を TensorFlow で実装し、CIFAR-10/100 および ImageNet で評価し、対応深さの ResNet と比較する。

実験結果

リサーチクエスチョン

  • RQ1可逆ブロックはバックプロパゲーション時にアクティベーションを正確に再構成してアクティベーションの保存を回避できるか。
  • RQ2RevNets のメモリと計算のトレードオフは標準の ResNet とどうなるか。
  • RQ3RevNets はメモリ節約を深さに依存さず実現しつつ、標準ベンチマークで ResNet と同等の精度を得られるか。
  • RQ4数値的再構成誤差が訓練ダイナミクスと最終精度に及ぼす影響はどの程度か。

主な発見

ArchitectureCIFAR-10 error (%) (ResNet)CIFAR-10 error (%) (RevNet)CIFAR-100 error (%) (ResNet)CIFAR-100 error (%) (RevNet)
ResNet-327.147.2429.9528.96
ResNet-1105.745.7626.4425.40
ResNet-1645.245.1723.3723.69
  • RevNets は CIFAR-10、CIFAR-100、ImageNet の複数のアーキテクチャで、同等サイズの ResNet とほぼ同等の精度を達成する。
  • RevNet におけるアクティベーションの保存はネットワーク深さにほぼ依存せず、顕著なメモリ節約を生み出す。
  • 再構成アクティベーションを用いたバックプロパゲーションは実際にはわずかな計算オーバーヘッドを生み、約33-50% の追加演算を要する。
  • 訓練中は数値再構成誤差が蓄積するが、最終的な性能や訓練効率を著しく低下させることはない。
  • ImageNet では RevNet-104 のトップ1誤差が 23.10% で、ResNet-101 の 23.01% と比較される。

より良い研究を、今すぐ始めましょう

論文設計から論文執筆まで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。