[딥러닝] 이미지 데이터가 부족할 때, 문제점과 해결 방법
▶︎ 데이터가 부족할 때 생기는 문제점
→ train data 가 부족하면, 그 안에서만 학습되기 때문에 과적합 발생 확률이 높습니다. 그래서 일반적인 특징을 찾아내지 못해 test data나 새로운 데이터가 들어올 때 일반화 성능이 낮아지는 문제가 생깁니다.
▶︎ 이를 해결하기 위해 어떻게 해야할까요?
1. 간단한 모델로 바꿔 일반적인 특징을 파악할 수 있도록 합니다.
(오버피팅을 방지하기 위해 모델 자체의 복잡도를 줄이는 것은 이미지뿐만 아니라 다른 형태의 데이터에서도 똑같이 적용됩니다!)
: 비선형모델을 선형모델로 바꾸거나, L1 또는 L2 정규화를 적용하여 가중치의 크기를 제한함으로써 모델이 특정 피처에 너무 의존하지 않도록 합니다.
2. 모델을 바꾸거나 특정 기능을 추가하여 일반화 성능을 높입니다. (이 또한 다른 형태의 데이터에서도 똑같이 적용됩니다!)
: 앙상블 기법 사용, 교차 검증, 조기 종료, 드롭아웃, 하이퍼파라미터 튜닝 등
3. Data Augmentation (기존의 데이터를 변형하여 학습 데이터를 늘리는 방법입니다.)
: 회전, 반전, 평행이동, 크기 조절(확대,축소) 등을 통해 다양한 변형을 적용할 수 있습니다.
: 소금&추후 노이즈, 가우스 노이즈 방법으로 노이지를 추가할 수도 있습니다.
: 색상, 명암, 해상도, 광도, 첨예도 등을 변경합니다.
4. 데이터 확장
: SMOTE (소수 클래스의 샘플을 이용하여 합성된 샘플을 생성하는 방식)
: 업샘플링 (소수 클래스의 샘플을 복제하여 데이터를 증가시키는 방식)
5. 데이터 추가하기
: GANs (생성적 적대 신경망) 을 활용하여 새로운 가짜 데이터를 만든다
: Transfer learning을 통해 이미 만들어진 모델이나 데이터를 빌려와 마지막에 파인 튜닝만 진행한다.