EfficientNet과 마찬가지로 EfficientDet은 모델 사이즈를 최소화하고 성능을 최대화하는 효율성에 초점을 맞춘 object detection 모델이다. 이 논문은 EfficientNetbackbone 네트워크로 사용하였고 bi-directional feature pyramid network (BiFPN)을 이용하여 특징을 쉽고 빠르게 융합하는 방식을 제안하였다. 기존의 object detectorregion-of-interest proposal 단계를 가지는지 여부에 따라 two-stage 방식과 one-stage 방식으로 구분되었다. Two-stage detector가 더 정확하고 유연한 반면, one-stage detector는 사전에 정의된 anchor를 이용하여 간단하며 효과적인 방식으로 detection을 수행한다. Object detection에서 어려운 점 중에 하나는 상황에 따라 object의 크기가 달라지는 것을 고려해야 한다는 점이다. 따라서 멀티-스케일링 기법이 중요하며, feature pyramid network (FPN)을 시작으로 multi-scale feature를 합치는 방법이 연구되고 있다. M2det은 특징 합성을 위한 U-shape 모듈을 사용하였고, G-FRNet은 특징 정보를 컨트롤하기 위한 gate units을 도입하였다. 더 나은 성능을 얻기 위해, 베이스라인 detector의 스케일을 키우는 방식을 많이 사용하며 backbone 네트워크로 ResNet, ResNeXt, AmoebaNet을 사용하기도 한다.

아래의 그림은 EfficientDet의 전체적인 구조로, 전체적으로 one-stage detector의 패러다임을 따르고 있다. Backbone 네트워크인 EfficientNetlevel 3-7 features {P3, P4,P5,P6,P7} 를 추출하여 top-downbottom-up 양방향으로 특징 융합을 수행한다. 융합된 특징은 class/box 예측 네트워크로 전달되어 객체의 클래스와 바운딩 박스를 예측한다.

Figure 5. EfficientDet architecture

 

정확도와 효율성의 trade off를 최적화하는 baseline 모델을 선택하는 것은 매우 중요하다. 기존 연구는 ResNeXtAmoebaNet를 기반으로 큰 이미지를 대상으로 했다. 이러한 방법은 하나의 스케일링 차원에만 집중하기 때문에 효율적이지 못하다. 이러한 문제를 해결하기 위해. EfficientDetEfficientNet과 마찬가지로 효율적인 compound scaling 방식을 사용하였다. BiFPN을 구성할 때, 채널의 수는 지수적으로 증가시키고 레이어의 수는 선형적으로 증가시켰다.

Wbifpn=64∙1.35,  Dbifpn=2+

Feature level3-7 layerBiFPN이 사용되므로, 입력 이미지의 해상도를 27 로 나눠야 하며 해상도를 선형적으로 증가시키기위해 다음과 같음 방식으로 해상도를 결정하였다.

Rinput=512+∅∙128

Object locationclass를 예측하는 네트워크도 compound coefficient를 사용한다. 그 중 너비(width)BiFPN과 동일하고 (Wpred=Wbifpn ), 레이어 수는 다음과 같은 방식으로 결정한다.

Dbox=Dclass=3+∅∙128

위의 식에서 compound coefficient 에 따라 EfficientDet-D0(∅=0 ) 부터 D6(∅=6) 까지 정리한 결과는 다음의 표와 같다.

Table 2. Scaling configs for EfficientDet D0-D7

 

아래의 표에서 #Params와 #FLOPS는 모델 파라미터와 연산의 수를 나타낸다. LAT는 배치 크기가 1일때의 의 추론 지연 시간을 나타내고, AA는 autoaugmentation 을 의미한다. EfficientDet은 mAP 성능이 유사한 object detection 모델과 비교하여 파라미터 수와 필요 연산량이 훨씬 적은 것을 확인할 수 있다. 따라서, 추론 속도도 동일 성능의 다른 모델에 비해 2배 가량 빠르다.

Table 3. EfficientDet performance on COCO

 

결론적으로, EfficientDet은 복합 스케일링 (compound scaling) 기법을 이용하여 효율적으로 성능을 향상시키고 #Params#FLOPS를 줄였다. Object detection 모델을 이용한 좌표 보정 알고리즘에서도 EfficientDet을 사용하여 부품의 위치와 레이블을 추론함으로써, 기존 detector 보다 정확도와 처리속도를 향상시킬 수 있었다.

Figure 5. Model FLOPS vs. COCO Accuracy

[참조] TAN, Mingxing; PANG, Ruoming; LE, Quoc V, “Efficientdet: Scalable and efficient object detection.” arXiv preprint arXiv:1911.09070, 2019.

EfficientNet 논문은 ConvNets의 스케일을 높이는 기존 접근법을 다시 한번 짚고 넘어가자는 의미의 ‘Rethinking’을 논문의 타이틀로 사용하였다. 이 논문은 기존 ConvNets들이 성능을 향상시키기 위해 사용한 방법들을 구분하여 소개하고, 성능을 향상시키면서 모델 연산량을 최대화하는 효율적인 ConvNets을 제안한다.

2012년 AlexNet (Krizhevsky et al., 2012)을 시작으로 ImageNet 대회에서 정확도는 큰 폭으로 향상되었다. GoogleNet (Szegedy et al., 2015)는 6.8M의 파라미터 수를 가진 모델로 74.8%의 top-1 accuracy를 달성했으며, SENet (Hu et al., 2018)은 145M의 파라미터 수를 가진 모델로 82.7%의 top-1 accuracy를 달성했다. GPipe (Huang et al., 2019)는 557M의 파라미터 수를 가진 모델로 84.3%의 top-1 accuracy를 달성했다. 일반적으로 대부분의 어플리케이션에서는 정확도가 가장 중요하지만, 메모리의 한계도 존재하기 때문에 앞으로 높은 성능을 얻기 위해서는 효율성도 반드시 고려해야한다.

효율을 향상시킨 ConvNets은 SqueezeNet(Iandola et al., 2016; Gholami et al., 2018), MobileNets (Howard et al., 2017; Sandler et al., 2018), ShuffleNets (Zhang et al., 2018; Ma et al., 2018)이 있다. 효율적인 네트워크 구조에 대한 연구로 네트워크의 너비, 깊이, 커널 사이즈의 튜닝을 통한 효율성을 향상시킨 모델이 등장하였고, ResNet (He et al., 2016)은 네트워크의 깊이(#layer)를 조절한 ResNet-18, ResNet-200를 발표하였다. 반면, 너비(#channels)를 조절하여 스케일링한 WideResNet (Zagoruyko & Komodakis, 2016)MobileNets (Howard et al., 2017)은 더 큰 사이즈의 이미지를 활용하여 성능을 향상시킨 모델이다.

Figure 1. Model Scaling

 

EfficientNet은 이러한 모델 스케일링 기법을 중점적으로 다뤄 새로운 스케일링 기법을 제안한다. 우선, 깊이(depth)를 증가시키는 방법은 많은 ConvNets에서 사용되었다. 레이어 수가 많아질수록 ConvNet은 더 다양하고 복잡한 특징을 잡아낼 수 있고, 새로운 이미지에 대한 일반화 성능도 좋아진다. 하지만 레이어 수가 많아질수록 기울기 소실 등의 문제로 학습이 어려워지는 문제가 발생한다. 너비(width)를 스케일하는 방법은 작은 사이즈의 모델에 주로 사용되며, 너비의 확장은 더욱 미세한 특징을 잡아낼 수 있고 네트워크 학습을 쉽게 만든다. 하지만, 과도한 스케일링은 고수준의 특징을 잡아내기 어렵게 하는 경향이 있다. 해상도(resolution)을 증가시키는 방법은 더욱 미세한 패턴을 잡아낼 수 있다. ConvNet의 입력 크기는 224 x 224를 시작으로 299, 331, 480 과 같이 점점 커졌고 더 높은 정확도를 보였다. Object detection ConvNets에서는 600 x 600이 가장 많이 사용된다. 해상도도 마찬가지로 해상도가 높아짐에 따라 성능 향상 폭은 감소한다.

아래의 그림은 베이스라인 모델을 각기 다른 Width(w), Depth(d), Resolution(r)를 바꿔가며 실험한 결과이다. 결과적으로 더 큰 깊이와 너비, 해상도를 가질수록 높은 성능을 달성한다. 하지만, 정확도가 80%에 도달하게 되면, FLOPS 증가에 비해 정확도 향상이 어려워진다.

Figure 2. Scaling Up a Baseline Model with Different Network Width (w), Depth (d), and Resolution (r) Coefficients

 

일반적으로 해상도가 높아질수록 네트워크의 레이어도 많아져야 하고, 너비도 증가해야한다. 이처럼, 너비, 깊이, 해상도와 같은 스케일링 차원들은 서로 독립적이지 않으며, 균형을 잘 맞춰야 한다. 아래의 실험은 스케일링을 복합적으로 실험한 결과이다.

 

Figure 3. Scaling Network Width for Different Baseline Networks

 

우선, 너비는 고정한 채로 깊이와 해상도를 변경한 경우 정확도가 빠르게 포화되는 현상을 보였다. 깊이를 증가시키고 (d=2.0) 해상도를 높인 (r=1.3) 경우, 동일한 FLOPS에서 더 높은 성능을 달성했다.

EfficientNet 논문에서는 새로운 복합 스케일링 기법을 제시하기 위해 compound coefficient  를 이용하여 스케일링 차원을 정의하였다.

α, β, γ  grid search를 통해 결정한 상수이고, compound coefficient 사용 가능한 리소스에따라 사용자가 결정하는 계수이다. 일반적인 컨볼루션 연산의 FLOPSd,w2, r2 에 비례한다. 예를 들어, 깊이를 증가시켜 레이어 수를 두 배로 하면, FLOPS도 두 배가 된다. 반면, 네트워크의 너비나 해상도를 두 배 증가시키면, FLOPS는 네 배 증가한다. 일반적으로 ConvNets의 연산 비용은 컨볼루션 연산이 대부분을 차지하므로 FLOPS(α∙β2γ2)^  로 추정할 수 있다. 위 수식에서는 α∙β2γ2≈2  라는 제한조건을 설정함으로써, FLOPS2 로 추정할 수 있도록 했다.

 

Table 1. EfficientNet-B0 baseline network

위의 표는 EfficientNet-B0의 구조이며, 주요 blockmobile inverted bottleneck MBConv (Sandler et al., 2018; Tan et al., 2019)로 구성되어 있고 squeeze-and-excitation optimization (Hu et al., 2018)을 적용하였다. 실험은 이 베이스라인 모델로 시작하여 복합 스케일링 기법을 다음과 같이 두 단계로 적용하였다.

  • STEP 1: 1로 고정하고 제한 조건을 만족하는 범위 내에서 grid searchα, β, γ 를 구한다. EfficientNEt-B0의 경우 α=1.2,  β=1.1,  γ=1.15  이 최적의 값이었다.

  • STEP 2: α, β, γ 를 상수로 고정하고 를 증가시켜가며 네트워크의 스케일을 확장하고, 그 네트워크는 EfficientNet-B1부터 B7이 된다.

사이즈가 큰 모델도 마찬가지로 파라미터 최적화를 통해 스케일링 차원을 구할 수 있지만, 모델의 크기가 클수록 탐색 비용이 매우 크다. 반면, 제안된 기법은 작은 네트워크에서 α, β, γ 가 균형을 이루는 적절한 값을 찾고 compound coefficient를 증가시킴으로써 효율적인 스케일링 차원(깊이, 너비, 해상도 값) 탐색을 가능하게 한다.

결과적으로 본 논문에서 제안한 기법을 사용하여 EfficientNet-B1부터 B7을 학습시켜 ImageNet 결과를 보면, 다른 ConvNets과 비교하여 파라미터 수와 FLOPS이 훨씬 작으며 높은 성능을 보인다. 특히, EfficientNet-B784.4% top1 / 97.1%top-5 accuracy를 보였으며, 66M의 파라미터 수와 37B FLOPS, GPipie (Huang et at., 2018)와 비교하여 더 높은 정확도에 파라미터 수는 8.4 배 적다.

Figure 4. Model Size vs. ImageNet Accuracy

 

[참조] TAN, Mingxing; LE, Quoc V, “Efficientnet: Rethinking model scaling for convolutional neural networks.” arXiv preprint arXiv:1905.11946, 2019.


어떤 실험을 하고 결론을 내리기 위해선 가설 검정을 수행한 후 특정 통계량의 유의수준과 비교한다. 대게, p-value는 0.05나 0.01를 사용하곤 한다.
그러나 두 개 이상의 가설을 동시에 시험할 때(다중 비교) 통계적 추론이 잘못될 확률은 상당히 높아진다. False positive가 많이 발생하는데 생물학이나 의학에서는 이러한 거짓 양성(false positive)에 민감하여 p-value 조정(adjustment)이 필요하다. 하지만, 다양한 실험 특성에 적합한 adjustment 방법을 선택하기는 여전히 어렵다.

예를 들어 보자, Garcia-Arenzana(2014)은 스페인 여성들에게 유방암의 중요한 위험 요소인 유방조영술 밀도와 25가지 식이 변수의 연관성을 테스트했고 다음과 같은 결과를 확인했다.


보다시피 P<0.05를 만족하는 변수의 수는 5개이다. 하지만, 25개의 식이 변수를 동시에 검정했기 때문에, 식이요법이 유방조영학적 밀도에 실질적인 영향을 미치지 않았더라도, 한 두 개의 변수가 우연히 유의미한 결과를 보였을 거라고 예상했다. 이때, Bonferroni 보정을 적용하면 0.05를 25로 나눈 P<0.002를 만족해야된다. 그러면 총 칼로리(Total calories)만 유의하다.

아래에서 설명하겠지만 Bonferroni 보정의 사용은 일련의 검정에서 하나의 거짓 양성(false positive)가 문제가 될 때 적합하다. 하지만, 많은 변수를 한번에 검정해야 하고 그 중에서 의미있는 변수 여러 개를 찾고자 한다면, Bonferroni 보정은 거짓 음성(false negative)을 초래할 수 있다. 즉, 유의미한 변수를 놓칠 수 있다는 말이다. 

예를 들어, 간암 조직과 정상 간 조직 사이에 있는 2만개의 유전자의 유의성을 비교한다고 하자. 당신은 의미가 서로 다른 다른 수십, 수백 개의 유전자를 찾기를 바라고 있다. 이때, Bonferroni 보정을 사용할 경우 P 값은 0.05/20000=0.0000025 보다 작아야 한다. 이렇게 되면, 단지, '단 하나의 거짓 양성도 포함하지 않는다'는 것을 확신하고자 한 이유만으로 많은 중요한 유전자 변수들을 놓칠 수 있다.

Bonferroni 교정의 중요한 문제는 통계 테스트의 "가족(family)"이 무엇인지 결정하는 것이다. 지금은 25개의 변수를 가지고 검정했는데, 여기에 연령, 교육, 사회적 지위 등과 같은 변수 13개가 추가된다면, P를 38로 나눠야 할까? 만약 이전 실험에서 다른 30개의 변수를 사용한다면 family를 55개로 정의해야 할까? 이처럼 Bonferroni adjustment에서는 family의 수를 정의하는데 어려움이 있다.

여기서 family-wise type 1 error의 개념이 나온다. family-wise type 1 error (FWER)란 family에서 false positive가 1개라도 발생할 확률을 의미한다.

FWER = 1 - Pr(V=0) = Pr(V>=1)

다중 비교 문제에 대한 고전적인 접근법은 이 FWER을 조절하는 것이다. 만약 FWER 이 0.05라면 한 연구에서 적어도 1개의 잘못된 결론이 나올 확률이 0.05라는 뜻이다. 이 FWER를 통제하기 위해 유의성 또는 알파에 대한 유의수준을 0.05로 설정하는 대신 더 낮은 임계값을 사용하는 방법이 있다. 

1) Bonferroni adjustment

FWER 을 제어하는 가장 일반적인 방법은 Bonferroni 보정이다. Bonferroni adjustment는 FWER (일반적으로 0.05)을 검정 횟수로 나누어 개별 검정의 임계값(알파)을 찾는다. 만약, 100개의 통계적 시험을 수행하는 경우, 개별 검정의 임계값은 0.05/100=0.0005가 될 것이며, P<0.0005인 개별 검정은 유의하다고 간주한다.

하지만 Bonferroni 보정은 너무 보수적이어서 귀무가설이 잘 기각되지 않는 단점이 있다. 따라서 적절한 타협이 필요하다. 

Fig1. Differences of the adjusted P values among various methods


Multi-step 보정방법

2) Holm adjustment

Holm adjustment는 multi-step 방법 중 step-down에 해당 하는 방법이다. Bonferroni 기법을 기반으로하는 좀 덜 보수적인 방법이다. 이 방법은 가설의 유의성에 따라 정렬하는 방법을 사용하는데 그 방법은 아래와 같다.

p-value를 낮은 순으로 정렬하고 높은 rank 일수록 보수적으로 검정하는 방법이다.


3) Hochberg adjustment

Hochberg adjustment는 multi-step 방법 중 step-up에 해당 하는 방법이다. Holm method와 유사하게 Hochberg adjustment도 비슷한 방법을 사용한다.

하지만 Hochberg 방법은 p-value를 높은 순으로 정렬하고 \( p_{(i)} \leq \alpha^{'}_{(i)} \) 인  \( \textrm H_{(i)} \) 가 나오면 비교를 멈추고 유의 수준에서 귀무가설을 기각한다. 


4) Hommel adjustment

Simes(1986)는 Bonferroni method를 수정하여 m개의 가설에 대해 global test를 하는 방법을 제안했다. 

\( H=\{ H_{(1)}, ..., H_{(m)} \} \) 일 때,  \( p_{(i)} \leq i\frac{\alpha}{m} \) 이면 귀무가설 H가 기각된다.하지만 Simes의 global test 는 개별적인 가설에 대해 접근하는 방법이 아니기 때문에 Hommel(1988)는 Simes의 방법을 확장하여 individual \( H_i \)에 대해 검정하는 방법을 제안한다.

$$ j=max \{ i \in \{ 1, ... , m \} : p_{(m-i+k)} > k{\alpha}/{i} \ for \ k=1, ... , i \}$$

만약 j 가 존재 하지 않는다면 모든 \( H_i \)는 기각되고, 존재한다면 \( H_i \)는 \( p_i \leq {\alpha}/{j} \) 를 만족하는 경우 기각한다.


5) Benjamini-Hochberg(BH) adjustment

FWER을 조절하는 방법과 달리 Benjamini와 Hochberg(1995)는 FDR(false discovery rate)을 조절하는 방법을 소개했다. FDR은 다중 비교에서 Type 1 error를 조절하는 또 다른 자주 쓰이는 지표로 유의하다고 판단한 가설 중 실제로 유의하지 않은 가설의 비율을 조절하는데 사용된다. FDR은 다음과 같이 정의한다. 

여기서 m은 실험 횟수이고, \( m_0 \) 는 true(맞게 기각된) \( H_0 \) 의 수이다. R은 기각된 총 횟수, U는 잘못 기각된 \( H_0 \)의 수이다.  


BH method는 아래의 방법으로 FDR 을 조절한다. q는 사전 정의된 FDR의 upper bound 이다. (e.g., q=0.05)

$$ k = max \{ i : p_{(i)} \leq \frac{i}{m}q \} $$

만약 k가 존재하지 않는다면 가설을 기각하지 못하고, 존재한다면 가설 \( H_i (i = 1, ... , k) \)를 기각한다. BH method는 p-value가 가장 큰 \( H_{(i)} \) (i=m, ..., 1) 부터 작은 순으로 비교 연산을 시작한다. 

FDR 기반의 보정 방법은 다른 방법에 비해 덜 보수적이다. (Fig.1 참고) 그리고 실험 횟수가 많을 때 널리 사용된다.


아래의 그림을 보면, BH adjustment는 28개의 귀무가설을 기각하여, 보수적인 7개만 기각한 Holm's에 비해 어느정도 false positive를 허용한다.


6) Benjamini-Yekutieli (BY) adjustment

BH method와 비슷하지만 좀더 보수적인 방법이다. 마찬가지로 FDR 을 사용하여 조절하는 방법이며 Benjamini과 Yekutieli(2001)이 제안했다. 마찬가지로 q는 사전 정의된 FDR의 upper bound이다. 

BY method는 아래와 같이 계산된다.

k가 존재하지 않는다면 가설을 기각하지 않고, 존재하면 가설 \( H_i \)를 기각한다.


참조: Chen, S. Y., Feng, Z., & Yi, X. (2017). A general introduction to adjustment for multiple comparisons. Journal of thoracic disease9(6), 1725.

+ Recent posts