Skip to main content
QUICK REVIEW

[논문 리뷰] S2DNAS:Transforming Static CNN Model for Dynamic Inference via Neural Architecture Search

Zhihang Yuan, Bingzhe Wu|arXiv (Cornell University)|2019. 11. 16.
Advanced Neural Network Applications참고 문헌 45인용 수 8
한 줄 요약

S2DNAS는 신경망 구조 탐색(NAS)을 통해 정적 CNN 모델을 동적 추론 네트워크로 변환하는 일반적인 프레임워크를 제안한다. 채널별 다중 단계 아키텍처를 통해 쉬운 샘플의 조기 종료를 가능하게 하며, MSDNet과 유사한 정확도를 달성하면서도 비정규적인 계산이나 복잡한 제어기 없이 효율적인 하드웨어 배포를 가능하게 한다. 기존 딥러닝 프레임워크를 사용해 자원 제약이 있는 환경에서의 구현이 가능하다.

ABSTRACT

Recently, dynamic inference has emerged as a promising way to reduce the computational cost of deep convolutional neural network (CNN). In contrast to static methods (e.g. weight pruning), dynamic inference adaptively adjusts the inference process according to each input sample, which can considerably reduce the computational cost on "easy" samples while maintaining the overall model performance. In this paper, we introduce a general framework, S2DNAS, which can transform various static CNN models to support dynamic inference via neural architecture search. To this end, based on a given CNN model, we first generate a CNN architecture space in which each architecture is a multi-stage CNN generated from the given model using some predefined transformations. Then, we propose a reinforcement learning based approach to automatically search for the optimal CNN architecture in the generated space. At last, with the searched multi-stage network, we can perform dynamic inference by adaptively choosing a stage to evaluate for each sample. Unlike previous works that introduce irregular computations or complex controllers in the inference or re-design a CNN model from scratch, our method can generalize to most of the popular CNN architectures and the searched dynamic network can be directly deployed using existing deep learning frameworks in various hardware devices.

연구 동기 및 목표

  • 자원 제약이 있는 환경에서 정적 CNN 추론의 높은 계산 비용을 해결하기 위해.
  • 하드웨어 효율성에 악영향을 주는 비정규적인 계산이나 복잡한 제어기를 도입하지 않고도 동적 추론을 가능하게 하기 위해.
  • 기존 CNN 아키텍처를 재설계하지 않고도 일반화 가능한 프레임워크를 개발하여 다중 단계 동적 모델로 변환하기 위해.
  • 표본에 따라 적응적인 추론 단계를 통해 평균 FLOPs를 줄이면서도 높은 모델 정확도를 유지하기 위해.
  • 기존 딥러닝 프레임워크를 사용해 다양한 하드웨어 플랫폼에서 실용적으로 배포할 수 있도록 지원하기 위해.

제안 방법

  • S2DNAS는 주어진 정적 CNN에 정의된 변환을 적용하여 CNN 아키텍처 공간을 생성하고, 초기 단계에서 채널 너비가 감소한 다중 단계 변형을 만든다.
  • 강화 학습 기반 신경망 구조 탐색(NAS)을 사용하여 생성된 공간에서 최적의 다중 단계 아키텍처를 자동으로 식별한다.
  • 프레임워크는 깊이가 아닌 채널 너비를 따라 네트워크를 분할하여, 모든 분류기들이 더 깊은 층의 의미 수준 특징에 접근할 수 있도록 한다.
  • 각 단계에는 신뢰도가 학습된 임계값을 초과하면 조기 종료를 예측하는 분류기가 포함되어 있으며, 쉬운 샘플에 대해 조기 종료를 가능하게 한다.
  • 학습 중에 단계별 신뢰도 임계값을 조정하여 정확도-계산 간의 트레이드오���을 최적화하는 검색 과정을 수행한다.
  • 결과로 생성된 동적 모델은 정규적이고 구조화된 계산 그래프를 가지므로, 기존 딥러닝 프레임워크와 하드웨어 가속기 모두와 호환된다.

실험 결과

연구 질문

  • RQ1기존 아키텍처 재설계 없이도 어떤 사전 학습된 정적 CNN도 동적 추론 모델로 변환할 수 있는 일반적 프레임워크를 개발할 수 있는가?
  • RQ2비정규적인 계산이나 복잡한 제어기를 도입하지 않고도 동적 추론을 어떻게 달성할 수 있는가?
  • RQ3신뢰도 임계값 기반의 조기 종료가 다양한 데이터셋과 모델에서 높은 정확도를 유지하면서 평균 FLOPs를 줄일 수 있는가?
  • RQ4제안된 방법이 ResNet, VGG, MobileNet과 같은 다양한 CNN 아키텍처에 얼마나 일반화되는가?
  • RQ5다양한 단계에서의 임계값 설정에 따라 정확도-계산 트레이드오프는 어떻게 변화하는가?

주요 결과

  • S2DNAS는 CIFAR-10과 CIFAR-100 데이터셋에서 ResNet-20, ResNet-56, ResNet-110, VGG-16BN, MobileNetV2를 동적 모델로 변환했으며, 정확도 저하가 최소한이었다.
  • CIFAR-10에서 S2DNAS로 변환된 ResNet-110의 경우, 테스트 샘플의 61.66%가 첫 번째 단계에서 종료되어 평균 FLOPs가 크게 감소했다.
  • CIFAR-10에서 ResNet-20의 경우, 50%의 샘플이 두 번째 단계까지 도달했으며, 첫 번째 단계 분류기는 98.44%의 정확도를 기록하여 쉬운 샘플의 효과적인 조기 탐지가 가능함을 보였다.
  • 수동 아키텍처 설계가 필요 없음에도 불구하고, MSDNet과 유사한 정확도-계산 트레이드오프를 달성했으며, 특히 낮은 FLOP 수준에서 유사한 성능을 보였다.
  • 이 프레임워크는 프루닝 및 양자화와 수직적으로 결합 가능하여, 이와 함께 사용할 경우 추가적인 계산 절감 효과를 낼 수 있다.
  • S2DNAS가 생성한 동적 모델들은 정규적이고 구조화된 계산을 하므로, 기존 하드웨어와 표준 딥러닝 프레임워크를 사용해 배포가 가능하다.

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

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

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

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