Insight

Data Augmentation이 머신러닝에 미치는 영향

데이터 품질이 더 중요해지는 이유

2023
.
05
.
23
Data Augmentation이 머신러닝에 미치는 영향

Data augmentation은 컴퓨터 비전의 성능을 향상시키는 기술의 일종입니다. 보유하고 있는 데이터셋을 여러가지 방법으로 확대하여 실질적인 학습 데이터 셋의 규모를 키울 수 있는 방법을 의미합니다. 다양한 머신러닝 방법론이 대두되면서 데이터 증강에 대한 관심도 확대되고 있습니다.

Data augmentation 예시

Data augmentation은 이미지 분류 모델의 성능을 향상시키는 데에 사용하는 기술입니다. 이미지 분류 모델은 개체를 식별하는 방식으로 작동합니다. 일반적으로 이미지 데이터 세트로 훈련하는 이 모델은 훈련 데이터에 지나치게 익숙해지면 새 데이터에 일반화할 수 없는 사례가 발생합니다. 이 때, Data augmentation은 모델을 훈련하기 위해 image augmentation, 새 이미지를 생성하는 데 사용합니다.

모델은 새로운 이미지와 원본 이미지 두 가지 종류로 훈련합니다. 모델은 라벨링 된 학습 데이터의 다양한 변형에 대해 학습할 수 있습니다. 데이터 증강을 사용할 경우, 그렇지 않은 경우보다 최대 5%까지 더 정확해진다는 연구 결과가 있었죠.

Data augmentation 방식

이미지 데이터에 사용하는 Image augmentation 방식은 아래와 같습니다.

  • 이미지 회전: 이미지를 특정 각도로 회전합니다.
  • 이미지 스케일링: 이미지 크기를 특정 비율로 조정합니다.
  • 이미지 이동: 이미지를 특정 거리만큼 이동합니다.
  • 이미지 왜곡: 이미지를 특정 방식으로 왜곡합니다.
  • 이미지 노이즈 추가: 이미지에 노이즈를 추가합니다.
  • 텍스트 변환: 텍스트를 다른 언어로 번역한 다음 다시 원래 언어로 번역합니다.
  • 텍스트 유의어 교체: 특정 단어를 유의어로 교체합니다.
  • 텍스트 단어 삽입 또는 삭제: 텍스트에 단어를 삽입하거나 삭제합니다.
  • 텍스트 단어 순서 변경: 텍스트의 단어 순서를 변경합니다.

자르기와 색 조절은 학습 데이터의 확장에 사용할 수 있습니다. 크기를 변경하거나 다각도 관점에서 변환은 테스트 데이터 확장에 사용할 때 성능 향상을 보이기도 했습니다. 스크래치나 찍힘, 짙은 얼룩은 물체 인식 분야에서 Data augmentation으로 사용하기도 합니다.

Understanding Data Augmentation | What is Data Augmentation & how it works?
출처: Greatlearning - Understanding Data Augmentation | What is Data Augmentation & how it works?

강아지와 고양이를 구분하는 머신러닝 모델 구축 시, 데이터 증강 작업을 진행하자 loss가 대폭 줄고 정확도도 올라가는 것을 확인할 수 있었습니다.

Data augmentation 기술과 머신러닝

데이터 증강은 머신러닝 모델이 과적합되는 것을 방지하는 데에 도움이 됩니다. 과적합은 모델이 훈련 데이터에 너무 fit 되는 현상 탓에, 새로운 데이터에 일반화할 수 없는 문제에서 발생합니다. Data augmentation은 모델이 훈련 데이터의 다양한 변형에 대해 학습할 수 있도록 하여, 과적합을 방지할 수 있습니다.

또한 Data augmentation은 모델의 성능을 향상시키는 데에 도움이 될 수 있습니다. 모델은 더 많은 데이터로 학습하면 더 정확해질 수 있기 때문이죠. 데이터 증강을 통해 모델이 훈련 데이터의 다양한 변형에 대해 학습할 수 있도록 합니다.

데이터 증강은 교육 데이터의 다양성 및 데이터 양 문제를 해결하는 데에 사용할 수 있습니다. 또한 분류 작업에서 클래스 불균형 문제를 해결하기 위한 용도에서도 사용할 수 있죠.

이미지에 대한 Data augmentation 종류

Image data augmentation은 기하학적 변환과 태스크 기반 확장으로 나눌 수 있습니다.

  • 기하학적 변환: 크기 조절, 반전, 자르기, 회전, 이동, 윈도우 분할
  • 태스크 기반 확장: 회전, 이동, 스케일링 및 왜곡

기하학적 변환은 Image augmentation, 이미지 증강에 사용되는 가장 일반적인 유형의 변환입니다. 다양한 변환을 사용하여 모델이 다양한 조건에서 데이터를 처리하는 방법을 학습할 수 있게 됩니다.

태스크 기반 확장은 모델의 훈련 목표를 기반으로 데이터를 증가하는 것을 포함합니다. 예를 들어, 텍스트 분류 모델을 훈련하는 경우 모델에 긍정적인 문장과 부정적인 문장의 인공 합성을 포함하여 문장의 더 많은 예시를 제공할 수 있습니다. 이렇게 하면 모델이 긍정과 부정의 문장을 더 잘 구별하는 데에 도움이 되죠.

다만, 기하학적 변환과 태스크 기반 확장은 각각의 한계가 있습니다. 기하학적 변환은 다양한 조건에서 데이터를 처리할 수 있도록 모델 학습에 도움을 주지만, 새로운 데이터 포인트를 생성할 수는 없습니다. 반면 태스크 기반 확장은 새로운 데이터 포인트를 생성하는 데에 도움이 될 수는 있으나 반대의 상황에는 도움이 되지 않습니다. 이러한 제한을 극복하기 위해 두 가지 방법을 함께 사용하는 것이 중요합니다.

딥러닝을 위한 Tesla의 Data augmentation

우리는 수많은 연구를 통해, 학습 데이터 구축 시 데이터 증강 작업이 유효하다는 것을 입증할 수 있었습니다. 그렇다면 실제로 적용된 사례에 대해서 알아보겠습니다.

Data augmentation을 통해 FSD를 완성하는 Tesla

테슬라는 고속도로의 가파른 커브를 다루는 방법이나 교차로에서 좌회전하는 방법과 같은, 운전 작업에 Image data augmentation을 적용했습니다. 시간이 지남에 따라 고속도에서 차선을 변경하는 방법과 시기 등에도 적용할 것이라고 언급했었죠.

신경망은 주어진 상황에서 인간 운전자가 무엇을 할 것인지 예측하여 운전 결과에 반영합니다. 본질적으로, Tesla 운전자의 행동을 예측하는 방식으로 의사결정 과정이 이루어지는 것이죠.

Tesla is patenting a clever way to train Autopilot with augmented camera images
<출처: Tesla is patenting a clever way to train Autopilot with augmented camera images>

또한 Tesla는 ‘Systems and Methods for Training Machine Models with Augmented Data’이라는 특허를 보유하고 있습니다. Tesla는 카메라와 인공지능을 중심으로 하는 시스템을 사용하여 완전 자율주행 시대를 준비하고 있죠. 시각 데이터와 훈련된 신경망에 주로 의존하는 FSD 시스템을 위해서는 엄청난 양의 데이터가 필요합니다.

이를 염두에 둔 Tesla는 가능한 효율적인 방식으로 신경망을 훈련시키기 위해, Data augmentation을 활용하고 있습니다.

Tesla에는 차량에 대한 360도 시각적 범위를 제공하는 카메라가 장착되어 있습니다. 신경망 훈련에 사용되는 이미지는 일반적으로 다양한 센서에 의해 캡쳐되며, 때로는 서로 다른 특성을 갖기도 한다고 밝혀졌죠. Tesla의 Image data augmentation은 이러한 이미지를 최적화된 방식으로 처리할 수 있게 합니다.

Tesla는 “특히 이미지가 흐리거나 가려져있거나, 감지 가능한 물체를 선명하게 볼 수 없는 경우 증강을 통해 모델 예측을 일반화하고 더 강력하게 만들 수 있습니다.”라고 설명했습니다. 또한 이러한 접근 방식은 물체 감지 및 자율 주행 차량에 특히 유용할 수 있다고 덧붙였죠.

또한 이미지는 원본 이미지의 일부를 제거하는 컷아웃 기능으로 보강할 수 있습니다. 제거된 부분은 지정된 색상이나 흐림, 노이즈 또는 다른 이미지와 같은 다른 이미지 콘텐츠로 대체합니다. 이러한 프로세스는 특히 신경망 훈련에 사용되는 이미지와 함께 연결되기 때문에, Tesla의 3D 라벨링에 도움을 줄 것이라는 전망입니다.

결론: 더 정확하고 견고한 모델 학습을 위해 Data augmentation은 필수적

딥 러닝 애플리케이션 중에서 이미지 분류나 객체 감지 및 분할과 같은 컴퓨터 비전 작업은 매우 성공적이었습니다. Data augmentation은 이러한 애플리케이션에서 딥러닝 모델 훈련에 매우 효과적이었죠.

실제로 이미지는 다양한 조건에서 촬영할 수 있습니다. 위에서 언급한 간단한 변환들은 조건의 모든 변화를 설명하기에는 부족할 수 있습니다. 단순 변환의 또 다른 단점은 형상이나 조명의 변화로 인해, 이미지 속 물체가 원래의 특징을 잃을 수도 있다는 점입니다. 따라서 사실적인 변환을 적용하기 위해 보다 심층 신경망 기반의 방법도 연구되고 있습니다.

효과적인 Data augmentation 작업을 위한 팁

모델 훈련 과정에서 데이터 증강을 사용하는 이유는 모델이 다양한 학습 환경에서 훈련을 받아야만 성능의 고도화와 정확도를 보장받을 수 있기 때문입니다.

원본 데이터의 품질은 데이터 증강 기술의 효율성에 중요한 역할을 합니다. 원본 데이터는 모델이 접하게 될 실제 시나리오를 대표해야 하기 때문입니다. 다양하고 대표적인 샘플이 포함된 고품질 원본 데이터를 보유하면 증강된 데이터는 광범위한 변형이나 시나리오에 대응할 수 있습니다. 데이터 증강 기술은 원본 데이터를 수정하여 새로운 샘플을 생성합니다. 이를 위해서는 정확하고 신뢰할 수 있는 레이블의 원본 데이터를 통해 데이터의 무결성을 손상시키지 않으면서 보강을 위한 견고한 기반을 제공해야 합니다.

고품질의 원본 데이터를 사용하면 머신러닝 알고리즘이 기본 패턴이나 상관 관계 및 컨텍스트 정보를 더 잘 이해할 수 있게 됩니다. 이러한 이해를 통해 모델은 현실적이고 유용한 변형을 반영하는 증강 샘플을 생성하여 모델 성능 향상에 기여할 수 있게 됩니다. 즉, 고품질 학습 데이터를 사용함으로써 Data augmentation 기술을 가장 효과적으로 사용할 수 있는 것입니다.

데이터헌트는 Data augmentation을 포함해, 다양한 방식으로 모델 훈련을 위한 데이터를 구축하고 있습니다. 이를 통해 자체적으로 구축한 모델의 데이터 정확도 99%를 달성할 수 있었죠.

요약: Data augmentation의 개요와 비전, 적용 기술

  1. Data augmentation은 가지고 있는 데이터셋을 여러가지 방법으로 확대하여 학습 데이터셋의 규모를 키울 수 있는 방법입니다.
  2. Data agumentation은 이미지 회전이나 텍스트 변환 등의 방식으로 사용할 수 있으며, 모델의 과적합을 방지하는 데에 큰 도움이 됩니다.
  3. Tesla를 포함해 컴퓨터비전을 연구/개발하는 기업에서는 데이터 증강을 적극적으로 활용하고 있으며, 특히 딥러닝을 위한 신경망 훈련에 가장 큰 성과를 보일 것으로 기대됩니다.

Talk to Expert