NASNet 모델의 논문 이름은 Learning Transferable Architectures for Scalable Image Recognition다. (링크)
저자는 Barret Zoph, Vijay Vasudevan, Jonathon Shlens, Quoc V. Le다.
MobileNet v3랑 EfficientNet v2에서 소개되었길래 살펴보게 된 논문으로 최적의 CNN 구조를 탐색하는 방법론이다.
Abstract
CNN을 이용한 이미지 분류 모델의 개발은 상당한 아키텍처 엔지 상당한 아키텍처 엔지니어링이 필요한 경우가 많다. 본 논문에서는 관심 데이터셋에 대해서 모델의 아키텍처를 직접 학습하는 방법을 연구한다. 데이터셋이 클 경우 비용이 많이 들기 때문에, 작은 데이터셋에서 아키텍처 구성 요소를 검색한 후 더 큰 데이터셋으로 transfer 이전하는 방법을 제안한다. 이 연구의 핵심은 transferability 이전성을 가능하게 하는 새로운 Search Space 검색 공간인 NASNet search space의 설계에 있다. 저자들은 실험에할 때 CIFAR-10 데이터셋에서 best conv layers를 (또는 cell)을 검색한 후, 이 셀을 ImageNet 데이터셋에 적용한다. 각 셀마다 their own parameters 고유한 매개변수를 갖는 복사본을 더 쌓아 Convonlutional architecture를 설계하며, 이를 NASNet 아키텍처라고 명명한다. 또한 NASNet 모델의 일반화를 크게 향상시키는 ScheduledDropPath라는 새로운 정규화 기법을 도입한다. CIFAR-10 데이터에 대한 NASNet은 그 자체로 2.4%의 error rate 오류율을 달성하는데, 이는 SOTA 성능이다. ImageNet에서 해당 셀을 직접 검색하지는 않지만, 최상의 셀로 구성된 NASNet은 ImageNet 데이터셋에서 82.7%의 Top-1 accuracy 정확도와 96.2%의 Top-5 정확도를 달성했다. 기존의 모델들 보다 Top-1 정확도가 1.2% 더 높았으며, FLOPS는 90억 개 더 적었다. 이는 이전 SOTA 보다 계산량이 28% 감소한 수치다.
NASNet의 소형 버전도 74%의 Top-1 정확도를 달성했는데, 이는 모바일 플랫폼용의 크기가 동일한 SOTA 모델 보다 3.1% 더 높은 수치다. 이미지 분류에서 학습된 이미지 특징은 일반적으로 유용하기에 다른 컴퓨터 비전 문제에도 적용될 수 있다. Object detection 객체 감지 태스크에서 NASNet을 Faster-RCNN 프레임워크와 함께 사용하여 학습한 피쳐는 SOTA를 4.0% 능가하여 COCO 데이터 셋에서 43.1%의 mAP를 달성했다.
3. Method
우수한 CNN 구조를 검색이 목표다. 이때 목표 달성을 위해 사용한 주요 검색 방법은 Neural architecture search with reinforcemenr learning (링크) 논문에서 제시한 Neural Architecture Search (NAS) framework다. NAS에서는 controller recurrent neural network (RNN)이 서로 다른 구조를 지닌 child networks 자식 네트워크를 샘플링한다. Held-out validation에 대해서 특정한 accuracy 정확도로 수렴할 때 까지 훈련한다. 결과 정확도는 컨트롤러에 업데이트 되며 이로 인해 컨트롤러는 시간이 지나면서 점점 더 나은 아키텍처를 생성하게 된다. 컨트롤러의 weights 가중치는 policy gradient를 통해서 업데이트 된다.

The main contribution 주된 기여는 새로운 검색 공간의 설계를 통해서 CIFAR-10에 대해서 더 크고 고해상도의 이미지 데이터 셋에 적용 가능하게 했다는 점이다. 이러한 검색 공간을 저자들은 NASNet search space라고 명명하며, 최적의 아키텍처인 NASNet을 발견했다. NASNet search space에 대한 영감 중 하나는 아키텍처 엔지니어링에서 CNN은 convolutional filter banks, nonlinearities, 그리고 prudent 신중한 connections에 대한 선택 (Inception이나 ResNet 같은 반복되는 모듈들)의 조합들의 모티프를 구별할 수 있다는 점이다. 이런 관찰은 controller RNN이 포괄적인 convolutioncal cell을 모티프의 측면에서 예측이 가능함을 제시한다. 임의의 spatial dimensions와 filter depths의 입력에 대해서 이러한 셀들을 연속적으로 쌓을 수 있다
본 논문에서는 전반적인 CNN의 아키텍처는 수작업으로 사전에 결정된다. 동일한 구조를 가지지만 서로 다른 weights를 갖는 convolutional cells의 반복으로 이루어진다. (아래의 Figure 2 참조.) 임의의 크기를 가진 이미지에 대해서 확장가능한 아키텍처를 구성하기 위해서 두 가지 컨볼루션 셀들이 필요하다. (1) 동일한 차원을 갖는 feature map을 반환한다. (2) Height와 width가 절반으로 축소된 feature map을 반환한다. 첫 번째 종류를 Normal Cell로, 두 번쨰를 Reduction Cell이라 부른다. Reduction Cell의 경우 맨 처음 연산의 경우 셀의 입력에 대해서 stride를 2로 설정하여 height와 width를 줄인다. 다른 컨볼루션 셀의 경우 stride을 선택할 수 있다.

Figure 2는 ImageNet와 CIFAR-10에 대한 Normal과 Reduction Cell의 배치를 보여준다. ImageNet은 299x299의 이미지 사이즈를 가지므로, 32x32인 CIFAR에 비해서 더 많은 수의 Reduction Cell을 가진다. Reduction Cell와 Normal Cell이 같은 구조일 수도 있지만 실험에 의해서 서로 다른 구조를 갖는 편이 더 유익함을 발견했다. Spatial activation size가 절반씩 줄어드는데 filter의 수를 2배씩 늘려줌으로써, 전반적인 hidden size를 일정하게 유지한다. 모티브의 반복 수인 $N$과 초기의 컨볼루션 필터 수를 자유로운 파라미터로 설정해서 이미지 분류 문제의 규모에 맞게 조절 가능하도록 만들었다.

컨볼루션 네트워크에서 변동하는 점은 controller RNN에 의해 검색되는 Noramal and Reduction Cells의 구조다. Appendix의 Figure 7에서 제시되는 search space에 의해서 cells의 구조가 검색될 수 있다. 검색 공간에서 각각의 셀은 two initial hidden states $h_i$와 $h_{i-1}$을 입력으로 받는다. 이는 이전의 두개의 lower layers의 출력이거나 input images다. Figure 3에서 제시된 바와 같이 Controller RNN은 주어진 두 개의 hidden states를 기반으로 재귀적으로 남은 컨볼루션 셀의 구조를 예측한다. 각각의 셀에서 컨트롤러가 예측한 내역들은 $B$ blocks로 그룹화된다. 각각의 블록은 5 단계의 예측 단계를 거쳐 생성되며, 5개의 서로 다른 softmax classifiers가 각 블록의 elements에 대해서 이산적인 선택을 수행한다.
Step 1. Select a hidden state from h i , h i−1 or from the set of hidden states created in previous blocks.
Step 2. Select a second hidden state from the same options as in Step 1.
Step 3. Select an operation to apply to the hidden state selected in Step 1.
Step 4. Select an operation to apply to the hidden state selected in Step 2.
Step 5. Select a method to combine the outputs of Step 3 and 4 to create a new hidden state.
알고리즘에 의해 새로 생성된 hidden state는 현재 존재하는 hidden states의 집합에 덧붙여지며 sub-sequent blocks의 잠재적인 입력이 된다. 컨트롤러 RNN은 5 단계의 예측을 $B$번 반복한다. 이는 하나의 컨볼루션 셀 안에서 $B$개 그룹의 블록 수와 같다. 저자들은 $B = 5$로 설정하여 좋은 결과를 생성했지만 컴퓨터 계산 상의 한계로 인해서 철저하게 해당 $B$를 탐색하지는 못했다고 한다.

Steps 3과 4에서 컨트롤러 RNN은 hidden states에 적용할 연산을 선택한다. 저자들은 기존의 CNN 문헌들에서 널리 쓰이는 연산들을 모아서 구성했는데 그 목록은 다음과 같다.
• identity
• 1x3 then 3x1 convolution
• 1x7 then 7x1 convolution
• 3x3 dilated convolution
• 3x3 average pooling
• 3x3 max pooling
• 5x5 max pooling
• 7x7 max pooling
• 1x1 convolution
• 3x3 convolution
• 3x3 depthwise-separable conv
• 5x5 depthwise-seperable conv
• 7x7 depthwise-separable conv
Step 5에서 RNN은 두 개의 hidden states를 결합할 방법을 선택한다.
(1) element-wise addition between two hidden states
(2) concatenation between two hidden states along the filter dimenstion
마지막으로 컨볼루션 셀에서 생성되었으나 사용되지 않은 hidden states는 함께 depth레벨에서 concatenated 되어서 최종 셀의 출력을 생성한다.
컨트롤러 RNN가 Normal와 Reduction Cell을 모두 예측하게 하기 위해서 저자들은 컨트롤러가 2 x 5 $B$개를 예측하도록 만들었다. 처음 5$B$개의 예측은 Normal Cells를, 나머지 5$B$ 예측은 Reduction Cells의 몫이다.
NAS (Neural architecture search with reinforcemenr learning (링크)) 논문에서 제시된 강화 학습을 사용하기 때문에 NASNet search space의 구조를 탐색하기 위한 random search도 가능하다. 컨트롤러 RNN의 softmax classifier에서 유래한 sampling decisions 대신에 uniform distribution에서 decisions를 샘플링했다. 저자들은 CIFAR-10 데이터에 대한 실험을 통해서 random search가 강화 학습보다 살짝 더 낮은 성능임을 발견했다. 강화학습과의 성능 격차가 심하지 않다는 의미다. 이 결과는 두 가지를 제시하는데, 1) NASNet search space가 well-constructed라서 random search로 합리적으로 잘 작동한다. 2) random search는 이기기 어려운 베이스라인이다. 이 결과는 Section 4.4.에서 자세하게 소개한다.
4. Experiments and Results
CIFAR-10 classification에서 컨트롤러 RNN은 Proximal Policy Optimization (PPO)를 활용해서 학습했다. Global workqueue system을 배치해서 RNN에 의해 제어되는 child networks의 pool을 생성한다. Workqueue는 총 500개의 GPU를 사용했다.
자세한 내용은 Appendix A에 제시되었다. NASNets의 학습에서 중요한 부분 중 하나는 DropPath를 수정한 ScheduledDropPath다. 이를 통해서 효과적으로 NASNet에 대해서 regulaization을 수행할 수 있었다.
저자들이 찾은 최상의 NASNet 3가지를 각각 NASNet-A, NASNet-B, NASNet-C라고 부른다. NASNet-A의 구조는 아래 Figure 4와 같다.

4.1. Results on CIFAR-10 Image Classification

NASNet-A가 베스트 모델이다.
4.2. Results on ImageNet Image Classification


여기서도 NASNet-A가 베스트 모델이다.
4.3. Improved Features for Object Detection

COCO 데이터에 대한 object dection 결과도 NASNet-A가 베스트 모델이다.
NASNet-B와 NASNet-C 모델의 아키텍처


여담
LLM의 RLHF의 PPO를 여기서 다시 보게 되어 반가웠다.
공부한 내용이 이렇게 다른 분야에서도 보이면 신기하다.
'Computer Vision' 카테고리의 다른 글
| BEiT (2022) 논문 리뷰 (0) | 2025.05.03 |
|---|---|
| MLP-Mixer (2021) 논문 리뷰 (0) | 2025.05.03 |
| EfficientNetV2 (2021) 논문 리뷰 (0) | 2025.04.28 |
| MobileNet V3 (2019) 논문 리뷰 (0) | 2025.04.28 |
| Xception (2016) 논문 리뷰 (0) | 2025.04.28 |