logo

데이터 어그멘테이션이란? 📂머신러닝

데이터 어그멘테이션이란?

정의

3522_Joyuries.PNG

데이터 집합 $X = \left\{ x \in \mathbb{R}^{n} \right\}$가 주어졌다고 하자. 적당한 변환 $f_{i} : \mathbb{R}^{n} \to \mathbb{R}^{n}$들을 사용하여 $X$로부터 $X^{\prime}$을 얻는 것을 데이터 어그멘테이션data augmentation이라 한다.

$$ X^{\prime} = X \cup \left( \bigcup_{i} \left\{ f_{i}(x) : x \in X \right\} \right) $$

설명

쉽게 말해서, 이미지를 예로 들면, 기존의 데이터 집합에 있는 이미지에 좌우반전, 흑백처리 등을 적용하여 얻은 새로운 이미지를 데이터 집합에 추가하는 것이다.

아마 데이터 어그멘테이션이 처음 등장한 이유는 아마 데이터 수집의 어려움 자체를 극복하기 위함이었을 것이다.1 100개의 데이터가 필요한데 100개까지 모으기 어렵거나, 아예 불가능하여 50개의 데이터만을 가지고 있다고 하자. 어그멘테이션을 통해 데이터를 100개로 늘리는 것으로 이 문제를 해결할 수 있다. 그렇지만 최근에는 단순히 데이터 부족을 해결하기 위해서만 쓰이는 것은 아니며, 오히려 오버피팅을 막기 위함에 더 초점이 맞춰져있는 것 같기도 하다.2

이미지 어그멘테이션

회전, 좌우반전, 확대, 축소 등과 같은 단순한 변환부터 Mixup, CutMix, PuzzleMix 등 복수의 이미지를 합치는 기법들까지 다양하게 존재한다.


  1. 아님 말고 ↩︎

  2. 아님 말고 ↩︎