2023/07/18 데이터 증강

조영문·2023년 7월 18일
0

AI

목록 보기
1/5
post-thumbnail

<가트너 기술 사이클 : 기술에 대한 기대와 현실 수준의 차이>

  • 양질의 데이터가 부족하다.

데이터 증강(Data Augmentation)

  • 가지고 있는 데이터셋을 여러 가지 방법으로 증강하여 실질적인 학습 데이터셋의 규모를 키울 수 있는 방법.

방법

  • Mirroring
  • Random Cropping
  • Roatation
  • Local Wraping
  • Color Shifting

GAN(Generative Adversarial Network) 증강

해결방안 중 하나 : GAN(Generative Adversarial Network)

: GAN을 경찰과 위조지폐범 사이의 게임으로 비유했다. GAN은 경찰을 속일 수 있는 위조지폐 생성을 목표로 학습을 반복하고, 나중에는 경찰이 진짜와 가짜를 구분할 수 없는 수준의 데이터를 합성해낸다. 이 기술은 인공지능 학습용 데이터에 대한 두 가지 중요한 역할을 한다.

  • 생성모델과 판별모델이 '경쟁'을 통해 실제와 가까운 데이터를 만들어내느 머신러닝 방식(비지도 학습)

1. 데이터의 양적 질적 고도화를 통한 희소 데이터 문제 해결

  • 인공지능 학습용 데이터 셋을 구축하기 위해서는 1) 데이터 수집 2) 데이터 가공 과정을 거쳐야 한다. 이 중 한 과정이라도 완벽하지 않다면 기대하는 인공지능 모델 학습은 어렵다.
    데이터 수집이 어려운 경우도 있고, 가공이 어려운 경우도 있다.

그래서, GAN을 활용하면 소량으로 수집 및 가공된 데이터 셋을 증강하여 학습용 데이터 셋을 구축할 수 있다.

2. 데이터의 개인정보 보호를 통한 데이터 활용성 문제 해결

  • 데이터 수집, 가공은 쉽지만 활용하기 어려운 데이터의 문제를 해결할 수 있다.

구성

  • 확률분포를 학습하며, 실제처럼 보이는 데이터를 생성하는 Generator와 데이터를 구별하는 판별 모델 Discriminator로 구성되어 있음
  • 딥러닝 과정에서 생성 모델은 끊임없이 거직 예제를 만들어내고, Discriminator는 실제 데이터와 가짜 데이터를 구별하는 것으로 학습한다.

종류

CycleGAN

: 이미지 간 변환을 학습하는데 주로 사용되는 모델

StyleGAN

: 인간의 얼굴에 관한 특징을 외워서 현실에 존재하지 않는 새로운 인간의 얼굴 이미지를 생성하는 것

한계

  • Model-Collapse는 Generator와 Discriminator 중 하나가 너무 학습이 너무 잘 돼서 다른 하나의 학습이 진행되지 않는 것

이외의 데이터 증강 방법

  1. 파이토치
    ▶ 설치가 간편하다
    ▶ 이해와 디버깅이 쉬운 직관적이고 간결한 코드로 구성되었다
    ▶ Define-by-Run 방식을 기반으로 한 실시간 결과값을 시각화한다
    ▶ 파이썬 라이브러리(Numpy, Scipy, Cython)와 높은 호환성을 가진다
    ▶ Winograd Convolution Alogithm 기본 적용을 통한 빠른 모델 훈련이 가능하다
    ▶ 모델 그래프를 만들 때 고정상태가 아니기 때문에 언제든지 데이터에 따라 조절이 가능하다(유연성 지님)
    ▶ Numpy 스러운 Tensor 연산이 GPU로도 가능하다
    ▶ Autograd System을 이용해 쉽게 DDN을 짤 수 있다
    ▶ 학습 및 추론 속도가 빠르고 다루기 쉽다

  2. Cutmix
    ▶ CutMix란 훈련 이미지들의 패치들이 자르고 붙여져 이미지의 레이블들 또한 패치들의 영역에 정비례하게 섞이게 하는 방법입니다. 맨 오른쪽 이미지처럼 강아지 이미지에 고양이 이미지를 덧대고, 두 이미지의 비율만큼을 레이블로 나타내는 방법입니다.
    특히 이 방법은 Cutout(2017년)과 Mixup(2017년)이라는 이전에 소개된 방법들을 혼합한 방법으로서, 두 방법들의 단점들을 해결하였습니다. Cutout은 이미지의 일부를 사각형으로 잘라내는 방법으로, 중요한 feature들이 모여있는 영역을 잘라낼 수 있어 딥러닝 훈련에 방해 요인으로 작용할 수 있습니다. 그리고 Mixup은 두 이미지를 반투명하게 만들어 혼합하는 방법으로, 만들어진 이미지가 애매모호하고 자연스럽지 않아 훈련을 할 딥러닝 모델을 혼란스럽게 만들 수 있습니다. 그러나 CutMix는 증강된 이미지의 모든 픽셀들을 유용히 사용할 수 있고 합쳐진 이미지의 비율대로 레이블이 되어 더욱 효과적인 훈련을 할 수 있는 장점이 있습니다.

=> 가장 최신의 방법은 GAN 데이터 증강이다. 그래서 가장 효과적이다.

1개의 댓글

comment-user-thumbnail
2023년 7월 18일

글 잘 봤습니다, 감사합니다.

답글 달기