우리가 데이터 분석을 할 때 데이터 양이 충분하지 않은 것 같다는 말을 하게 됩니다. 그런데 데이터가 불충분한지는 어떻게 알 수 있을까요? 1만건 이하는 적은 것이고 10만 건 이상은 충분한 것일까요? 물론, Case by Case로 상황에 따라 다르다는 원론적인 이야기를 할 수도 있습니다. 때론 데이터는 많으면 많을수록 좋다고 결론 지을 수도 있지요.
데이터 부족 기준의 필요성
하지만 불충분한 데이터 양은 머신러닝에서 자주 발생하는 문제입니다. 특히 복잡한 모델을 효과적으로 훈련하기 위해 대량의 레이블이 지정된 데이터가 필요한 딥러닝 작업에서는 더욱 그렇습니다. 그래서 데이터 부족에 대한 기준을 안다는 것은 중요합니다. 그러면 어떤 방식으로 데이터 양이 충분한지 확인하는지 몇 가지 방법을 알아보도록 하겠습니다.
데이터 양이 충분한지 판단 기준
1. 성능 그래프 확인
딥러닝 모델의 경우 높은 표현력을 요구하기 때문에 상당한 양의 데이터가 필요한 경우가 많습니다. 만약에 train data의 양이 충분하지 않으면 모델은 성능 정체기에 도달할 수 있습니다.
여기서 데이터가 추가로 증가하면 모델 정확도가 올라간다면 데이터가 충분하지 않는 것입니다. 그런데, 데이터가 충분해 추가 train data를 넣더라도 성능 그래프가 향상하지 않는다면 충분히 일반화된 모델이라고 생각해도 됩니다.
2. 과적합, 일반화 문제
데이터 양이 충분하지 않으면 모델이 새롭게 신규로 들어오는 데이터를 일반화하지 못합니다. 대신 훈련 데이터에만 적합한 학습을 하여 과적합되게 됩니다. 이는 모델이 제한된 훈련 데이터에 존재하는 노이즈나 특이성을 포착하여 보이지 않는 데이터의 성능이 저하될 수 있기 때문에 발생합니다.
불충분한 데이터로 훈련된 딥러닝 모델은 입력 데이터의 training에서 보이지 않는 case나 변형을 일반화하기 어렵습니다. 그만큼 다양한 case를 훈련하지 못했다는 이야기가 되죠. 이로 인해 데이터 분포가 훈련 데이터와 달라 실제 추론 성능이 저하될 수 있습니다. 결론적으로 계속 과적합이 발생한다면 데이터가 충분하지 않다는 증거입니다.
3. 편향과 분산의 균형
딥러닝, 머신러닝에서는 편향과 분산 사이에 균형을 확인해야 합니다. 데이터 양이 충분하지 않으면 이러한 균형이 악화되어 모델이 지나치게 단순해져 높은 편향을 나타냅니다. 그 여파로 데이터의 복잡성을 포착하지 못하거나 지나치게 복잡하게 만들어집니다. 이는 높은 분산으로 훈련 데이터의 노이즈에 민감한 모델이 될 수 있습니다.
훈련 데이터의 양이 적으면 기본 데이터 분포의 전체 다양성과 복잡성을 적절하게 나타내지 못하게 되죠. 결과적으로 충분하지 않는 데이터로 훈련된 모델은 다양한 사례나 극단적 사례로 일반화하는 능력이 떨어지게 됩니다. 이로 인해 모델의 편향이나 제한이 발생할 수 있습니다.
데이터 부족의 대안은?
1. 데이터 증강
실제로 데이터 증강 기술은 딥 러닝에서 데이터 양 부족으로 인한 영향을 완화하는 데 도움이 되는데요. 데이터 증대에는 기존 데이터에 변환(예: 회전, 뒤집기, 자르기)을 적용하여 합성 데이터 샘플을 생성해 줍니다. 훈련 데이터 세트 자체가 실질적인 크기가 늘어나게 됩니다.
이미지 과련 분야 등 특정 문제에 대해서는 데이터 증강(Data Augmentation)이 효과적에 대해서는 이미 증명되었습니다. 데이터 증강이 필요성과 종류에 대해서는 링크를 참고하시기 바랍니다.
2. 전의 학습
기존 업무 데이터가 부족할 때, 동일한 도메인의 대규모 외부 데이터를 활용할 수 있습니다. 전이 학습은 대규모 데이터 세트에 대해 훈련된 사전 훈련된 모델을 활용하고 데이터 볼륨이 제한된 더 작은 도메인별 데이터 세트에서 이를 미세 조정하는 방법입니다.
딥러닝의 맥락에서 전이 학습에는 특정 작업에 대한 대규모 데이터 세트에 대해 훈련된 사전 훈련된 신경망 모델을 활용한 다음 이를 다른 작업이나 데이터 세트에 대한 새 모델을 훈련하기 위한 시작점으로 사용하는 거라고 할 수 있죠. 이렇게 되면 대규모 세트를 통해 모델이 일반화되어 데이터 부족 문제를 해결할 수 있습니다.
마무리
컴퓨터 비전, 자연어 처리, 의료 등 다양한 영역에 걸친 수많은 실증적 연구는 딥러닝 성능에서 데이터 양의 중요성을 입증했습니다. 이러한 연구는 종종 다양한 데이터 세트 크기에 걸쳐 모델 성능을 비교하여 데이터 세트가 클수록 일반적으로 모델 성능이 향상된다는 것을 보여줍니다.
요약하면, 데이터 양이 부족하면 성능 정체, 과적합, 일반화 문제, 대표성 제한 등 딥 러닝에 심각한 문제가 발생합니다. 이러한 문제를 해결하려면 데이터 증대 기술, 전이 학습 접근 방식, 보다 효과적인 모델을 training하기 위한 추가 레이블 작업을 고려해야 하는 경우가 많습니다.
'데이터 분석' 카테고리의 다른 글
통계학에서 정규분포가 중요한 이유 (0) | 2024.04.24 |
---|---|
피처 엔지니어링(Feature engineering) 방법, 단계별 종류 및 특징 (1) | 2024.04.05 |
상관관계를 이용하는 이유 (0) | 2024.04.02 |
P-value(유의 확률) 의미 및 해석 방법 (0) | 2024.03.28 |
박스플롯(Boxplox) 해석과 사용 방법 (0) | 2024.03.13 |