YOLO_007 imgSize&LR:accuracy

thanx to NIA

by HJH

이번에는 이미지 사이즈와 러닝 레이트에 따른 Accuracy 변화를 보자. Image Size는 널리 알려진 사실이라 굳이 실험을 해 보지 않아도 충분히 알 수 있지만 실험해 보았다. 다음은 로그다.


1461/1461 ━━━━━━━━━━━━━━━━━━━━ 105s 64ms/step - accuracy: 0.2568 - loss: 2.8704

Epoch 2/50

1461/1461 ━━━━━━━━━━━━━━━━━━━━ 85s 58ms/step - accuracy: 0.3847 - loss: 2.2536

Epoch 3/50

1461/1461 ━━━━━━━━━━━━━━━━━━━━ 87s 59ms/step - accuracy: 0.4035 - loss: 2.1640

Epoch 4/50

1461/1461 ━━━━━━━━━━━━━━━━━━━━ 90s 61ms/step - accuracy: 0.4148 - loss: 2.1191

Epoch 5/50

1461/1461 ━━━━━━━━━━━━━━━━━━━━ 87s 59ms/step - accuracy: 0.4210 - loss: 2.0907

Epoch 6/50

1461/1461 ━━━━━━━━━━━━━━━━━━━━ 85s 58ms/step - accuracy: 0.4234 - loss: 2.0710

Epoch 7/50

1461/1461 ━━━━━━━━━━━━━━━━━━━━ 83s 57ms/step - accuracy: 0.4273 - loss: 2.0610

Epoch 8/50

1461/1461 ━━━━━━━━━━━━━━━━━━━━ 82s 56ms/step - accuracy: 0.4282 - loss: 2.0541

Epoch 9/50

1461/1461 ━━━━━━━━━━━━━━━━━━━━ 83s 57ms/step - accuracy: 0.4308 - loss: 2.0488

Epoch 10/50

1461/1461 ━━━━━━━━━━━━━━━━━━━━ 80s 55ms/step - accuracy: 0.4302 - loss: 2.0452

Epoch 11/50

1461/1461 ━━━━━━━━━━━━━━━━━━━━ 80s 55ms/step - accuracy: 0.4318 - loss: 2.0365

Epoch 12/50

1461/1461 ━━━━━━━━━━━━━━━━━━━━ 83s 57ms/step - accuracy: 0.4317 - loss: 2.0365

Epoch 13/50

1461/1461 ━━━━━━━━━━━━━━━━━━━━ 80s 54ms/step - accuracy: 0.4327 - loss: 2.0309

Epoch 14/50

1461/1461 ━━━━━━━━━━━━━━━━━━━━ 80s 54ms/step - accuracy: 0.4335 - loss: 2.0303

Epoch 15/50

1461/1461 ━━━━━━━━━━━━━━━━━━━━ 80s 55ms/step - accuracy: 0.4326 - loss: 2.0321

Epoch 16/50

1461/1461 ━━━━━━━━━━━━━━━━━━━━ 80s 55ms/step - accuracy: 0.4330 - loss: 2.0285

Epoch 17/50

1461/1461 ━━━━━━━━━━━━━━━━━━━━ 81s 55ms/step - accuracy: 0.4346 - loss: 2.0272

Epoch 18/50

1461/1461 ━━━━━━━━━━━━━━━━━━━━ 82s 56ms/step - accuracy: 0.4359 - loss: 2.0167

Epoch 19/50

1461/1461 ━━━━━━━━━━━━━━━━━━━━ 80s 55ms/step - accuracy: 0.4357 - loss: 2.0221

Epoch 20/50

1461/1461 ━━━━━━━━━━━━━━━━━━━━ 80s 55ms/step - accuracy: 0.4374 - loss: 2.0178

Epoch 21/50

1461/1461 ━━━━━━━━━━━━━━━━━━━━ 81s 55ms/step - accuracy: 0.4349 - loss: 2.0214

Epoch 22/50

1461/1461 ━━━━━━━━━━━━━━━━━━━━ 80s 55ms/step - accuracy: 0.4364 - loss: 2.0173


지금까지의 이미지 학습 시 width, height 모두 128로 낮춰서 했었다. mobileNetV2 권장 크기인 224로 했을 때 바로 accuracy 향상이 있음을 알 수 있다. 이론적으로는 224를 넘어서는 학습을 권장하지 않는다.

그러나 실무에서는 뭐든 해봐야 하는 법이다. 다만, MobileNet은 V3, V4가 나온 상황에서 다른 모델까지 굳이 시간을 들여 학습해야 할지는 미지수다. 운용, 운영 시스템 상황, 서비스 범위, 모델 크기, 기존 시스템과의 조화 등 고려해야 할 것이 많다. 이번 글에서 밝히지만 V2를 선택한 이유는 YOLOv8을 쓰는 이유와 같다. 변환 인자를 줄일 수 있기 때문이다. 안정버전과 다수의 검증이 있었던 버전의 경우 알고자 하는 인자 외엔 최대한 고정할 수 있다. IT 특성상 운영체제, CPU 브랜드 따라 안 되는 경우도 있고 모든 아키텍처를 알 수 없기에 end 단 검증으로 알 수밖에 없다.


자 이제 LR(Learning Rate)에 변화를 준다. 이미지 역시 224로 고정되었기 때문에 위 로그와 바로 이어서 비교하면 된다. 0.4374를 몇 에포크 만에 넘는지가 필자의 관심사이다.

LR을 0.0001로 해 보았다.


Epoch 1/50

WARNING: All log messages before absl::InitializeLog() is called are written to STDERR

I0000 00:00:1753410975.969537 9344 device_compiler.h:186] Compiled cluster using XLA! This line is logged at most once for the lifetime of the process.

1461/1461 ━━━━━━━━━━━━━━━━━━━━ 100s 60ms/step - accuracy: 0.1183 - loss: 3.5993

Epoch 2/50

1461/1461 ━━━━━━━━━━━━━━━━━━━━ 82s 56ms/step - accuracy: 0.2669 - loss: 2.7824

Epoch 3/50

1461/1461 ━━━━━━━━━━━━━━━━━━━━ 80s 55ms/step - accuracy: 0.3083 - loss: 2.5881

Epoch 4/50

1461/1461 ━━━━━━━━━━━━━━━━━━━━ 81s 55ms/step - accuracy: 0.3329 - loss: 2.4738

Epoch 5/50

1461/1461 ━━━━━━━━━━━━━━━━━━━━ 80s 55ms/step - accuracy: 0.3518 - loss: 2.3981

Epoch 6/50

1461/1461 ━━━━━━━━━━━━━━━━━━━━ 80s 55ms/step - accuracy: 0.3654 - loss: 2.3407

Epoch 7/50

1461/1461 ━━━━━━━━━━━━━━━━━━━━ 80s 55ms/step - accuracy: 0.3778 - loss: 2.2964

지금 바로 작가의 멤버십 구독자가 되어
멤버십 특별 연재 콘텐츠를 모두 만나 보세요.

brunch membership
HJH작가님의 멤버십을 시작해 보세요!

AISS(AI Security Sector) K-programmer. 아이쓰 프로그래머 분야를 한국에서 만들고 개척한 사람으로 기억되고 싶습니다.

429 구독자

오직 멤버십 구독자만 볼 수 있는,
이 작가의 특별 연재 콘텐츠

  • 총 41개의 혜택 콘텐츠
최신 발행글 더보기