티스토리 뷰

Paper/Vision

Searching for MobileNetV3

기내식은수박바 2019. 10. 9. 15:46
반응형

논문

 

Abstract

우리는 새로운 아키텍처 디자인 뿐만 아니라 상호 보완적인 검색 기술들의 결합을 기반으로 한 MobileNets의 다음 세대를 제시함.

  • MobileNetV3는 NetAdapt 알고리즘으로 보완된 하드웨어-인식 (Hardware-aware) 네트워크 아키텍처 탐색 (Network Architecture Search, NAS) 의 결합을 통해 모바일 폰의 CPUs에 맞춰 튜닝되며, 그런 다음 새로운 아키텍처의 개발을 통해 상당히 개선됐음.
  • 이 논문은 자동화된 탐색 알고리즘네트워크 설계가 기술의 전반적인 상태를 개선시키는 보완적 방법을 활용하여 어떻게 상호작용하는지에 대한 탐색을 시작함.
  • 이 과정을 통해, 우리는 배포를 위한 두 가지 새로운 MobileNet 모델들을 만듬 :
    • MobileNetV3-Large
    • MobileNetV3-Small
    • 이는 높고 낮은 리소스 사용 사례들을 대상으로 함.
  • 그런 다음 이러한 모델들은 개조되고, Object Detection과 Semantic Segmentation의 작업들에 적용됨.
  • Semantic Segmentation (또는 어떤 Dense 픽셀 예측) 작업의 경우, 우리는 Lite Reduced Atrous Spatial Pyramid Pooling (LR-ASPP) 라는 새롭고 효율적인 Segmentation Decoder를 제시함.
  • 우리는 모바일 분류 (Classification), 감지 (Detection), 분할 (Segmentation) 에 대해 새로운 최첨단 결과들을 달성함.
  • MobileNetV2와 비교했을 때, MobileNetV3-Large가 ImageNet Classification에서 3.2% 더 정확한 반면, 지연 시간을 20% 감소시킴.
  • MobileNetV3-Small은 V2와 대기시간은 비슷하며, 6.6% 더 정확함.
  • MobileNetV3-Large Detection은 COCO Detection에서 MobileNetV2와 거의 동일한 정확도에서 25% 이상 더 빠름.
  • MobileNetV3-Large LR-ASPP는 Cityscapes Segmentation에 경우에 유사한 정확도에서 MobileNetV2 R-ASPP 보다 34% 더 빠름.

 

1. Introduction

효율적인 신경망들은 완전히 새로운 기기 경험을 가능하게 하는 모바일 어플리케이션에서 유비쿼터스화 되어 가고 있음.

  • 또한, 모바일 어플리케이션은 개인 프라이버시를 가능하게 하는 핵심요소로써, 사용자가 자신들의 데이터를 평가받기 위해 서버에 데이터를 전송할 필요 없이 신경망의 이점을 얻을 수 있음.
  • 신경망 효율성의 발전들은 높은 정확도낮은 지연시간을 통해 사용자 경험을 향상시킬 뿐만 아니라, 감소된 전력 소비를 통해 배터리 수명을 유지하도록 도움을 줌.

이 논문에서는, 기기 내 컴퓨터 비전에 전력을 공급하는 높은 정확도와 효율성을 가진 차세대 신경망 모델을 제공하기 위한 MobileNetV3 Large 및 Small 모델을 개발하기 위해 우리가 취했던 접근법을 설명함.

  • 이 새로운 네트워크들은 최첨단 기술을 발전시키고, 효과적인 모델을 구축하는 새로운 아키텍처 개발자동화된 탐색을 조합하는 방법 (How to Blend) 을 보여줌.

이 논문의 목표는 모바일 기기에서 정확도-지연시간의 트레이드 오프를 최적화하는 최상의 모바일 컴퓨터 비전 아키텍처를 개발하는 것임.

  • 이러한 점을 달성하기 위해서, 우리는 다음과 같은 점들을 도입함 :
    1. 상호보완 탐색 기술들 (Complementatry Search Techniques).
    2. 모바일 설정에 실용적인 비선형성의 새롭고 효율적인 버전들 (New Efficient Versions of Nonlinearities Practical for the Mobile Setting).
    3. 새롭고 효율적인 네트워크 설계 (New Efficient Network Design).
    4. 새롭고 효율적인 분할 해독기 (a New Efficient Segmentation Decoder).

 

2. Related Work

정확도와 효율성 사이에서 최적의 트레이드 오프에 대한 Deep 신경망 아키텍처를 설계하는 것은 최근 몇 년동안 활동적인 연구 분야가 됐음.

  • 새로운 Handcrafted 구조들과 알고리즘적인 신경 아키텍처 탐색 둘 다 이 분야를 발전시키는데 중요한 역할을 해왔음.

 

  • SqueezeNet은 주로 파라미터 숫자를 감소시키는 데 초점을 맞춘 모듈들을 Squeeze 및 Expand 하는 1 x 1 Convolutions를 광범위하게 사용함.
  • 보다 최근 작업들에서는 파라미터를 감소시키는 것에서 작동 횟수 (MAdds)실제 측정 지연 시간을 감소시키는 것으로 초점이 이동함.
  • MobileNetV1계산 효율성을 상당히 개선시키는 심층 분리가 가능한 (Depthwise Separable) Convolution을 사용함.
  • MobileNetV2선형 Bottlenecks뒤집힌 잔차 (Inverted Residual) 를 사용한 리소스 효율적인 블록을 도입하여 위 MobileNetV1의 장점을 확장함.
  • ShuffleNetMAdds를 추가적으로 감소시키기 위해 그룹 Convolution 채널 Shuffle 작업들을 사용함.
  • CondenseNetFeature 재사용 (Re-use) 에 대해 계층들 간 유용하고 Dense한 연결들을 유지하기 위해 훈련 단계에서 그룹 Convolutions을 학습함.
  • ShiftNet값비싼 공간 Convolutions를 대체하기 위해 Point-wise Convolutions이 포함된 (InterLeaved) 전환 작업 (Shift Operation) 을 제시함.

아키텍처 설계 과정을 자동화하기 위해, 강화 학습 (RL, Reinforcement Learning) 이 경쟁력 있는 정확도를 가지고 효율적인 아키텍처들을 탐색하기 위해 처음 도입되었음.

 

  • 양자화 (Quantization)정밀 산술 감소 (Reduced Precision Arithmetic) 를 통해 네트워크 효율성을 향상시키는 또 다른 중요한 보완적 노력임.
  • 마지막으로, 지식 증류 (Knowlegde Distillation)큰 규모 "Teacher" 네트워크의 지침에 따라 작은 규모 "Student" 네트워크들을 생성하는 추가적인 보완 방법을 제공함.

 

3. Efficient Mobile Building Blocks

모바일 모델들은 점점 더 효율적인 빌딩 블록들에 구축되어져 왔음.

  • MobileNetV1은 기존 Convolutional Layers에 대한 효율적인 대체제로써 Depth-wise Separable Convolutions를 도입했음.
  • Depthwise Separable Convolutions는 Feature 생성 메커니즘에서 공간 필터링을 분리하여 기존 Convolution을 효과적으로 분해함 (Factorize).
  • Depthwise Separable Convolutions는 두 개의 분리된 계층들에 의해 정의됨 :
    • 공간 필터링에 대한 가벼운 무게 심층 컨볼루션 (Light Weight Depthwise Convolutions).
    • Feature 생성에 대한 더 무거운 1 x 1 Pointwise Convolutions.

 

  • MobileNetV2는 문제의 낮은 순위 특성 (Nature) 을 활용 (Leveraing) 하여 훨씬 더 효율적인 계층 구조를 만들기 위해 선형 Bottleneck과 Inverted Residual 구조를 도입했음.
  • 이 구조는 Figure 3에서 나타나며,  x 1 확장 Convolution에 이어 Depth-wise Convolutions와 1 x 1 Projection 계층에 의해 정의됨.
  • 입력과 출력은 이들이 채널 수가 동일한 경우에만 잔차 연결로 연결됨.
  • 이 구조는 입력과 출력에서 Compact한 표현을 유지하면서 내부적으로는 고차원 Feature 공간으로 확장하여 비선형 채널 변형의 표현력을 증가시킴.

 

  • MnasNet은 Bottleneck에 압착 (Squeeze) 와 자극 (Excitation) 에 기초한 경량 주의 모듈들을 도입하여 MobileNetV2 구조에 설계됨.
  • Squeeze와 Excitation 모듈이 Squeeze-and-Excitation Networks에서 제시한 모듈 기반인 ResNet과 다른 위치에서 통합된다는 것을 주목해야함.
  • 이 모듈은 Figure 4와 같이 가장 큰 표현에 주의를 기울이기 위해 확장시 Depthwise 필터들 이후에 배치됨.

 

  • MobileNetV3의 경우, 우리는 가장 효과적인 모델을 구축하기 위해 이러한 계층들의 조합을 사용 빌딩 블록으로써 사용함.
  • 계층들은 또한 수정된 Swish 비선형성들로 업그레이드됨.
  • Squeeze와 Excitation 뿐만 아니라 Swish 비선형성 모두 시그모이드를 사용하는데, 이는 계산이 비효율적일 수 있으며, 고정된 지점 산술 (Arithmetic) 의 정확성을 유지하기 어렵기 때문에, 이것을 섹션 5-2 에서 설명한 바와 같이 Hard 시그모이드로 대체함.

 

4. Network Search

  • 네트워크 탐색은 그 자체가 네트워크 아키텍처를 최적화하고 발견하기 위한 매우 강력한 도구가 된다는 것을 보여주었음.
  • MobileNetV3의 경우, 우리는 각 네트워크 블록을 최적화함으로써 전체 네트워크 구조를 탐색하기 위해 플랫폼-인식 (Platform-Aware) NAS를 사용함.
  • 그런 다음, 계층 별 필터 갯수를 탐색하기 위해 NetAdapt 알고리즘을 사용함.
  • 이러한 기술들은 상호보완적이며, 주어진 하드웨어 플랫폼에 대해 최적화된 모델들을 효과적으로 찾기 위해 조합될 수 있음.

4-1. Platform-Aware NAS for Block-wise Search

  • Platform-aware neural architecture search for mobile 과 유사하게, 우리는 전체 네트워크 구조들을 찾기 위해 플랫폼 인식 신경 아키텍처 접근법을 사용함.
  • 우리가 동일한 RNN 기반 Controller와 동일하게 분해된 (Factorized) 계층적 탐색 공간을 사용하기 때문에, 약 80ms의 목표 지연시간을 가진 큰 모바일 모델들에 대해 Platform-aware neural architecture search for mobile 와 유사한 결과들을 발견함.
  • 따라서, 우리는 초기 큰 모바일 모델들과 동일한 MnasNet-A1을 간단히 재사용하고, 그런 다음 NetAdapt 및 기타 최적화들을 그 위에 적용함.
  • 그러나, 초기 보상 설계가 작은 모바일 모델들에서는 최적화 되지않는 것을 관찰함.
  • 구체적으로 , 이 설계는 목표 지연 시간 TAR에 기반한 각 모델 m에 대해 모델 지연 시간 LAT(m)과 정확도 ACC(m) 을 균형 잡음으로써 다 목적 보상 ACC(m) * [LAT(m) / TAR]^w 을 사용해 Pareto-optimal 솔루션들의 근사치를 도출함.
  • 우리는 작은 모델의 지연시간에 따라 정확도가 훨씬 더 극적으로 변한다는 것을 관찰함.
  • 따라서, 서로 다른 지연시간들에 따른 더 큰 정확도 변화를 보상하기 위해 더 작은 가중치 w = -0.15 (원래는 w = -0.07) 가 필요함.
  • 이 새로운 가중치 w를 통해 , 우리는 초기 시드 (Seed) 모델을 찾기 위해 처음부터 (from Scratch) 새로운 아키텍처 탐색을 시작하고, 그 다음에 최종 MobileNetV3-Small 모델을 얻기 위해 NetAdapt와 다른 최적화들을 적용함.

 

4-2. NetAdapt for Layer-wise Search

  • 우리가 아키텍처 탐색에서 사용한 두 번째 기술은 NetAdapt임.
  • 이 접근법은 플랫폼-인식 (Platform-Aware) NAS를 무료로 제공함 : 거칠지만 (Coarse) 전체 아키텍처를 추론하기 보다는 순차적인 방식 (Sequential Manner) 으로 각 계층들을 미세 조정 (Fine-Tuning) 할 수 있도록 함.
  • 요약하자면, 기술은 다음과 같이 진행함 :
    1. 플랫폼-인식 NAS에 의해 발견된 한 시드 네트워크 아키텍처에서 시작함.
    2. 각 단계의 경우는 다음과 같음 :
      1. 새로운 Proposals의 집합을 생성함. 각 Proposal은 이전 단계와 비교하여 적어도 δ의 지연 시간 감소를 만드는 아키텍처의 수정을 나타냄.
      2. 각 Proposal의 경우, 우리는 이전 단계에서 사전에 훈련된 (Pre-trained) 모델을 사용하고, 누락된 가중치를 적절하게 잘라내고 무작위로 초기화 하면서 새롭게 제시된 아키텍처를 채움.
      3. 몇몇 지표 (Metric) 에 따라 최상의 Proposal을 선택함.
    3. 목표 지연시간에 도달할 때까지 이전 단계를 반복함.
  • NetAdapt 에서, Metric은 정확도 변화를 최소화하는 것이었음.
  • 우리는 이 알고리즘을 수정하고, 지연시간 변화와 정확도 변화 사이의 비율을 최소화함.
  • 그 비율은 각 NetAdapt 단계 동안 생성된 모든 Proposals에 대한 것이므로, 아래의 식을 최대화하는 한 개를 선택함 (2(a)의 제한조건을 만족하는 △latency로).

  • 이 직관은 Proposals가 이산적 (Discrete) 이기 때문에, 우리가 트레이드 오프 곡선의 기울기를 최대화하는 Proposals를 선호하는 것임.
  • 이 과정은 지연시간이 스스로의 목표에 도달할 때까지 반복되며, 그런 다음 우리는 처음부터 새로운 아키텍처를 다시 훈련시킴.
  • 우리는 NetAdapt에서 사용된 것과 동일한 Proposal 생성기를 MobileNetV2에서 사용함.
  • 구체적으로, 우리는 다음과 같은 두 가지 종류의 Proposals를 허용함 :
    1. 확장 계층의 크기를 감소시킴.
    2. 잔차 연결을 유지하기 위해 동일한 Bottleneck 크기를 공유하는 모든 블록에서 Bottlenect을 감소시킴.

 

5. Network Imporvements

  • 네트워크 탐색에 이 외에, 우리는 또한 최종 모델을 추가적으로 개선하기 위해 모델에 일부 새로운 컴포넌트들을 도입함.
  • 우리는 네트워크의 시작과 끝 지점에서 계산적으로 비용이 많이 드는 계층들을 다시 설계함.
  • 또한, 최근 Swish 비선형성의 수정된 버전으로 새로운 비선형성인 h-swish를 도입하며, 이는 Quantization에 더 친화적이며, 더 빠르게 계산함.

 

5-1. Redesigning Expensive Layers

  • 일단 모델들이 아키텍처 탐색을 통해 발견되면, 일부 마지막 계층들 뿐만 아니라 일부 초기 계층들이 다른 계층들보다 더 값비싸다는 것을 관찰함.
  • 우리는 정확성을 유지하면서 동시에 이러한 느린 계층들의 지연시간을 감소시키기 위해 아키텍처에 일부 수정을 제시함.

 

  • 첫 번째 수정은 최종 Features를 더 효과적으로 생성하기 위해 네트워크의 일부 마지막 계층들을 상호작용하는 방법을 재작업함.
  • MobileNetV2의 Inverted Bottleneck 구조 및 다른 형태들을 기반으로 만들어진 현재 모델들은 고차원 Feature 공간을 확장하기 위해서 1 x 1 Convolution을 마지막 계층으로 사용함.
  • 이 계층은 예측에서 풍부한 Features를 가지기 위해 굉장히 중요함.
  • 그러나, 이러한 점은 추가적인 지연시간 비용이 뒤따라옴.

 

  • 고차원적인 Features를 보존하면서 지연시간을 감소시키기 위해, 우리는 최종 Average Pooling 다음으로 이 계층을 옮김.
  • 이 최종 Features의 집합은 현재 7 x 7 공간 Resolution 대신에 1 x 1 공간 Resolution으로 계산됨.
  • 이러한 설계 선택의 결과는 Features의 계산이 계산과 지연시간 측면에서 거의 자유로워짐.

 

  • 일단 이 Feature 생성 계층의 비용이 완화되면, 이전의 Bottlenect Projection 계층은 더이상 계산을 감소시킬 필요가 없어짐.
  • 이러한 관측을 통해, 이전 Bottlenect 계층에서 필터링 계층과 Projection을 제거할 수 있으므로, 계산 복잡성을 더욱 줄일 수 있음.
  • 기존과 최적화된 마지막 단계는 Figure 5에서 볼 수 있음.
  • 효율적인 마지막 단계는 지연시간을 7ms만큼 감소시키며, 이것은 실행시간의 11%이고, 거의 정확도 손실 없이 3천만 MAdds의 작업 수를 감소시킴.

 

  • 또 다른 값비싼 계층은 초기 필터 집합임.
  • 현재 모바일 모델들은 Edge Detection에 대해 초기 필터 Banks를 구축하기 위한 Full 3 x 3 Convolution에서 32개 필터를 사용하는 경향이 있음.
  • 종종 이러한 필터들은 서로 Mirror 이미지들임.
  • 우리는 중복성을 감소시키기 위해서 필터 수를 감소시키고 다른 비선형성을 사용하는 실험을 하였음.
  • 우리는 테스트한 다른 비선형성뿐만 아니라 수행했을 때 이 계층에 대해 Hard한 Swish 비선형성을 사용하기로 결정했음.
  • 그리고 ReLU 또는 Swish에서 사용하는 32개의 필터와 동일한 정확도를 유지하면서 16개의 필터 수를 감소시킬 수 있었음.

 

5-2. Nonlinearities

  • 이 비선형성은 아래와 같이 정의됨.

  • 이 비선형성이 정확도를 개선시키지만, 시그모이드 함수가 모바일 기기에서 계산하는 데 훨씬 더 값비싸기 때문에 임베디드 환경에서 0이 아닌 비용이 발생함.
  • 우리는 이 문제를 두 가지 방식으로 다룸.

(1) 우리는 시그모이드 함수를 단편적인 (Piece-wise) 선형 Hard Analog로 대체함: ReLU6(x + 3) / 6

  • 자그마한 차이점은 우리가 사용자 정의 Clipping 상수 보다 ReLU6을 사용한다는 것임.
  • 유사하게, Swish의 Hard 버전은 아래처럼 됨.

  • Hard-Swish와 유사한 버전은 또한 최근에 Semantic segmentation of satellite images using a modified cnn with hard-swish activation function 논문에서 제시됨.
  • 시그모이드의 Soft, Hard 버전과 Swish 비선형성 비교는 Figure 6에서 보여줌.
  • 우리가 상수를 선택한 기준은 기존 Smooth 버전에 더 잘 어울리고 간단함이었음.
  • 우리 실험에서, 우리는 이러한 모든 함수들의 Hard 버전이 정확도에서 크게 차이가 나지 않지만, 배치 관점 (Deployment Perspective) 에서 다수의 이점을 가진다는 것을 발견했음.
    1. ReLU6의 최적화된 구현들은 거의 모든 소프트웨어와 하드웨어 프레임워크에서 사용 가능함.
    2. 정량화된 (Quantized) 모드에서, 대략적인 시그모이드의 다른 구현들에서 발생되는 잠재적인 수치적 정밀 손실을 제거함.
    3. 실제로, h-swish는 단편적인 함수로 구현되어 지연시간 비용을 상당히 절감할 수 있는 메모리 액세스 횟수를 감소시킬 수 있음.

(2) 비선형성을 적용하는 비용은 각 계층 활성화 메모리가 Resolution이 Drop될 때마다 반감되기 때문에 우리가 네트워크에 깊게 들어갈수록 감소함.

  • 그런데, 우리는 Swish 이점의 대부분이 더 깊은 계층들에서 Swish를 사용할때만 실현된다는 것을 발견함.
  • 따라서, 우리 아키텍처에서 우리는 모델의 후반부에서만 h-swish를 사용함.
  • 정확한 레이아웃은 Table 1과 2를 참고함.
  • 이러한 최적화들조차도, h-swish는 여전히 일부 지연시간 비용을 동반함.

5-3. Large squeeze-and-excite

  • Mnasnet: Platform-aware neural architecture search for mobile 논문에서, Squeeze와 Excite Bottlenect의 크기는 Convolutional Bottleneck의 크기보다 상대적으로 컸음.
  • 대신에, 우리는 이러한 것들 모두를 확장 계층 채널 수의 1 / 4로 고정되도록 대체함.
  • 이렇게 진행했을 때 파라미터 수가 약간 증가했어도 정확도는 높아졌으며, 지연시간 비용에 차이가 없음을 발견함.

5-4. MobileNetV3 Definitions

  • MobileNetV3는 두 가지 모델로 정의됨 :
    • MobileNetV3-Large.
    • MobileNetV3-Small.
  • 이러한 모델들은 개별적으로 높고 낮은 리소스 사용 사례들을 대상으로 함.
  • 모델들은 이 섹션에서 정의한 네트워크 개선법들의 통합과 네트워크 탐색에 대한 플랫폼-인식 NASd와 NetAdapt 적용을 통해 만들어짐.
  • 마찬가지로 네트워크의 구체적인 전체 망은 Table 1과 2를 참조하면 됨.

 

7. Conclusions and future work

  • 이 논문에서, 우리는 모바일 Classification, Detection, Segmentation에서 새로운 최첨단 결과를 증명하는 MobileNetV3 Large와 Small 모델을 도입했음.
  • 우리는 다음세대의 모바일 모델들을 제공하기 위한 네트워크 설계의 진보뿐만 아니라 다수의 네트워크 아키텍처 탐색 알고리즘을 활용하려는 우리의 노력들에 대해 설명해왔음.
  • 또한, 우리는 효과적인 도구로서 모바일 모델 도메인에 이러한 것들을 도입하는 Quantization 친화적이고 효율적인 방법으로 Swish 같은 비선형성을 적응시키고, Squeeze와 Excite를 적용하는 방법을 보여줬음.
  • 그리고 LR-ASPP라 불리는 새로운 경량화 Sementation Decoder 형식을 도입했음.
  • 자동 탐색 기술들을 인간의 직관과 어떻게 가장 잘 조화시킬 것인가에 대한 열린 문제로 남아 있음.
반응형
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함