본문 바로가기

SW 개발 공부/기초 SW 개념

[머신 러닝] 학습 데이터가 부족하여 정확도가 떨어질 때 (수도 레이블링vs생성 모델)

ML 수행하던 , 전체 데이터가 적어 정확도가 높아지지 않는 현상이 발생했다.

데이터가 적어 정확도가 높아지지 않다면 학습 데이터의 수를 늘려야 하지만 물리적인 데이터 수의 한계가 존재한다.

이때 사용할 있는 방법이 두가지 있다.

 

 - 수도 레이블링과 생성모델

 

1. 수도 레이블링과 생성모델

 

요약해서 말하자면 다음과 같다.

지도 학습을 위해서는 (데이터,정답(=레이블)) 쌍이 있어야한다.

 

1) 수도 레이블링

 

이때, 수도 레이블링은 정답(레이블) 알지 못하는 데이터의 수가 많을 사용 가능하다.

방법은 다음과 같다.

 

  1. 적은 수의 (데이터,정답) 데이터셋들을 사용하여 모델을 만들고
  2. 해당 모델에 정답을 알지 못하는 데이터를 입력하여 수도 레이블(가짜 정답지) 만든다.
  3. 이후 (데이터,정답) 데이터셋과 (데이터,가짜 정답(수도 레이블)) 데이터셋을 이용하여 모델을 만든다.

2) 생성 모델

 

생성 모델은 가짜 데이터를 생성하여 모델에 다량의 (데이터,정답) 쌍을 만들어주는 것이다.

방법은 다음과 같다.

 

  1. 적은수의 (정답,데이터) 데이터셋들을 사용하여 모델을 만들고
  2. 정답을 입력하여 해당 정답에 맞는 가짜 데이터(수도 데이터) 생성한다.
  3. 이후 (데이터,정답) 데이터셋과 (가짜 데이터(수도 데이터),정답) 데이터 셋을 이용하여 모델을 만든다.

 

* 수도 레이블링과 생성 모델의 차이점

 

1. 데이터 생성 방식

 

  • 수도 레이블링은 기존의 비라벨 데이터에 대한 레이블링을 예측하여 데이터를 확장.
  • 생성모델은 자체적으로 데이터 분포를 학습하여 새로운 데이터를 생성.

 

2. 데이터의 양적 한계

  • 수도 레이블링은 기존의 비라벨 데이터 양에 의존하므로, 데이터 양의 확장성이 제한적.
  • 생성모델은 분포를 학습하여 데이터를 생성하므로 데이터 양을 무제한으로 늘릴 수 있음.

3. 모델 사용 방식

  • 수도 레이블링에서는 기존의 데이터를 입력으로 사용하여 예측(결과 생성).
  • 생성 모델(Generative Model)을 활용하여 새로운 데이터를 생성.

 

* 생성 모델의 유형

 

  • GANs (Generative Adversarial Networks): 입력 조건에 따라 새로운 데이터를 생성.
  • Conditional Variational Autoencoders (CVAE): 조건에 따라 데이터의 분포를 생성.
  • Diffusion Model: 조건부 데이터 생성을 수행하는 최신 모델 중 하나.

 

* 수도 데이터의 품질 관리

  • 수도 데이터 생성 방식에서는 생성된 데이터의 품질이 모델 성능에 직접적으로 영향을 미친다
  • 품질 관리 측면에서 다음과 같은 검증이 필요함
    • 모델 성능 평가: 수도 데이터만을 사용했을 때 모델이 얼마나 정확한지 평가.
    • 노이즈 제거: 수도 데이터가 원래의 데이터 분포와 크게 벗어나지 않도록 필터링.
    • 다양성 보장: 너무 유사한 데이터만 생성되면 과적합의 위험이 있음.

 

* 데이터 부족 문제를 위한 선택 기준

 

데이터가 부족한 경우에는 수도 데이터 생성 방식이 적합합니다. 그러나 다음과 같은 상황에서는 수도 레이블링 방식을 고려할 수도 있다.

  • 라벨링 비용이 높은 경우:
    수도 레이블링은 기존 데이터에서 레이블링을 예측하여 학습 데이터를 보완하는 방식이므로, 추가로 데이터를 생성할 필요가 없고 간단히 적용 가능합니다.
  • 모델 성능의 안정성:
    수도 레이블링은 실제 데이터를 기반으로 하므로, 모델이 잘못된 데이터 분포를 학습할 가능성이 적습니다. 반면, 생성 모델을 사용할 경우 데이터의 품질이 보장되지 않으면 학습이 불안정해질 수 있습니다.

 

'SW 개발 공부 > 기초 SW 개념' 카테고리의 다른 글

코딩 컨벤션  (0) 2025.02.06
const의 역할  (0) 2024.01.19
쿼리 분석 2  (1) 2023.10.11
프로그램 명명 규칙  (0) 2023.03.24
솔루션 이름 변경하기  (0) 2023.03.19