About me
home
Portfolio
home
🛫

EfficientNet 정리

220728_EfficientNet 논문 발표_김영준.pptx
1273.2KB
1.
depth scaling : depth를 깊게 만들기 → 복작합 featuer를 학습할 수 있음 BUT vanishing gradient 문제가 overfitting 문제와 함께 확대됨
2.
width scaling : channel width(filter 개수)를 늘리기 → width가 넓을 수록 미세한 정보가 많이 담아짐 BUT 정확도가 빠르게 포화(saturate)되는 경향이 있음
포화(saturate) : 접선의 기울기가 0에 근접하여 가중치의 업데이트가 중단되는 현상(=gradient vanishing)
3.
resolution scaling : input image의 해상도 올리기 → 세분화된 정보를 포함 BUT 해상도와 모델 성능이 선형적으로 증가하는 것은 아님
→ 세가지 요소 간의 균형이 중요하다
EfficientNet은 세가지 방법에 대한 최적의 조합(compound scaling)을 AutoML을 통해 찾은 모델이다.
⇒ Depth, Width, Resolution을 총합하여 모델을 확장시키는 방법인 Compound scaling 제안
Compound Model Scaling
EfficientNet Architecture
MnasNet에 기반한 baseline network를 사용함.
MBConv : channel의 개수가 Narrow → Wide → Narrow 순으로 된 conv
step1) ϕ=1\phi=1로 고정했을 때 자원(resource)이 두 배로 증가된 경우를 가정. α,β,γ\alpha, \beta, \gamma값을 small grid search를 통해서 찾음. → α=1.2,β=1.1,γ=1.15\alpha=1.2, \beta=1.1, \gamma=1.15
step2) α,β,γ\alpha, \beta, \gamma 를 고정하고 ϕ\phi가 증가함에 따라서 전체적인 크기 키움. → 1.2ϕ,1.1ϕ,1.15ϕ1.2^\phi, 1.1^\phi, 1.15^\phi을 증가시킴
EfficientNet Experiments
유사한 parameter 모델들과 비교해서 높은 성능을 보임
추론 속도와 정확도 모두 매우 우수
Transfer Learning 성능도 좋음
Class Activation Map(CAM)을 보면 3개의 scaling factor를 각각 고려했을 때 보다 동시에 고려할 때 더 정교한 CAM을 얻을 수 있음
CAM : 모델이 이미지를 분류할 때 이미지의 어느 영역에 집중했는지 확인할 수 있는 heatmap

MBConv1 Block 구조

SE Block

Scale-up 3가지 방법

Figure 3는 나머지 2개의 factor는 고정시키고 1개의 scaling factor만 키워가며 정확도를 측정한 그래프이다. width scalingdepth scaling은 비교적 이른 시점에 정확도가 80%에서 saturation 되고, resolution scaling이 키우면 키울수록 정확도가 잘 오르는 것을 확인할 수 있다.
알파,베타, 감마 값은 grid search를 통해 구하는 방식이 제안하고 있다. 첫 단계에서는 파이를 1로 고정한 뒤, 타겟 데이터셋에서 좋은 성능을 보이는 알파, 베타, 감마 값을 찾아낸다. 결과적으로 알파=1.2 , 베타 = 1.1 , 감마 = 1.15 가 나오게 된다.