[AI Competition Tutorial] Datasets

임수정·2022년 2월 21일

AI Competition

목록 보기
7/10

Datasets

1. Datasets Overview

  • Dataset 준비 :
    주어진 vanilla data를 모델이 좋아하는 형태의 Dataset으로 바꾸기

2. Pre-Processing

2.1. Data Science is..

  • Data Science라는 직업에서 가장 많이 비중을 차지하는 것은?
    • 학생들 : 모델 개발..? 알고리즘..?
    • 현업자 : 데이터 전처리.... 80%는 데이터 전처리...
  • 보통 경진대회용 데이터는 그 품질이 매우 양호한 편이다.
  • 실제 프로젝트에서는 경진대회보다 데이터가 정제되지 않은 경우가 대부분..
  • 따라서 현업에서는 Data Mining 단계도 매우 중요!

2.2. Image Preprocessing : Bounding Box

  • 가끔 필요 이상으로 많은 정보를 가지고 있기도 하다.
  • 따라서 원하는 정보만 보기 위해 bounding box를 이용해 이미지에서 일부를 잘라낼 수 있다.

2.3. Image Preprocessing : Resize

  • 계산의 효율을 위해 적당한 크기로 사이즈 변경
  • ex) original 이미지 해상도 5000 x 4000
    => 일주일 동안 학습 불가.. => 크기 조정 필요
  • 이미지 사이즈를 통일하기 위해서 진행하기도 함

2.4. Example:APTOS Blindness Detection

  • 이미지 전처리 방식은 도메인, 데이터 형식에 따라 정말 다양한 case가 존재한다.
  • 특히 medical 적인 이미지들은 전처리를 논문에서도 많이 제안하고 있다.
  • APTOS Blindness Detection 이미지 전처리 예시
    • 의료적 시스템이 잘 갖춰지지 않은 지역의 경우,
      좋은 장비가 없고 병원이 부족해서 실명 조기 진단이 어려움
    • 따라서 사진으로 실명 조기 진단을 할 수 있는 프로젝트를 진행
    • 사진의 특징이 좀 더 잘 보이게 전처리를 진행
      (좌: 비정상, 우: 정상)
    • 이렇게 이미지의 경우 좀 더 특징을 살리기 위해 전처리를 하기도 함

3. Generalization

3.1. Bias & Variance

  • 학습이 너무 안됐거나, 학습이 너무 되었을 때에는
    추론이 제대로 진행되지 않음
  • underfitting: High bias, 너무 데이터를 고려하지 않음
  • overfitting: High variance, 너무 학습 데이터에만 특화됨
  • 데이터를 이용해 underfitting, overfitting을 완화할 수 있다.

3.2. Train / Validation

  • 훈련 셋 중 일정 부분을 따로 분리, 검증 셋으로 활용
  • 검증하는 절차를 통해서 일반화가 잘 되었는지 확인하는 절차

3.3. Data Augmentation

  • 주어진 데이터가 가질 수 있는 case(경우)와 state(상태)의 다양성을 높이는 것이 목표
  • 모델이 노이즈에 robust하게 학습될 수 있게 하기 위해 진행, 데이터양을 늘리기 위해서도 사용
  • Data Dugmentation Tip:
    문제가 만들어진 배경과 모델의 쓰임새를 살펴보면 augmentation 방법에 대한 힌트를 얻을 수 있다!

3.4. Augmentation 라이브러리

1) torchvision.transforms

  • Image에 적용할 수 있는 다양한 함수들이 존재
    • RandomCrop, Flip 등
  • 다만 도메인에 따라 flip이 안될 수도 있고 돌리는 게 안될 수도
  • 따라서 도메인 이해가 선행되어야 함
  • transforms의 종류는 많고 사용은 간편하다

2) Albumentations

  • 더 빠르고 더 다양한 기능
    • blur, Colorjitter, Gaussian Blur, MultiplicaateNoise, CLAHE, Equalize, GlassBlur, RGBShift, ChannelDropout, FancyPCA, MedianBlur, RandomBrightnessContrast, ChannelShuffle, GaussNoise, MotionBlur, RandomFog 등
  • albumentations github

3.5. 당부하는 말

  • '무조건'이라는 단어를 제일 조심하자.
  • 어떤 방법론도 항상 좋은 결과를 가져다 주지는 않는다.
  • 함수들은 여러가지 도구 가운데 하나일 뿐이고,
    무조건 적용 가능한 마스터키 같은 것도 사실 없다.
  • 앞서 정의한 problem(주제)을 깊게 관찰해서,
    어떤 기법을 적용하면 이러이러한 다양성을 가질 수 있겠다 가정하고,

    그 가정을 실험으로 증명해야 한다.
profile
유쾌하게, 열정적으로, 진심을 다해

0개의 댓글