Skip to main content
QUICK REVIEW

[논문 리뷰] FLOPs as a Direct Optimization Objective for Learning Sparse Neural Networks

Raphael Tang, Ashutosh Adhikari|arXiv (Cornell University)|2018. 11. 07.
Advanced Neural Network Applications참고 문헌 11인용 수 20
한 줄 요약

이 논문은 L0 정규화 프레임워크를 확장하여 기계적 FLOPs 수치를 직접 최적화할 수 있도록 하는 새로운 방법을 제안한다. FLOPs를 연속적이고 미분 가능한 목표 함수로 표현하고 스코어 함수 추정기를 통해 소프트 제약 조건으로 통합함으로써, 정확도-효율성 트레이드오프가 최상수준이 되는 모델 압축을 실현한다. 이는 MNIST, CIFAR-10, CIFAR-100에서 명시적인 FLOPs 제어를 통해 실현되며, 직접적인 FLOPs 최적화가 가능하다.

ABSTRACT

There exists a plethora of techniques for inducing structured sparsity in parametric models during the optimization process, with the final goal of resource-efficient inference. However, few methods target a specific number of floating-point operations (FLOPs) as part of the optimization objective, despite many reporting FLOPs as part of the results. Furthermore, a one-size-fits-all approach ignores realistic system constraints, which differ significantly between, say, a GPU and a mobile phone -- FLOPs on the former incur less latency than on the latter; thus, it is important for practitioners to be able to specify a target number of FLOPs during model compression. In this work, we extend a state-of-the-art technique to directly incorporate FLOPs as part of the optimization objective and show that, given a desired FLOPs requirement, different neural networks can be successfully trained for image classification.

연구 동기 및 목표

  • 신경망 스파arsity 방법에서 FLOPs를 직접 최적화할 수 있는 방법의 부재 문제를 해결하기 위해, 기존 방법들이 FLOPs를 결과 지표로만 보고하는 데에 초점을 맞춘다.
  • 실제 시스템 제약 조건(예: 모바일 또는 GPU 배포)을 고려해, 훈련 중에 목표 FLOPs 값을 설정할 수 있도록 하여 모델 압축을 실제 요구사항에 맞춘다.
  • 최신 L0 정규화 프레임워크를 확장하여 FLOPs를 최적화 목표 함수에 포함시키며, 이를 소프트하고 미분 가능한 제약 조건으로 처리한다.
  • FLOPs가 지연 시간과 에너지 소비의 타당한 대체 지표가 될 수 있음을 입증하고, 정확도를 희생시키지 않은 채 모델 효율성을 향상시킨다.

제안 방법

  • 이 방법은 FLOPs 목표 함수 $ L_{\text{flops}}(h, \boldsymbol{\theta}) $ 를 도입하며, 이는 오직 비제로 파라미터 수에 의존한다. 합성곱 및 완전 연결 레이어의 표준 FLOPs 공식을 사용한다.
  • 이중 게이트에 대한 하드 콘크리트 분포를 통해 FLOPs 제약 조건을 연속적 형태로 변환함으로써, 기울기 기반 최적화가 가능하도록 서브스티튜션 목표 함수를 구성한다.
  • 손실 함수는 교차 엔트로피와 클리핑된 FLOPs 페널티의 조합으로 구성된다: $ \mathcal{L} = \mathbb{E}_{p(\tilde{\mathbf{z}}|\boldsymbol{\phi})}[-\log p(\mathcal{D}|\boldsymbol{\theta} \odot \mathbf{z})] + \lambda_f \mathbb{E}_{p(\mathbf{z}|\psi(\boldsymbol{\phi}))} [\max(0, L_{\text{flops}}(h, \boldsymbol{\theta} \odot \mathbf{z}) - T)] $.
  • 각 레이어의 FLOPs는 표준 공식을 사용해 계산된다: 합성곱 레이어의 경우 $ L_{\text{flops}} = (K_wK_hC_{\text{in}} + 1)(I_w - K_w + P_w + 1)(I_h - K_h + P_h + 1) \|\mathbf{z}\|_0 $, 완전 연결 레이어의 경우 $ L_{\text{flops}} = (I_n + 1) \|\mathbf{z}\|_0 $.
  • FLOPs 목표 함수는 조합적 성격을 지니므로 블랙박스 함수로 간주하고, 스코어 함수 추정기를 사용해 역전파를 수행한다.
  • 추론 시, 학습된 확률에 따라 게이트를 0 또는 1로 설정하고, 정확도 복구를 위해 압축 후 최적화를 수행한다.

실험 결과

연구 질문

  • RQ1신경망 훈련 중에 FLOPs를 소프트 제약 조건으로 직접 최적화하여 정밀한 모델 압축을 달성할 수 있는가?
  • RQ2FLOPs를 목표 함수에 통합하면 기존 L0 정규화 방법에 비해 더 나은 정확도-효율성 트레이드오프를 달성하는가?
  • RQ3훈련 중에 목표 FLOPs 값을 설정함으로써 사용자가 모델 효율성을 효과적으로 제어할 수 있는가?
  • RQ4FLOPs 기반 압축은 정확도 중심 또는 파라미터 수 중심 방법에 비해 추론 지연 시간과 에너지 효율성 측면에서 어떻게 비교되는가?

주요 결과

  • MNIST에서, 목표 FLOPs 100K를 설정했을 때 153K FLOPs로 0.9% 오차율을 달성했으며, 기준 L0 방법보다 FLOPs 효율성이 뛰어나다.
  • CIFAR-10에서, 목표 FLOPs 4B를 설정했을 때 4.6B FLOPs로 3.82% 오차율을 기록했으며, 원본 모델 대비 파레토 개선을 이뤘다.
  • CIFAR-100에서, 목표 FLOPs 4B를 설정했을 때 4.6B FLOPs로 18.93% 오차율을 기록했으며, 지연 시간에 민감한 응용 분야에 적합한 정확도-효율성 트레이드오프를 보였다.
  • 훈련 중 예상 FLOPs가 추론 시 실제 FLOPs와 매우 유사하게 일치하여, 서브스티튜션 목표 함수의 효과성을 검증했다.
  • 이 방법은 FLOPs 기여도가 가장 큰 합성곱 레이어를 가장 극적으로 압축하는 데 성공했다.
  • 이 방법은 FLOPs 제어를 위한 조절 가능한 노브를 제공하여, 사용자가 직접 목표 계산 예산을 설정하고 이를 충족시킬 수 있다.

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

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

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

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