본문 바로가기
딥러닝

이미지 데이터 증강(Data Augmentation) 방법

by Data Lib 2024. 3. 4.

데이터 증강(Data Augmentation)은 훈련 데이터가 부족할 때  데이터를 늘려주는 방법입니다. 그렇다면 오버 샘플링(Over Sampling)하고 차이점이 뭘까요? 오버 샘플링은 불균형 데이터를 균형을 맞추는 과정에서 데이터를 더 만들어 준다면, 데이터 증강은 기존 데이터를 변형시켜 더 많은 훈련 데이터를 확보하는 기법입니다.

 

 

특히 CNN(Convolutional Neural Networks)과 같은 이미지를 다루는 심층 신경망을 사용하는 경우 데이터 증강은 모델의 성능을 향상시키고 일반화 능력을 향상시키는 데 도움이 됩니다. 이 데이터 증강이 필요한 몇 가지 이유가 있습니다.

 

데이터 증강이 필요한 이유

1. 데이터 부족 문제 해결

데이터가 적으면 모델이 충분히 다양한 패턴과 특징을 학습하기 어렵습니다. 특히 이미지 분류 및 객체 감지와 같은 작업에서는 대량의 레이블이 지정된 데이터가 필요합니다. 그러나 현실적으로 훈련 데이터를 늘리기 위해 사람 손을 이용하는 것은 비용과 시간이 너무 많이 필요로 합니다. 데이터 증강은 기존 데이터를 변형하고 확장하여 데이터 부족 문제를 해결할 수 있습니다.

 

2. 모델의 일반화 향상

데이터 증강은 모델이 새로운 데이터에 대해 더 잘 일반화되도록 돕습니다. 모델이 훈련 중에 다양한 변환과 왜곡된 형태의 데이터를 볼 때, 이러한 다양성에 대해 더 강건하게 학습하고 새로운 데이터에 대해 더 잘 처리할 수 있습니다. 이는 모델이 훈련 데이터에만 지나치게 의존하지 않고 새로운 입력에 대해서도 잘 수행할 수 있도록 도와줍니다.

 

3. 과적합 방지

과적합(Overfitting)은 데이터가 부족할 경우 모델이 훈련 데이터에 너무 과하게 적합되는 현상입니다. 근본적인 해결책은 학습 데이터의 다양성을 늘리는 것입니다. 데이터 증강은 모델이 훈련 데이터에 대해 너무 과도하게 학습되는 것을 방지합니다. 다양한 변환 및 왜곡을 통해 데이터를 증가시키면 모델이 훈련 데이터에 덜 민감해지고 일반화 성능이 향상될 수 있습니다. 더 강건하고 rubust 한 모델을 말들 수 있습니다.

 

이미지 데이터 증강(Data Augmentation) 종류

이미지에 다양한 변형을 통해 데이터 증강할 수 있습니다. 여러 방법이 있지만 기본적으로는 아래와 같습니다.  

 

데이터 증강

  • 이미지를 변형한다
    • 회전에 의한 변형(rotating)
    • 이동에 의한 변형(translation)
  • 이미지를 일부를 잘라낸다(cropping)
  • 좌우를 뒤집는다(flipping) : 이미지 대칭성을 고려하지 않아도 되는 경우
  • 이미지 크기 수정한다(rescale)
  • 이미지 색깔을 변화한다(color)

 

데이터 증강(Data Augmentation) 장단점

장점

  • 모델이 데이터의 여러 측면을 학습하므로 더 잘 일반화할 수 있음, 과적합 방지 효과

단점

  • 적은수의 원본 이미지에서 만들어졌기 때문에 여전히 입력 데이터들 사이에 상호 연관성이 큼
  • 이럴 경우 새로운 정보를 만들어 낼 수 없고 기존 정보의 재조합
  • 때로는 데이터의 본질이 흐려질 수 있음

데이터 증강을 했다고 해도 과적합(Overfitting)을 완전히 제거하기 충분치 않을 수 있습니다. 그럴 경우는 드롭아웃(Dropout)과 함께 사용할 수 있습니다. 데이터 증강은 실제 입력값과 비슷한 분포를 만들어 실제환경에 잘 동작하게 도와줍니다. 예를 들어, 노이즈가 없는 사진에 다양하 노이즈를 삽입하여 모델이 노이즈에 잘 대응하게 하는 효과가 있습니다.