쉽게 이해하기
NAS는 AI가 스스로 AI 구조를 설계하는 기술입니다. 사람이 신경망 레이어 수, 연결 방식을 수작업으로 설계하던 것을 자동화합니다. 비유하자면, 건물 설계를 사람 건축가 대신 AI가 수천 가지 설계도를 시뮬레이션하며 최적을 찾는 것입니다. Google의 AmoebaNet, EfficientNet이 NAS로 발견되었으며, 모바일 환경에 최적화된 MobileNetV3도 NAS의 산물입니다.
기술 심층 분석
-
탐색 공간(Search Space): 레이어 타입(Conv/Pool/Skip), 커널 크기, 채널 수, 연결 패턴
-
탐색 전략:
- 강화학습 기반 (RL-NAS): 컨트롤러 RNN이 아키텍처 토큰 생성, child network 성능으로 보상
J(θc)=Ea1:T∼πθ[R]
- 진화 알고리즘: 돌연변이+교배로 세대 진화 (AmoebaNet)
- One-shot/Weight Sharing (DARTS): 모든 후보 연산을 소프트맥스 가중합으로 표현, 연속 완화:
oˉ(i,j)(x)=∑o∈O∑o′exp(αo′(i,j))exp(αo(i,j))o(x)
학습 후 가장 높은 α의 연산 선택
-
성능 예측기(Performance Predictor): 학습 곡선 외삽, 제로샷 프록시(SNIP, GradNorm)로 학습 없이 아키텍처 평가
-
하드웨어 인식 NAS: 정확도 + 지연시간(latency) 동시 최적화
score=ACC×(TmeasuredTtarget)w
-
변형: ProxylessNAS, MNasNet, FBNet, Once-for-All (OFA)
Footnotes