[Paper Review] EfficientNet : Rethinking Model Scaling for Convolutional Neural Networks

Date:     Updated:

카테고리:

태그:

Paper:
- EfficientNet : Rethinking Model Scaling for Convolutional Neural Networks


🚀 Abstract

1-1

CNN은 고정된 자원 위에서 돌아가기 때문에 더 큰 자원을 할당하고, 모델의 사이즈를 키우면 정확도가 증가한다. 따라서 높은 정확도를 위해 기존의 모델을 키운 큰 버전의 모델들이 존재한다. 보통 모델의 사이즈를 키우는 것(Scaling up)은 레이어의 깊이(depth), kernel의 갯수(width), 이미지의 크기(resolution) 등을 키우는 방식으로 이루어진다. 본 논문에서는 NAS(Neural Architecture Search)를 통해 basemodel - EfficientNet을 정하고 효율적인 scaling up method를 연구했다. 저자들이 찾은 새로운 모델과, 새로운 scaling up method를 적용한 결과 이전의 best 모델보다 작고, 빠르고, 정확한 모델을 만들었다.


🚀 EfficientNet Architecture

MBConv block EfficientNet Architecture
1-9 1-5

EfficientNet은 AotoML MNAS 프레임워크를 사용하여 개발찬 새로운 네트워크이다. 특정 디바이스를 염두해 두지 않았기 때문에 FLOPs를 기준으로 탐색을 했고, 같은 블록이 반복되는 간단한 구조이기 때문에 확장이 쉽다.


🚀 Model Scaling

main idea : Is there a principled method to scale up ConvNets that can achieve better accuracy and efficiency?

1-2


1-3

일반적으로 모델을 확장시키는 방법은 baseline 모델의 width, depth, 또는 resolution을 키우는 것을 의미한다. 원하는 정확도가 나올 때까지 모델을 확장시키면 좋겠지만, 현실적이지 않은 방법이다. Figure 3에 있는 그래프를 보면 모델이 커질수록 한 단계 더 확장시켰을 때 얻는 information gain 효율이 떨어진다. 뒤로 갈수록 더 큰 자원이 필요한데도 말이다. 따라서 효율적으로 잘 확장시키는 것이 굉장히 중요하다. 이전의 연구에서는 각 components(w, d, r)의 확장 비율을 hyperparameter로 조정했지만, 본 논문에서는 각 확장 비율들의 optimal value가 dependent하다는 것을 알았고 이를 찾아냈다. (어떻게? grid search 엄청난 노가다로…) 다만 문제를 공식화(formulation)하기 위해 모든 레이어들을 동일한 비율로 확장했다.


1-7

하나의 component만 확장시켰을 때와 저자들이 찾은 비율로 compound scaling을 했을 때 나타나는 성능 차이다. 유의미한 차이를 볼 수 있다.


🚀 Conclusion

언제나 등장하는 모델 자랑..

1-6

이 논문의 한계라면 w, d, r의 확장 비율 최적값이 모델마다 다르다는 것이다. 뿐만 아니라 optimal value를 찾는 방법이 단순한 grid search이기 때문에 다른 모델에 적용하는 것이 힘들다. 하지만 기존의 방식처럼 무작위로 모델을 확장시킬 때와 optimal ratio가 서로 dependent하다는 것을 알고 확장시키는 것은 크게 다르다. 어찌 보면 간단한 내용이지만, 중요한 지점을 짚은 논문인 것 같다.



맨 위로 이동하기

Paper 카테고리 내 다른 글 보러가기

댓글 남기기