ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks (2019, ICML)
    Paper review/WPPP 논문 간단 리뷰 2022. 7. 9. 00:18

    2021년 2월 2주차 덕중 논문 1번

    Title : EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks (2019, ICML)
     
    Task : Image classification
     
    Dataset : ImageNet, COCO detection benchmark dataset
     
    Contribution :
    resnet 이후 deep learning method들은 주로 경량화나 NAS 계열의 method들이 많이 연구되고 있는데, 이 논문은 NAS계열의 method로 model에서 depth, width, image resolution를 동시에 고려해서 구조를 찾는 model을 제안하였다
     
    • depth, width, image resolution의 dim을 기존에는 scale up하는데 있어 어려움이 많았고 주로 하나씩 scale하는 방향으로 연구되고 있었는데, [ex)depth(resnet)/width(WideResNet, MobileNets)] EfficientNet은 width, depth, resolution을 각 scaling coefficient을 만들고, 그 세개의 계수 값들을 제약조건을 걸어서 동시에 세 개 dim의 scale을 수행하여 다른 method보다 비슷하거나 우수한 성능을 보일 수 있었다.
     
    Model :
     
    가장 오른쪽에 있는 구조가 논문에서 제시한 EfficientNet 이며, resolution, depth, width를 동시에 고려하는 것을 알 수 있다
     
    accuracy를 높이는 방법으로 scaling up된 convnet을 널리 사용중인데, 대표적으로는 resnet, GPipe등의 방법들이 있고, 현재 scaling 하는 방법으로는 depth, width, image size를 고려하는 방식들이 있다. 그러나 앞의 세 가지중 주로 한 가지의 dim을 임의적으로 scaling하게 되는데 정말 지루한 작업이라고 할 수 있다.
     
    그래서 이 논문에서는 동시에 3개의 dim을 고려하면서 효율적으로 scaling up을 하는 method를 제시하는데 그것이 바로
    compound scaling method이며, 이 논문의 핵심이라고 할 수 있다
     
    우선 model scaling up의 최적화 문제는 다음과 같다
    acc를 최대화 하면서 memory와 FLOPs 크기를 제약조건으로 설정한 것을 볼 수 있다.
     
    • w, d, r : width, depth, resolution의 scaling coefficient
    논문에서 제시한 compound scale method는 다음과 같다
    계수의 제약조건으로 s.t. α · β^2· γ^2 ≈ 2, α ≥ 1, β ≥ 1, γ ≥ 1 설정하는데, β와 γ가 제곱이 되어있는 이유는 depth는 2배 커질때 FLOP도 비례하여 2배 증가하지만 width와 resolution은 제곱배로 커지기 때문이다.
     
    그리고 compound scaling method는 two step으로 진행된다
    step1은 φ를 1로 fix하여 best value를 찾아내는데, α=1.2, β=1.1, γ = 1.15로 설정되었고, 이 옵션이 바로 EfficientNet-B0 model이다.
    이후 step2는 반대로 step에서 나온 α, β, γ를 fix하고 φ를 scaling up하여 B1-B7까지의 model을 얻었다고 한다.
     
    direct하게 α, β, γ를 scaling up해도 좋은 성능을 보일 수는 있지만, cost문제로 위와 같은 방법을 택했다고 한다
     
    result :
     
     
    comment : 2016,2017년 까지는 deep learning method들이 주로 resnet기반의 model들이 등장했다면, 그 이후로는 성능을 위주로 접근하는 방법과 성능은 어느정도 준수하게만 만들어두고 효율성에 초점을 둔 방법들로 나뉘는것 같습니다. 예를 들어 Mobilenet이나 shufflenet들이 있었고, 위 논문과 다른 접근으로 연구되는 경량화 방법(pruning, model compression)들도 많았습니다. 그리고 nasnet 계열로 직접 사람이 구조를 찾는것이 아니라 구조 또한 search를 통해 일종의 autoML의 방법으로도 많은 연구가 되고 있는데, medical 분야에서는 아직 적용이 잘 안된것 같았고, 현재 project에 적용을 해볼겸 보게 된 논문이었습니다.

     

    댓글

Designed by Tistory.