EifficientNet에 대하여

노태경·2022년 11월 3일
0

Rethinking Model Scaling for Convolutional Neural Networks

모델 성능을 높이기 위해 필요한 조합을 효율적으로 만들 수 있도록 하는 compound scaling 방법을 제안하며 이를 통해 더 작은 크기의 모델로도 SOTA를 달성한 논문

모델 성능을 높이기 위해서는?

  • network의 depth를 깊게 만드는 것
  • channel width(filter 개수)를 늘리는 것(width가 넓을수록 미세한 정보가 많이 담아짐)
  • input image의 해상도를 올리는 것

모델 성능을 높이기 위해 KeyPoint

Depth

  • 네트워크의 깊이가 증가할수록 모델의 capacity가 커지고 더 복잡한 feature를 잡아낼 수 있지만 vanishing geadient의 문제로 학습 시키기가 더 어려움
  • 해결하기 위해 Batch Norm, Residual Connection 여러 기법이 등장함

Width

  • 각 레이어의 width를 키우면 정확도가 높아지지만 계산량이 제곱에 비례하여 증가함

Resolution

  • 입력 이미지의 해상도를 키우면 더 세부적인 feature를 학습할 수 있어 정확도가 높아지지만 마찬가지로 계산량이 제곱에 비례해 증가함

복합 모델 스케일링(compound scaling method) 사용하여 CNN을 확장하는 방법

  • 네트워크 스케일링의 영향을 이해하기 위해 모델의 다른 차원 스케일링의 영향을 체계적으로 연구
  • 개별 차원의 크기를 조정하면 모델 성능이 향상 되지만 가용 리소스에 대한 네트워크의 모든 차원(폭, 깊이 및 이미지 해상도)의 균형을 조정하면 전체 성능이 가장 향상됨

복합 모델 스케일링(compound scaling method) 방법은?

  • 그리드 검색을 수행하여 고정된 리소스 제약 조건에서 기준 네트워크의 다양한 스케일링 dimensions 사이의 관계를 찾는 것
  • 각 차원에 대한 적절한 스케일링 coefficients를 결정함
    • 적용 시 기준 네트워크를 원하는 대상 모델 크기 또는 계산 예산으로 확장함
  • 단일 차원을 임의의 크기로 조정하는 기존의 스케일링 방법 b,d 달리 복합 스케일링 방법은 원칙적으로 모든 차원을 균일하게 확장함

참조

https://jetsonaicar.tistory.com/65
https://leather-pedestrian-89b.notion.site/EifficientNet-7807deaf5201483f97b01caf24fe6ab3

0개의 댓글