Skip to main content
QUICK REVIEW

[논문 리뷰] The Reversible Residual Network: Backpropagation Without Storing Activations

Aidan N. Gomez, Mengye Ren|arXiv (Cornell University)|2017. 07. 14.
Advanced Neural Network Applications참고 문헌 28인용 수 193
한 줄 요약

RevNets는 계층 활성화를 저장하지 않고 역전파를 가능하게 하여 메모리 절감을 달성하고, CIFAR-10/100 및 ImageNet에서 표준 ResNet과 거의 동일한 정확도에 도달하면서도 약간의 학습 시간 오버헤드를 보인다.

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)를 보인다.
  • 모든 활성화를 저장하지 않고 온라인으로 활성화를 재구성하고 그래디언트를 계산하는 역전파 절차(알고리즘 1)를 도출한다.
  • 가역 역전파의 계산 오버헤드를 논의한다(일반 역전파의 3N에 비해 약 4N 연산, 자동 미분으로 구현 시 실용적 오버헤드는 약 50%에 달한다).
  • TensorFlow로 RevNets를 구현하고 CIFAR-10/100 및 ImageNet에서 평가하며 대등한 깊이의 ResNet과 비교한다.

실험 결과

연구 질문

  • RQ1가역 블록이 역전파 중 활성화를 정확히 재구성하여 활성화를 저장하지 않는 것이 가능한가?
  • RQ2표준 ResNet에 비해 RevNets의 메모리와 계산 간의 트레이드오프는 무엇인가?
  • RQ3깊이에 독립적인 메모리 절감을 제공하면서 표준 벤치마크에서 ResNet과 유사한 정확도를 달성하는가?
  • RQ4수치적 재구성 오차가 학습 역학 및 최종 정확도에 미치는 영향은 무엇인가?

주요 결과

아키텍처CIFAR-10 에러 (%) (ResNet)CIFAR-10 에러 (%) (RevNet)CIFAR-100 에러 (%) (ResNet)CIFAR-100 에러 (%) (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과 거의 동일한 정확도를 달성한다.
  • RevNets의 활성화 저장은 네트워크 깊이에 실질적으로 독립적으로 작동하여 상당한 메모리 절감을 가져온다.
  • 재구성된 활성화를 이용한 역전파는 실용적으로 약 33-50%의 추가 연산 오버헤드를 도입한다.
  • 수치 재구성 오차는 학습 중 누적되지만 최종 성능이나 학습 효율을 크게 떨어뜨리지 않는다.
  • ImageNet에서 RevNet-104는 Top-1 에러 23.10%로, ResNet-101의 23.01%에 비해 약간 높다.

더 나은 연구,지금 바로 시작하세요

연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.