[논문 리뷰] Neural Architecture Optimization
NAO는 아키텍처의 연속 임베딩을 인코더-예측기-디코더 트리로 학습하고, 임베딩 공간에서의 그래디언트 스텝으로 아키텍처를 최적화하여 계산량을 줄인 NAS 결과를 제시한다.
Automatic neural architecture design has shown its potential in discovering powerful neural network architectures. Existing methods, no matter based on reinforcement learning or evolutionary algorithms (EA), conduct architecture search in a discrete space, which is highly inefficient. In this paper, we propose a simple and efficient method to automatic neural architecture design based on continuous optimization. We call this new approach neural architecture optimization (NAO). There are three key components in our proposed approach: (1) An encoder embeds/maps neural network architectures into a continuous space. (2) A predictor takes the continuous representation of a network as input and predicts its accuracy. (3) A decoder maps a continuous representation of a network back to its architecture. The performance predictor and the encoder enable us to perform gradient based optimization in the continuous space to find the embedding of a new architecture with potentially better accuracy. Such a better embedding is then decoded to a network by the decoder. Experiments show that the architecture discovered by our method is very competitive for image classification task on CIFAR-10 and language modeling task on PTB, outperforming or on par with the best results of previous architecture search methods with a significantly reduction of computational resources. Specifically we obtain 1.93% test set error rate for CIFAR-10 image classification task and 56.0 test set perplexity of PTB language modeling task. Furthermore, combined with the recent proposed weight sharing mechanism, we discover powerful architecture on CIFAR-10 (with error rate 2.93%) and on PTB (with test set perplexity 56.6), with very limited computational resources (less than 10 GPU hours) for both tasks.
연구 동기 및 목표
- 자동 신경망 아키텍처 설계가 디스크리트 공간 RL/EA 방법에 비해 탐색 효율성을 개선하도록 동기를 부여한다.
- 연속 공간 NAS 프레임워크(NAO)를 제안하여 아키텍처를 임베드하고, 예측하고, 디코드한다.
- 임베딩 공간에서의 그래디언트 기반 최적화가 강력한 성능과 전이 가능한 결과를 얻을 수 있음을 보여준다.
제안 방법
- 한 층의 LSTM 인코더를 사용하여 신경망 아키텍처를 연속 임베딩으로 인코딩한다.
- dev 세트 정확도에 대해 학습된 회귀 모델로 아키텍처 성능을 예측한다.
- 어휘 문자열을 복원하기 위해 주의(attention)를 갖춘 LSTM 디코더를 사용하여 임베딩을 이산 아키텍처로 디코딩한다.
- 예측기의 출력에 대해 그래디언트 상승으로 임베딩을 최적화하여 더 나은 아키텍처를 낼 가능성이 높은 새로운 임베딩을 얻는다.
- 예측 손실과 아키텍처 재구성 손실을 결합한 다중 작업 목표로 인코더, 예측기, 디코더를 함께 학습한다.
실험 결과
연구 질문
- RQ1이산 아키텍처의 연속 임베딩이 NAS를 위한 효율적인 그래디언트 기반 최적화를 가능하게 하는가?
- RQ2인코더-예측기-디코더 트리가 CIFAR-10, PTB, 및 전이 작업에서 아키텍처의 성능을 얼마나 잘 예측하고 개선하는가?
- RQ3NAO가 이전 NAS 방법과 경쟁력 있는 결과를 내면서도 계산 자원을 줄일 수 있는가?
- RQ4발견된 아키텍처가 CIFAR-100, ImageNet과 같은 다른 데이터셋으로도 전이 가능한가?
주요 결과
| 모델 | B | N | F | #연산 | 오류(%) | 파라미터 수 | M | GPU 일수 |
|---|---|---|---|---|---|---|---|---|
| DenseNet-BC | - | 100 | 40 | 3 | 3.46 | 25.6M | / | / |
| ResNeXt-29 | - | - | - | - | 3.58 | 68.1M | / | / |
| NASNet-A | 5 | 6 | 32 | 13 | 3.41 | 3.3M | 20000 | 2000 |
| NASNet-B | 5 | 4 | N/A | 13 | 3.73 | 2.6M | 20000 | 2000 |
| NASNet-C | 5 | 4 | N/A | 13 | 3.59 | 3.1M | 20000 | 2000 |
| Hier-EA | 5 | 2 | 64 | 6 | 3.75 | 15.7M | 7000 | 300 |
| AmoebaNet-A | 5 | 6 | 36 | 10 | 3.34 | 3.2M | 20000 | 3150 |
| AmoebaNet-B | 5 | 6 | 36 | 19 | 3.37 | 2.8M | 27000 | 3150 |
| AmoebaNet-B (128) | 5 | 6 | 128 | 19 | 2.98 | 34.9M | 27000 | 3150 |
| AmoebaNet-B (128) + Cutout | 5 | 6 | 128 | 19 | 2.13 | 34.9M | 27000 | 3150 |
| PNAS | 5 | 3 | 48 | 8 | 3.41 | 3.2M | 1280 | 225 |
| ENAS | 5 | 5 | 36 | 5 | 3.54 | 4.6M | / | 0.45 |
| Random-WS | 5 | 5 | 36 | 5 | 3.92 | 3.9M | / | 0.25 |
| DARTS + Cutout | 5 | 6 | 36 | 7 | 2.83 | 4.6M | / | 4 |
| NAONet | 5 | 6 | 36 | 11 | 3.18 | 10.6M | 1000 | 200 |
| NAONet | 5 | 6 | 64 | 11 | 2.98 | 28.6M | 1000 | 200 |
| NAONet + Cutout | 5 | 6 | 36 | 11 | 2.48 | 10.6M | 1000 | 200 |
| NAONet + Cutout | 5 | 6 | 128 | 11 | 1.93 | 144.6M | 1000 | 200 |
| NAONet-WS | 5 | 5 | 36 | 5 | 3.53 | 2.5M | / | 0.3 |
| NAONet-WS + Cutout | 5 | 5 | 36 | 5 | 2.93 | 2.5M | / | 0.3 |
- NAO는 CIFAR-10(컷아웃 적용)에서 1.93%의 테스트 오류 및 PTB에서 56.0의 perplexity를 달성하여 이전 NAS 방법과 경쟁력 있거나 더 나은 성과를 보인다.
- 가중치 공유를 사용하면 NAO가 CIFAR-10에서 2.93%의 오류와 PTB에서 56.6의 perplexity를 10 GPU-시간 내에 달성한다.
- NAO를 CIFAR-100 및 ImageNet으로 전이하면 강력한 결과를 얻는다(CIFAR-100: 14.75% 오류; ImageNet Top-1: 25.7%).
- NAO+가중치 공유는 평가된 모델 수를 줄인 경우에도 경쟁력 있는 아키텍처를 찾을 수 있다(예: 표 비교에서 1000대 vs 20000대).
- 인코더는 약 500개의 학습 아키텍처로 예측기 품질에서 쌍 간 정확도 >78%를 달성하며, 디코더는 아키텍처를 거의 정확하게 재구성한다(평균 해밍 거리 < 0.5 토큰).
더 나은 연구,지금 바로 시작하세요
연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.