논문 읽기/Classification

[논문 읽기] EfficientNet(2019) 리뷰, Rethinking Model Scaling for Convolutional Neural Networks

AI 꿈나무 2021. 3. 26. 17:16
반응형

 안녕하세요! 이번에 읽어볼 논문은 EfficientNet, Rethinking Model Scaling for Convolutional Neural Networks 입니다.

 

 모델의 정확도를 높일 때, 일반적으로 (1) 모델의 깊이, (2) 너비, (3) 입력 이미지의 크기를 조절합니다. 기존에는 이 세 가지를 수동으로 조절하였기 때문에, 최적의 성능과 효율을 얻지 못했습니다. EfficientNet은 3가지를 효율적으로 조절할 수 있는 compound scaling 방법을 제안합니다. 깊이, 너비, 입력 이미지 크기가 일정한 관계가 있다는 것을 실험적으로 찾아내고, 이 관계를 수식으로 만듭니다. Compound scaling 방법으로 NAS(neural architecture search) 구조를 수정하여 SOTA를 달성합니다. ResNet이나 MobileNet등 CNN 기반 구조에도 효과가 있다고 하네요.

 

 

Model Scaling

 일반적으로 모델을 Scaling하는 방법은 (b)너비, (c)깊이, (d)입력 해상도를 조절하는 것입니다.

 

(a) baseline에서 입력값은 각 레이어 함수(f)를 거쳐서 최종 출력값을 생성합니다. 이를 수식으로 표현하면 다음과 같습니다.

 입력값 X가 각 레이어의 함수 F()연산을 거쳐서 출력값 N이 생성됩니다. 이를 일반화하면 다음과 같습니다.

 여기에서, 각 레이어에서 수행하는 연산(F)를 고정하고, 레이어수, 채널 수, 입력 이미지 크기에만 집중하여 search space가 감소합니다.

 위 수식을 보면 w, d, r 상수가 생겼네요. 이 상수들의 관계를 연구한 것이 EfficientNet 입니다.

 

 

 w(너비), d(깊이), r(입력 해상도)에 따른 정확도 값입니다. 그림을 보면 w, d, r이 일정 값 이상이 되면 정확도가 빠르게 saturate 합니다. 그리고, w, d, r이 낮을 때는 약간만 값을 조절해도 효과가 크네요. w, d, r 중 하나만 조절하는 것보다 d와 r을 함께 조절하여 최고의 효율을 찾아내는 것이 Compound Scailing 입니다.

 

Compound Scailing

 $\alpha, \beta, \gamma$는 small grid search로 결정되는 상수입니다. 그리고, $\phi$는 주어진 연산량에 따라 사용자가 결정하는 상수입니다. FLOPs는 너비와 해상도에 따라 제곱배가 상승합니다. 너비를 2배 키우면 FLOPs는 4배가 증가하는 것입니다. 따라서 FLOPs는 $(\alpha \cdot \beta^2 \cdot \gamma^2)^2$ 배 만큼 증가합니다. 논문에서는 $\alpha \cdot \beta^2 \cdot \gamma^2 = 2$로 제한합니다. 제한된 범위에서 $\alpha, \beta, \gamma$를 찾는 것입니다. 총 FLOPs는 $2^{\phi}$ 만큼 증가합니다.

 

 Compound Scailing은 아래와 같은 과정으로 진행합니다.

 

 ResNet과 MobileNet을 Compound Scailing했을 때의 결과입니다.

 

 EfficientNet의 너비, 깊이, 입력 해상도를 하나만 조절했을 때와 compound scaling을 했을 때의 성능 비교입니다.

 동일한 연산량을 갖으면서 Compound Scale이 성능이 제일 좋네요.

 

EfficientNet Architecture

 EfficientNet은 MnasNet과 동일한 search space를 사용해서 찾은 구조입니다. 따라서 MnasNet 구조와 비슷합니다. MnasNet 구조는 아래 그림과 같습니다.

MnasNet 구조

 아래는 EfficientNet 구조입니다. MBConv는 MnasNet에서 사용하는 Conv 구조입니다.

 

Performance

 ImageNet 데이터셋에서 성능입니다.

 

 FLOPs와 정확도를 비교한 그림입니다.

반응형