Learning
토픽 122 / 172·고급 학습 기법

Neural Architecture Search (NAS)

Neural Architecture Search (NAS)

신경망 아키텍처(레이어 구성, 연결, 하이퍼파라미터)를 자동으로 탐색·최적화하는 AutoML 기법으로, 강화학습, 진화 알고리즘, Gradient 기반 방법을 사용하며 EfficientNet, NASNet 등 SOTA 모델을 발견했으나 계산 비용이 매우 높음

목적: 최적 아키텍처 자동 탐색, 인간 설계 의존 탈피, SOTA 성능, 특정 제약(모바일) 최적화

특징: 자동 아키텍처 설계, 탐색 공간 정의, 강화학습·진화·Gradient 기반, 계산 비용 높음

구성요소

  • 탐색 공간(Search Space): 레이어 타입(Conv, Pooling), 연결 패턴, 채널 수, 커널 크기
  • 탐색 전략(Search Strategy): 강화학습(NAS), 진화 알고리즘(AmoebaNet), Gradient 기반(DARTS)
  • 성능 평가(Performance Estimation): 완전 학습, Early Stopping, Weight Sharing, Proxy Task
  • Controller: 아키텍처 생성(RNN), 보상 신호(정확도), 강화학습 업데이트

탐색 전략

  • 강화학습 기반(RL-NAS): Controller(RNN)가 아키텍처 생성, 학습·평가, 보상(정확도)으로 업데이트
  • 진화 알고리즘(Evolutionary): 돌연변이·교차, 적합도 평가, 세대 진화(AmoebaNet)
  • Gradient 기반(DARTS): 연속 완화(Continuous Relaxation), 아키텍처 파라미터·가중치 동시 학습, 빠름
  • One-Shot NAS: Super Network 학습, Weight Sharing, 아키텍처 샘플링·평가

대표 모델

  • NASNet(Google): 강화학습, Normal Cell + Reduction Cell, CIFAR-10 탐색→ImageNet 전이
  • EfficientNet(Google): Compound Scaling(깊이, 너비, 해상도 동시), NAS + Scaling, SOTA 효율
  • DARTS: Gradient 기반, 연속 완화, 빠른 탐색(GPU 1일), 미분 가능
  • AmoebaNet: 진화 알고리즘, 대규모 탐색(450 GPU일)
  • ProxylessNAS: 디바이스(GPU, CPU, Mobile) 맞춤 탐색, 지연시간 최적화

성능 평가 가속

  • Weight Sharing(ENAS): 모든 아키텍처가 가중치 공유, 탐색 1000배 빠름
  • Early Stopping: 낮은 Epoch로 평가, 성능 예측
  • Proxy Task: 작은 데이터셋(CIFAR-10)에서 탐색, 큰 데이터셋(ImageNet)에 전이

장점: 인간 설계 초월(SOTA), 특정 제약 최적화(모바일), 새로운 아키텍처 발견(EfficientNet)

단점: 계산 비용 매우 높음(수천 GPU일), 탐색 공간 설계 중요, 일반화 어려움, 재현성 낮음

적용사례: EfficientNet(ImageNet SOTA), MobileNet-V3(모바일), NASNet(CIFAR-10), 음성 인식

기술요소: RL Controller, DARTS(Gradient), Evolutionary Algorithm, Weight Sharing, Compound Scaling

비교: RL-NAS(강화학습) vs DARTS(Gradient, 빠름) vs Evolutionary(진화) vs One-Shot(Weight Sharing)

연관: AutoML, EfficientNet, DARTS, NASNet, Hyperparameter Optimization, Model Compression