네이버 AI 부스트캠프 4기 : P-stage Classification 2

nask·2022년 11월 8일

CV 기초대회 3강 - Dataset

Overview

  • 주어진 Vanilla Data를 모델이 좋아하는 형태의 Datasetf으로 변환하는 것

Pre-processing

  • 보통 데이터 사이언스 실무에서 전체 과정 중 모델링이나 그 외의 것은 20%만 차지... 나머지 80%는 전처리임

1. Bounding box

  • 주어진 이미지에서 필요한 일부만 추출

2. Resize

  • 계산의 효율을 위해 이미지의 크기를 적절히 변경

  • 이미지 크기가 증가할 때 성능향상 폭이 계산량보다 적을 수 있음

Others

  • 도메인, 데이터 형식에 따라 매우 다양한 Case 존재

  • e.g., APTOS Blindness Detection

참고자료 https://www.kaggle.com/code/ratthachat/aptos-eye-preprocessing-in-diabetic-retinopathy/notebook

Generalization

Bias & Variance

  • High Bias : underfitting - 주어진 학습 데이터를 제대로 학습 x

  • High variance : overfitting - 주어진 학습 데이터를 너무 잘 학습하여 일반화 x

Train / Validation

  • 학습 데이터 중 일부를 검증 데이터로 분리하여 처음보는 데이터셋에 대한 일반화 성능 테스트(e.g., hyper parameter)

Data Augmentation

  • 주어진 데이터가 가질 수 있는 경우와 상태의 다양성을 고려하기 위해 기존 데이터를 변환해 추가

  • 노이즈에 강건하고 일반화 성능이 좋은 모델을 만듦

  • 문제가 만들어진 배경과 모델의 쓰임새를 살펴서 힌트를 얻음(e.g., 실내/실외 촬영, 촬영 방법 등)

  • torchvision.transforms, Albumentations


CV 기초대회 4강 - Data Generation

Overview

  • 구축한 Dataset에서 어떻게 하면 학습을 위한 Data를 잘 뽑아낼 수 있을까?(generation)

Data Feeding

  • 대상의 상태를 고려해서 먹이를 줌

  • 공장에서 생상되는 제품의 양을 늘리려면 설계, 제작, 포장 중 제작 프로세스만 늘려서는 안 됨

=> 모델의 처리량에 알맞은 데이터를 공급해야하며, 데이터 양을 늘리려면 모델의 최대 처리량도 늘어나야 함

Example

  • transforms의 종류와 순서 별로 처리 속도에 차이 발생

torch.utils.data

Datasets

  • Vanilla Data -> Dataset

1) __init__(self) : Dataset 클래스 선언 시 호출

2) __getitem__(self, index) : index 위치의 아이템 리턴

3) __len__(self) : Dataset 아이템의 전체 길이

Dataloader

  • Dataset을 더 효율적으로 사용하기 위함

1) Datasets

2) batch_size

3) num_workers

4) drop_last

5) shuffle

6) sampler

7 collate_fn
...

0개의 댓글