Dataset
Machine Learning을 수행하기 위해 수집된 데이터를 입력데이터와 라벨 쌍으로 묶은 것을 데이터셋(Dataset)이라 부른다
- 일반적으로 데이터셋은 Train, Validation, Test 3가지 부분으로 나누어 사용
- 데이터셋의 일반적인 분할비는 7:2:1 혹은 8:1:1
- 단 주의할 점은 전체 데이터를 무작위로 분할하는 것이 아닌 Case 단위로 분할해야한다는 점
- ex) 1Case 당 100장의 X-Ray 이미지를 포함하는 데이터셋이 10명 분 있을 때,
-> Train[Case1,3,5,6,7,9,10], Valid[Case2,8], Test[Case4] 로 분할
학습 과정 중 Dataset의 활용
고성능 Machine Learning 모델을 학습하기 위해 'Train - Tune - Test' 단계에 걸쳐 모델을 훈련한다
- Training
- Train 데이터셋 활용
- 입력된 데이터의 패턴을 분석하고 학습하는 용도
- 학습 정확도: 학습 중 Label에 대한 예측 정확도
- Train 데이터셋 활용
- Tuning
- Validation 데이터셋 활용
- 학습 간 예측 성능을 평가하기 위해 Validation 구성 (Test 데이터는 학습이 끝나기 전까지 사용할 수 없으므로)
- Validation 데이터를 활용해 학습 성능을 확인하고 데이터나 모델을 Tuning
- Train 정확도가 확보되었는데 Validation 정확도가 이상하다 -> 데이터를 확인하거나 모델을 보정한다
- 이를 위해 학습 중 많은 Iteration이 필요
- Validation 데이터셋 활용
- Testing
- Test 데이터셋 활용
- 학습 간에 활용되면 안되는 데이터이므로 별도로 분리
- 학습이 완료된 모델의 성능을 확인하는 용도
- Test 데이터셋 활용
데이터의 수집
- 데이터는 풀고자 하는 문제에 맞게 수집
- 과제의 성격과 사용 모델에 활용 가능한 종류의 데이터만 수집
- 환경과 상황에 맞는 편향되지 않은 데이터의 확보
- 데이터의 일관성
- 라벨링이 언제나 완벽할 수는 없으나 최대한 일관성을 유지
- 데이터의 양은 多多益善(다다익선)
- 데이터 안에서 다양성이 확보되기 때문에 폭 넓은 커버리지를 갖는 모델 훈련 가능
- 데이터 수집의 가장 큰 문제점은 비용
- 디테일을 요구하거나, 전문 지식이 활용되는 데이터일수록 수집에 드는 비용이 증가
Data Centric AI
데이터 중심 AI(Data Centric AI)는 모델의 성능 향상을 위해 학습 데이터에 집중해야한다는 점에 입각한 AI 연구방식이다
- 데이터의 수가 적어도 노이즈가 적은(일관성 있는) 라벨을 사용하면 모델 성능 개선 가능
- 양이 많지만 불안정한 데이터보다, 적은 양이라도 노이즈가 없는 데이터를 사용 했을 때 모델 성능 확보에 더 효과적
요약
기계학습을 위한 Dataset은 Train, Validation, Test 3개의 파트로 분할하여 활용한다
용도에 맞는 데이터를 수집하여야 하며, 수집 이후에는 편향성이나 오류가 없는지 확인이 필요하다
데이터의 총량이 많은 것은 모델 성능 향상에 도움이 되지만 그것보다 우선시되는 것은 데이터의 퀄리티이다
'인공지능 살펴보기' 카테고리의 다른 글
PyTorch VS TensorFlow (0) | 2024.07.30 |
---|---|
Machine Learning (1) (0) | 2024.07.23 |