[P] Week 10 - Efficiency

JaeJun Lee ·2022년 11월 21일
0

부스트캠프 AI Tech

목록 보기
30/30

EfficientNet

ImageNet 챌린지 이후 Deep learning model들이 크고 복잡해지고 있지만 어느 순간부터 레이어를 깊게만 쌓으면 성능 개선은 크게 이루어지지 않고 모델은 커져 속도는 느려지게 된다. 점점 빠르고 작은 모델에 대한 요구가 증가하고 있고 효율성과 정확도의 trade-off를 통해 모델 사이즈를 줄이는 것이 일반적이다.

이 문제를 개선하기 위해 모델의 깊이 이외에도 폭, 해상도 차원에서 compound 스케일링을 통해 균형을 맞추기 위한 EfficientNet이 제안되었다.

  • Width Scaling
    • 네트워크의 width를 스케일링하는 방법은 작은 모델에서 주로 사용되었다
    • 더 wide한 네트워크는 미세한 특징을 잘 잡아내는 경향이 있고 학습이 쉽다
    • 극단적으로 넓지만 얕은 모델은 high-level 특징들을 잘 잡지 못하는 경향이 있다
  • Depth Scaling
    • 네트워크의 depth를 스케일링하는 방법은 많은 ConvNet에서 쓰이는 방법이다
    • 깊은 ConvNet은 더 풍부하고 복잡한 특징들을 잡아낼 수 있고 새로운 task에도 잘 일반화된다
    • 하지만 깊은 네트워크는 gradient vanishing 문제가 있어 학습이 어렵다
  • Resolution Scaling
    • 고화질의 input 이미지를 이용하면 ConvNet은 미세한 패턴을 잘 잡아낼 수 있다
    • 예로 Gpipe는 480x480 이미지를 이용한다

네트워크의 폭, 깊이, 해상도를 키우면 정확도가 향상되지만 더 큰 모델에 대해서는 정확도 향상 정도가 감소하기 때문에 더 나은 정확도와 효율성을 위해서는 이 요인들의 균형을 잘 맞추는 것이 중요하다. 이를 위해 제안된 방법은 다음과 같고 각 α,β,γ\alpha,\,\beta,\,\gamma는 small grid search를 사용해 찾고 상수로 고정하였다.

EfficientDet

Object Detection에도 Efficiency를 위해 Compound Scaling을 적용한 1 stage detector로 EfficientDet이 제안되었다.

대부분의 기존 연구들은 Neck을 사용하지만 Upsampling, 1x1 convolution을 사용해 feature maps을 resolution 구분 없이 summation하거나 backbone과 image resolution을 크게 하는 방향으로 진행되었다.

EfficientDet에서는 여러 feature map을 가중합하는 multi-scale feature fusion과 α,β,γ\alpha,\,\beta,\,\gamma를 조절하기 위해 model scaling을 사용하는 방식을 제안해 accuracy와 efficiency를 향상시켰다.

0개의 댓글