모델 성능 높이기

예갈조·2024년 12월 6일

Tumor Track Project

목록 보기
10/25

데이터 측면


1. Data Augmentation

  • 데이터를 다양하게 변환하여 모델이 더 많은 패턴을 학습할 수 있도록 함
  • 이미지 데이터: 회전, 확대/축소, 이동, 플립, 밝기 조정, 노이즈 추가 등
  • 텍스트 데이터: 동의어 대체, 문장 순서 변경, 단어 추가/삭제 등

2. 데이터 정규화 (Normalization)

  • 데이터의 범위를 동일하게 만들기
  • 이미지 데이터: 픽셀 값을 [0,1] 또는 [-1,1] 범위로 정규화

3. 데이터 품질 개선

  • 잘못된 레이블 수정
  • 노이즈 제거
  • 클래스 불균형 문제 해결

4. 더 많은 데이터 확보

  • 더 많은 데이터를 수집



모델 측면


1. 모델 구조 개선

  • 더 복잡한 모델 또는 적합한 모델 구조로 변경

2. Pre-Trained Model

  • 사전 훈련된 모델을 사용하여 성능을 높이기
  • 전이 학습 (Transfer Learning): 학습된 모델의 가중치를 재활용

3. 모델 복잡도 조절

  • 모델의 파라미터 수를 늘리거나 줄여서 성능 조절

4. Dropout

  • 특정 뉴런을 학습 시 랜덤하게 제외하여 과적합 방지

5. Batch Normalization

  • 데이터 분포를 정규화하여 학습 안정화



학습 과정에서 성능 개선


1. 적절한 손실 함수 선택

  • 분류
    • 이진 분류: Binary Cross Entropy Loss.
    • 다중 분류: Cross Entropy Loss.
  • 회귀
    • Mean Squared Error, Mean Absolute Error 등.

2. 학습률 (Learning Rate) 조절

  • 학습률이 너무 크면 발산, 너무 작으면 학습이 느려짐

3. Early Stopping

  • Validaion Loss가 더 이상 개선되지 않으면 학습을 중단시키기
  • 과적합 방지

4. 배치 크기 조절

  • 큰 배치 크기
    • 학습이 빠르지만, 더 많은 메모리 필요
  • 작은 배치 크기
    • 학습이 느리지만, 메모리 절약 가능

5. 데이터 셔플링

  • 배치를 매 에포크마다 섞어서 학습



하이퍼파라미터 최적화


  • 여러 조합의 하이퍼파라미터를 전부 탐색
    • 학습률, 배치크기, 드롭아웃 비율
  • 무작위 조합을 시도하여 최적의 하이퍼파라미터 탐색



모델 평가 및 튜닝


1. Cross Validation

  • 데이터를 여러 조각으로 나눠 학습과 평가를 반복

2. Confusion Matrix

  • 모델이 어떤 클래스에서 실수를 많이 하는지 분석하고 이를 개선

3. 학습 로그 및 그래프 시각화

  • Training Loss와 Validation Loss를 시각화하여 학습 과정을 모니터링



하드웨어 및 병렬화


1. GPU 사용

2. 데이터 병렬 처리

  • 여러 GPU에서 학습

0개의 댓글