본 글에서는 YOLO 모델 사용시 하이퍼파라미터를 조정하기 위해 yaml 파일에 있는 파라미터에 대한 설명을 정리하였습니다.
# hyp.scratch-low.yaml 파일 내 파라미터 정보
- lr0 : 시작 learning rate
- lrf : 종료시점의 learning rate
- momentum : gradient descent를 통해 global minimum을 찾기 위해 더해주는 값
- weight_decay : 가중치를 감쇠하여 과적합 방지
- warmup_epochs : 학습 속도를 선형적으로 증가시키는 epoch 수
- warmup_momentum : 모멘텀 파라미터를 점진적으로 증가시켜 전역최적점을 찾을 수 있도록 함
- warmup_bias_lr : 초반엔 작은 learning rate로 시작하여 초기 learning rate로 점진적으로 접근
- box : GT의 중앙점이 위치하는 좌표를 표시하여 object loss를 구하고, GT의 너비와 높이를 grid에 맞게 정규화한 것으로 box loss를 구함
- cls : 실제 클래스와의 손실함수
- cls_pw : 양성 샘플에 더 큰 가중치를 둔 클래스 손실함수
- obj : 실제 객체와의 손실함수
- obj_pw : 양성 샘플에 더 큰 가중치를 둔 객체 손실함수
- iou_t : IoU 임계값
- anchor_t : anchor박스의 multiple 임계값
- fl_gamma : 클래스 불균형 문제를 해결하기 위해 어렵거나 쉽게 오분류되는 케이스에 더 큰 가중치를 부여하고, 쉬운 케이스에는 낮은 가중치를 부여, 사용하려면 1.5
- hsv_h, hsv_s, hsv_v : 색상, 채도, 명도 augmentation
- degrees : 이미지를 회전하는 augmentation, 사진마다 epoch마다 랜덤으로 주어 학습
- translate : 이미지를 이동하여 학습, 사진마다 epoch마다 위치를 랜덤으로 주어 학습
- scale : 이미지의 크기를 변환하여 학습, 크기를 랜덤으로 주어 학습
- shear : 전단 변환; 이미지를 기울여서 학습, 기울임을 랜덤으로 주어 학습
- perspective : 원근변환
- flipud, fliplr : 상하, 좌우 변환 augmentation
- mosaic : 4장의 이미지를 한 장으로 만드는 augmentation
- mixup : 두 이미지를 사용하여 중첩시켜 ratio로 레이블을 조정하는 augmentation
- copy_paste : 이미지 segment를 다른 사진에 붙여서 학습