[오늘의 일지]
프로젝트 - 학습 모델 성능 비교
[상세 내용]
학습 모델 성능 비교
- 우선 더 좋은 gpu 환경인 원격 서버에서 돌리기 전에 로컬 환경에서 소수의 데이터로 학습을 돌려보는 과정을 진행해 보았습니다. 클래스는 단일 클래스로서 이미지를 resize 하는 기능을 통해서 데이터를 덜 사용하는 방향으로 실험을 진행했습니다.
학습 배경 스펙
- 빠르게 학습을 돌려보기 위해서 colab 환경의 T4와 V100 gpu를 선택하였습니다. YOLOv8 모델 자체가 디폴트값이 gpu 환경을 되어 있었기 때문에 컴퓨팅 단위가 A100보다는 적게 사용되는 T4를 사용하다가 너무 느려서 V100으로 교체해서 학습을 돌려보았습니다.
resize 실험
- 이번 실험의 다른 조건은 모두 동일한 환경에서 진행했습니다. 변경시켜 준 변수는 YOLOv8의 train에서 imgsz라는 파라미터만 변경시켜 줬습니다.
- epoch : 5
- batch size : 8
- yolo model : nano version (YOLOv8n)
resize 크기
- 크기는 32, 320, 416, 640, 960, 1280 이렇게 6번 진행했고 32로 시작한 이유는 모델의 가장 작은 변수로 사용가능한 이미지 크기가 32이었고 이미지를 최소 변수로 했을 때 어느 정도 성능이 나오나 확인하기 위해서 추가했습니다. 그 밖에 모델의 문서를 찾아본 결과로 32배 수로 사이즈를 조절하는 것이 좋다고 해서 320부터 640, 960,1280을 변수로 선택했습니다. 다만 416 사이즈를 추가한 이유는 기존의 이미지 데이터의 크기가 모두 416으로 되어있어서 비교하기 위해서 추가해 보았습니다.
실험 결과
- 실험의 결과를 위한 성능지표는 mAP050를 사용하였습니다. 이 지표는 IoU 값을 0.5를 기준으로 한 mAP값이라고 할 수 있습니다.
- 32 Pixel : 최소 변수로서 기존의 416 사이즈보다 10배 이상 작아진 사이즈여서 그런지 성능지표가 매우 작게 나왔습니다. mAP050는 0.0428로 5프로도 안 나온 수준입니다.
- 320 Pixel : 이 사이즈는 어느 정도 결과를 얻었습니다. mAP050는 0.55입니다.
- 416 Pixel : 원본 이미지의 픽셀로서 320 보다 좋은 결과를 얻었습니다. mAP050는 0.614입니다.
- 640 Pixel : 32 배수로서 원본 사이즈보다 좋은 결과가 나왔습니다. mAP050는 0.628입니다.
- 960 Pixel : 역시 32 배수로서 이번 실험에서 가장 좋은 결과를 얻었습니다. mAP050는 0.674입니다.
- 1280 Pixel : 960 보다 큰 사이즈지만 결과는 아쉽게도 960이 좋았습니다. mAP050는 0.666입니다.
인사이트
- 이번 실험을 통해서 얻은 인사이트는 무작정 큰 사이즈가 좋은 결과를 가져다주지 않는다는 점을 알게 되었습니다. 그렇다고 해서 이번 실험의 기준으로 다른 이미지의 사이즈도 무작정 960이 좋다고 할 수도 없다는 점도 알고 있습니다. 아마도 각 이미지와 각 바운딩 박스마다 적절한 이미지 사이즈가 존재할 것으로 판단이 됩니다. 또한 이미지의 크기가 올라갈수록 학습 속도가 느려진다는 점에서 적절한 사이즈를 선택해서 학습 능률을 찾기 위해서 좋은 인사이트를 얻었다고 말하고 싶습니다. 마지막으로 아쉬운 점은 시간관계상 loss 값이 수렴될 때까지 학습한 결과가 아니라 잘못된 부분도 존재할 거 같다는 아쉬움이 남기도 합니다.
[마무리]
오늘은 이미지 사이즈를 변경시키면서 최적의 실험의 결과를 찾아봤습니다. 이렇게 얻은 조건으로 좀 많은 epoch을 추가해서 더 많은 학습을 거쳐 최적의 결과를 얻는 것도 해봐야 될 거 같습니다. 또한 오늘 사용한 모델은 nano 모델로서 YOLOv8 모델 중에 가장 성능이 떨어지는 모델이었는데 높은 모델 바꿔가면서 새로운 실험을 진행해 봐야 할 거 같습니다.
'AI > AI 부트캠프' 카테고리의 다른 글
[AI 부트캠프] DAY 128 - 파이널 프로젝트 19 (1) | 2024.01.23 |
---|---|
[AI 부트캠프] DAY 127 - 파이널 프로젝트 18 (0) | 2024.01.20 |
[AI 부트캠프] DAY 125 - 파이널 프로젝트 16 (0) | 2024.01.18 |
[AI 부트캠프] DAY 124 - 파이널 프로젝트 15 (0) | 2024.01.17 |
[AI 부트캠프] DAY 123 - 파이널 프로젝트 14 (0) | 2024.01.16 |
댓글