Paper Review/Deep Learning

[OUTTA Alpha팀 논문 리뷰 요약] Part 4-1. Learning Transferable Architectures for Scalable Image Recognition, MnasNet: Platform-Aware Neural Architecture Search for Mobile

YeonJuJeon 2024. 12. 29. 21:20

 

NasNet 논문 링크: https://arxiv.org/abs/1707.07012

 

 

Learning Transferable Architectures for Scalable Image Recognition

Developing neural network image classification models often requires significant architecture engineering. In this paper, we study a method to learn the model architectures directly on the dataset of interest. As this approach is expensive when the dataset

arxiv.org

 

MnasNet 논문 링크: https://arxiv.org/abs/1807.11626

 

MnasNet: Platform-Aware Neural Architecture Search for Mobile

Designing convolutional neural networks (CNN) for mobile devices is challenging because mobile models need to be small and fast, yet still accurate. Although significant efforts have been dedicated to design and improve mobile CNNs on all dimensions, it is

arxiv.org

 

OUTTA 논문 리뷰 링크: [2024-2] 정인아 - Learning Transferable Architectures for Scalable Image Recognition, MnasNet: Platform-Aware Neural Architecture Search for Mobile

 

[2024-2] 정인아 - Learning Transferable Architectures for Scalable Image Recognition, MnasNet: Platform-Aware Neural Architec

NasNet Learning Transferable Architectures for Scalable Image RecognitionDeveloping neural network image classification models often requires significant architecture engineering. In this paper, we study a method to learn the model architectures directly

blog.outta.ai


1. Neural Architecture Search(NAS)

1. 배경 및 개념

  • 문제점: 고성능 CNN 아키텍처를 설계하려면 많은 경험과 시도(Trial & Error)가 필요함
  • NAS 목표:
    • 사람 개입 없이, 주어진 데이터나 문제에 맞는 최적의 신경망 구조를 자동으로 탐색
    • 데이터나 목표가 달라질 때마다 새로운 구조를 인간이 설계하는 부담을 줄이기 위함

2. NAS 구성요소

  1. Search Space:
    • 고려 가능한 모든 아키텍처의 집합
    • 예: Conv 연산 유형, Kernel Size, 연결 구조 등
  2. Search Strategy(Algorithm):
    • Search Space 내에서 최적의 구조를 찾는 알고리즘
    • 예: 강화학습(Policy Gradient), 진화 알고리즘, 랜덤 서치 등
  3. Evaluation Strategy:
    • 탐색 과정에서 후보 아키텍처의 성능을 평가하는 방법
    • 검증 정확도, FLOPs, Latency 등 지표 활용

3. NAS 일반적 절차

  • RNN Controller(또는 다른 메타-모델)가 아키텍처 정의
  • “Child Model” 생성 → 학습 후 검증 정확도(또는 지표)로 평가
  • 이 결과를 보상(Reward)으로 사용 → Controller 업데이트
  • 반복하여 점점 좋은 아키텍처 발견

2. NasNet

1. 문제의식

  1. CNN이 이미지 분류에 강력하지만, 대규모 데이터셋(예: ImageNet)에 NAS를 직접 적용하기에는 연산 비용이 너무 큼
  2. 아키텍처 설계 시 사람의 개입 최소화 + 자동화 방안 필요

2. 핵심 아이디어

  1. 작은 데이터셋(CIFAR-10 등)에서 Cell 구조(Normal Cell & Reduction Cell)를 NAS로 탐색
  2. 이 Cell 구조를 큰 데이터셋(ImageNet)Transfer(전이)
  3. 정규화 기법 ScheduledDropPath 제안
    • DropPath의 확률을 학습 초기에는 작게, 후반에는 점차 크게(선형 증가) → 과적합 방지

3. NasNet Architecture

  • Normal Cell: 해상도 동일하게 유지
  • Reduction Cell: 해상도를 절반으로 줄여 계산 효율 향상
  • 이 두 셀이 번갈아 쌓인 구조로 전체 네트워크 구성

4. Search Space & Algorithm

  • Search Space(Cell 내부 블록 구성):
    1. 입력 Hidden State 선택
    2. 또 다른 Hidden State 선택
    3. 첫 번째 Hidden State에 적용할 연산 선택
    4. 두 번째 Hidden State에 적용할 연산 선택
    5. 두 결과를 어떤 방식으로 합칠지 선택(Add, Concat 등)
  • 제한된 후보 연산(예: 3×3 Conv, 5×5 Conv, 3×3 Dilated Conv 등)
  • Search Algorithm:
    • RNN Controller가 Cell 구조 정의
    • 해당 구조(Child model)를 CIFAR에서 학습 → 검증 정확도로 보상 계산
    • Policy Gradient로 Controller 업데이트

5. 성능 (결과)

  • CIFAR-10: 최소 2.4% Test Error까지 감소
  • ImageNet: 이전 모델 대비 FLOPs 28% 감소 + 정확도 최대 96.2% 달성
  • 객체 검출 등 다른 비전 작업에서도 성능 향상 시사

3. MnasNet

1. 문제의식

  1. 모바일 환경(제한된 자원)에서 대규모 데이터셋용 CNN 설계가 어려움
  2. 단순 FLOPs로 Latency(실제 지연 시간)을 근사하는 것은 한계
  3. 동일한 Cell 반복 구조(NasNet 방식) → 다양성 부족

2. 핵심 아이디어

  1. 정확도실제 지연 시간균형을 자동으로 찾는 NAS
  2. 모바일 기기에서 실측 Latency를 측정해 이를 최적화에 반영
  3. 계층적 탐색 공간(Hierarchical Search Space)
    • Layer마다 구조적으로 서로 다른 설정 가능 → 다양한 모델 탐색

3. MnasNet Architecture

  • 여러 Conv Block을 서로 달리 구성하여 쌓는 방식
  • NasNet은 Normal/Reduction Cell만 반복, MnasNet은 Block 구성이 더 다양(서로 다른 Kernel, Stride 등)

4. Search Space & Algorithm

  • Search Space(Layer 단위 Sub Space):
    • 예: Conv 종류 3개, Kernel 크기 3개 등 → 한 Layer를 구성하는 조합
  • Search Algorithm:
    1. RNN Controller가 여러 Block들을 조합 → 전체 네트워크 생성(Child)
    2. Child 모델 학습 → 정확도 & 실측 지연 시간 측정
    3. 두 지표 기반 보상(Reward) 계산 (정확도↑, Latency↓)
    4. Policy Gradient로 Controller 업데이트
    5. 반복

5. 성능 (결과)

  • MnasNet vs NASNet-A
    • MnasNet이 2.3배 더 빠르고, 정확도는 1.2% 높음 (모바일 환경)

4. 종합 리뷰

  1. NAS
    • 인간 개입 최소화로 최적 아키텍처 찾기
    • 대규모 데이터 직접 검색 시 시간·비용 부담
  2. NasNet
    • 작은 데이터(CIFAR)에서 최적화된 Cell을 찾아, 큰 데이터(ImageNet)에 전이
    • Normal/Reduction Cell 반복 구조
    • 정확도 우수 but 구조 다양성은 제한적
  3. MnasNet
    • 모바일 환경에 최적화 (정확도+실제 지연 시간 동시 고려)
    • 계층적 탐색 공간으로 다양한 Layer 설계 가능
    • 실제 디바이스 Latency 측정 → 현실적인 최적화