2023. 11. 4. 09:50ㆍEfficientNet
♣ 개념
적은 파라미터 대비 압도적인 성능이 특징인 모델
모델 성능 = resolution*depth*width(= 이미지 크기*네트워크의 깊이*필터 수)
기존에는 위의 세 가지 요소를 수동으로 조절했지만, 깊이와 필터 수, 이미지 크기가 일정한 관계가 있다는 것을 알고 수식으로 만듦(=compound scaling)
EfficientNet은 compound scaling이 가장 잘 적용되는 모델구조임.
EfficientNet이 다른 모델과 비교했을 때 보다 높은 정확도와 적은 파라미터를 가지고 있음. compound scaling 덕분
왼쪽부터 시작해서 baseline, 필터 수만 스케일링, 네트워크 깊이만 스케일링, 이미지 크기만 스케일링, 세 가지를 모두 조절한 compound scaling을 나타냄.
EfficientNet에서 사용한 것이 바로 compound scaling임
위의 그래프를 보면 필터 수나 깊이를 늘리면 성능이 향상됨. 하지만 일정 수준을 넘어가면(80%) 향상도가 급격히 줄어듦
이미지 크기 증가도 약간씩 성능 향상이 보임.
Width(w)
- width를 조절하는 것은 주로 작은 모델에서 사용
- wider network는 학습 과정에서 세밀한 특징을 잘 잡아내는 경향이 있음
- 하지만 극단적으로 넓지만 얕은 모델은 더 높은 수준의 특징을 포착하기 어려움
- Figure 3의 제일 왼쪽 그래프를 보면 width가 3.8에서 5.0으로 증가했음에도 accuracy는 큰 차이 없는 것을 볼 수 있음
Depth(d)
- ConvNet에서 가장 일반적으로 사용하는 scaling
- 깊은 모델에서는 vanishing gradient 문제로 학습 어려움
- skip connection, batch normalization 방법이 해결책이 될 수 있지만 매우 깊은 모델에서는 효과 없음
(ex. ResNet-1000은 ResNet-101보다 훨씬 많은 layer를 가지고 있지만 비슷한 accuracy를 가짐) - Figure 3의 가운데 그래프를 보면 depth=8의 경우 accuracy가 오히려 떨어지는 것을 볼 수 있음
Resolution(r)
- 고해상도 이미지일수록 세밀한 패턴을 잘 잡아냄
- 초기에는 224*224를 사용했지만 최근에는 600*600을 사용하는 모델도 있음
- Figure 3의 제일 오른쪽 그래프를 보면 width와 비슷하게 어느순간부터는 accuracy의 큰 상승 없이 FLOPS만 늘어나는 것을 볼 수 있음
♣ 구조
논문에서 제안한 width, depth, resolution, dropout_rate
EfficientNet의 성능 비교
♣ 참고 자료
EfficientNet
https://lcyking.tistory.com/85
[딥러닝] EfficientNet 모델의 개요 및 특징
개요 네트워크의 깊이(Depth), 필터 수(Width), 이미지 Resolution 크기를 최적으로 조합하여 모델 성능 극대화하는 것입니다. 기존에는 이 세 가지를 수동으로 조절하였지만, compound scaling방법을 연구
lcyking.tistory.com
EfficientNet
[논문리뷰] EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks, 2019 & 간단한 실습코드
선행논문 : ResNet > MobileNet > SENet
blog.kubwa.co.kr
'EfficientNet' 카테고리의 다른 글
흉부 엑스선 기반 폐렴 진단(pytorch 사용) (1) | 2023.11.18 |
---|---|
Plant Pathology 2020 (0) | 2023.11.03 |