[논문 리뷰] An Analysis of Deep Neural Network Models for Practical Applications

SimBa's avatar
Feb 08, 2025
[논문 리뷰] An Analysis of Deep Neural Network Models for Practical Applications
 
  • 주요 classification model의 주요 지표를 비교해보고자 함 (accuracy, momory footprint, parameters, operations count, inference time, power consumption)
    • inference time : new data를 가지고 trian model을 평가하는데 걸리는 시간 (test data를 처리하고 예측하는데 걸리는 시간)
  • 주요 발견
    • power consumption은 batch size와 architecture에 독립임
    • accuracy와 infernce time은 hyperbolic relationship(non-linear relationship)임
    • energy contraint는 accuracy와 model complexity의 최댓값의 상한선임
    • operation의 수는 inference time 계산에 주요 근거임
 

1. Introduction

  • ImageNet challenge에서는 inference time에 상관 없이 다중 분류 문제에서 높은 정확도를 얻는 것이 주 목적이었음
  • 문제점
    • 정확도를 구하기 위한 inference time에서 엄청난 계산량이 쓰임
    • inference time을 빨리 했을 때에 평가 측면에서 어떠한 가점도 없음
  • accuracy, momory footprint, parameters, operations count, inference time, power consumption 수치의 중요성을 강조하고, 이 수치들이 실질적인 이용과 응용에서 최적화하기 위해서 필수적임을 알려주는 것이 목표
 
 

2. Methods

  • accuracy : single-central crop에 대해 top-1 정확도로만 평가
  • inference time, memory : resource-limited device로 측정
 
 

3. Results

  • AlexNet
  • batch normalised AlexNet
  • batch normalised Network In Network (NIN)
  • ENet
  • GoogLeNet
  • VGG-16, 19
  • ResNet-18, 34, 50, 101, 152
  • Inception-v4

3.1 Accuracy

notion image
  • Accuracy를 보여주는 Fig1
    • AlexNet → Inception-v4 로 갈수록 top-1 accuracy가 높음
    • 최근에 나온 것일수록 정확도가 높음
notion image
  • computation cost와 parameter의 개수를 보여주는 Fig2
    • 널리 많이 쓰는 VGG : computation cost와 parameter의 개수 모두 엄청나게 비용이 많이 듦
    • 최신 버전의 Inception과 ResNet : dataset에서 inflection point(전환점)에 도달 → 후술하겠지만, inflection point에서 complexity의 측면에서 cost가 accuracy를 능가
 

3.2 Inference Time

notion image
  • VGG : 한 이미지를 처리하는데 0.2초 소요 → real-time application에 부적합
  • AlexNet : fc layer의 최적화에 약함 → batch size가 1에서 64로 증가할 때, 약 3배의 속도 향상
 

3.3 Power

notion image
  • power consumption은 batch size와 거의 무관
  • AlexNet과 VGG의 낮은 power value : slower forward time과 관련됨
 

3.4 Memory

notion image
  • TX1 device에서 memory consumption 측정
  • Fig5
    • system memory 사용량의 최대치는 일관적임 (Why? network model에 오치게 할당된 메모리가 큰 부분을 차지하기 때문)
    • 각각의 batch를 처리하는 동안 필요한 memory는 image의 수에 따라 비례적으로 증가
  • Fig6
    • network의 크기가 100MB 이하인 것들에 대해 메모리의 initial allocation이 200MB 밑으로는 절대 떨어지지 않음
    • 파라미터의 증가에 따른 initial allocation은 정비례 관계이며, 기울기는 1.30임
 

3.5 Operations

notion image
  • operation 횟수는 신경망의 맞춤현 구현 시, inference time과 하드웨어 회로 크기(hardware circuit size)를 추정하기 위해 중요함
  • 16개의 이미지 처리 → operation count와 inference time에 선형 관계가 나타남
  • 따라서, real-time application과 resource-limited 배치에서 처리 석도를 적절한 범위를 유지하기 위해 operation count에 제약을 둘 수 있음
 

3.6 Operations and Power

  • power consumption과 operaiton 사이의 관계를 분석
  • large batch size로 resource를 최대한으로 사용 → full utilisation에서는 system power의 max값과 대응됨
  • energy consumption을 해결하고 싶다면(ex. battery-power device), application minimum requirements를 충족하도록 가장 느린 architecture을 선택해라.
 

3.7 Accuracy and Throughput

  • accuracyinference time사이에 linear upper bound(단순하지 않은 선형적인 상한)이 존재
    • 모든 네트워크가 accuracy와 speed 사이에 트레이드오프 관계임
  • 특정 inference time이 주어졌고, reource가 완전히 활용됨 → 이론적인 정확도 상한을 계산할 수 있음
  • accuracythroughput(처리량) 사이에 forward inference time을 고려하면, hyperbolic relationship이 성립
  • 연산 횟수가 inference time과 선형적으로 비례 → 네트워크가 요구하는 연산량에 대해 accuracy가 쌍곡선적으로 의존(hyperbolic relationship)
 

3.8 Parameters Utilisation

notion image
  • DNN은 full learning power(파라미터의 개수, 자유도)의 사용에 있어서 매우 비효율적이라고 알려져 있음
  • 네트워크의 파일 크기를 최대 50배 줄이기 위해, weight pruning(가중치 프루닝), quantisation(양자화), variable-length symbol encoding(가변 길이 심볼 인코딩) 활용
→ 처음부터 더 효율적인 architecture을 사용하는 것이 더 compact representation(압축된 표현)을 생성할 수 있음 (즉, weight pruning이나 quantisation을 더 효과적으로 적용할 수 있기 때문 → 더 작은 모델로도 높은 성능을 낼 수 있음)
  • VGG가 AlexNet보다 정확도는 더 높지만, information density는 더 나쁨
    • information density : parameter 수 대비 accuracy 개선 효과
    • VGG가 parameter를 많이 사용했지만, 그만큼 정확도 향상에 기여하지 못함
  • ENet
    • 애초에 ENet은 효율성을 극대화하도로고 설계됨
    • 매우 적은 parameter로도 highest score를 달성
    • state-of-the-art-results(최첨단 결과)를 달성하기 위해 24배 적은 parameter만으로도 충분
    • 네트워크 설계에서 효율성이 얼마나 중요한지 보여줌
  • 결론 : 단순히 더 큰 모델을 만드는 것보다 parameter을 효율적으로 활용하는 설계가 중요
 
 

6. Conclusions

  • 실제 배포에서 자주 제한되는 리소스를 최적화하고, 실질적인 application을 위한 효율적인 신경망 설계를 이끄는 디자인 선택에 대한 인사이트 제공
  • accuracy와 inference time 간에 hyperbolic relationship이 있음
    • accuracy의 약간의 증가를 위해서는 엄청난 computational time이 소요됨
  • operation의 수는 inference time을 효과적으로 측정할 수 있도록 함
  • energy contraint 조건이 연산횟수 측면에서 달성가능한 accuracy와 model complexity에 특정한 상한선(upper bound) 설정
  • ENet이 parameter 사용 측면에서 최고의 architecture임
    • AlexNet보다 parameter당 정보를 13배 올렸고, VGG-19보다 24배 올림
 
Share article

심바