- Today
- Total
hye-log
[๋ถ์คํธ์บ ํ AI Tech]WEEK 06_DAY 25 ๋ณธ๋ฌธ
๐ฅ ๊ฐ๋ณํ์ต
[2] Image Classification & EDA
1. EDA(Exploratory Data Analysis)
1) EDA
- ํ์์ ๋ฐ์ดํฐ ๋ถ์
- ๋ฐ์ดํฐ๋ฅผ ์ดํดํ๊ธฐ ์ํ ๋ ธ๋ ฅ
2) EDA์ ๋๊ตฌ -> ๋ฐ์ดํฐ๋ฅผ ์ดํดํ๊ธฐ ์ํด์๋ผ๋ฉด ์ด๋ค ๋๊ตฌ๋ ์๊ด ์์
- ์ผ์ผ์ด ์์ผ๋ก
- Python
- Excel
2. Image Classification
1) Image
- ์๊ฐ์ ์ธ์์ ํํํ ์ธ๊ณต๋ฌผ(Artifact)
- (width, height, channel)
2) Model
- Input + Model = Output
3) Image Classification Model
- Image + Classification Model = Class
3. Baseline
[3] Dataset
1. Pre-processing
1) Data Science
- ์ข์ ๋ฐ์ดํฐ๋ฅผ ๋ง๋๋ Pre-preocessing์ด ์ค์
- ๋๋จธ์ง๋ model ๋ฑ์์ ๋ค๋ฃธ
2) Bounding box
- ์ด๋ฏธ์ง์ ๋ชจ๋ ์ ๋ณด๊ฐ ์ ์ฉํ ๊ฒ์ ์๋๋ฏ๋ก Bounding box๋ก ๊ฒฝ๊ณ๋ฅผ ๊ทธ๋ฆผ
3) Resize
- ๊ณ์ฐ์ ํจ์จ์ ์ํด ์ ๋นํ ํฌ๊ธฐ๋ก ์ฌ์ด์ฆ ๋ณ๊ฒฝ
2. Generalization
1) Bias & Variance
- High Bias(Underfitting) : ๋ฐ์ดํฐ๊ฐ ๊ณ ๋ คํ์ง ์๊ณ ํ์ต์ด ์ถฉ๋ถํ ๋์ง ์์ ๊ฒฝ์ฐ
- High Variance(Overfitting) : ๋ฐ์ดํฐ๊ฐ ๊ณ ๋ ค๋์์ง๋ง ํ์ต์ด ๋๋ฌด ๋ ๊ฒฝ์ฐ
2) Train / Validation
- train set์ ์ผ์ ๋ถ๋ถ์ ๋ฐ๋ก ๋ถ๋ฆฌํ์ฌ valid set์ผ๋ก ์ฌ์ฉ
- train set์ fitting ๋ model์ ๋ง๋ค๊ธฐ ๋๋ฌธ์ valid set์ ํตํด์ ์ผ๋ง๋งํผ ์ผ๋ฐํ๋ฅผ ๊ฐ์ง ์ ์๋์ง ๊ฒ์ฆ
- train set์ด ๋ถ์กฑํ๋ค๊ณ ํด์ test set์ ๊ฑด๋๋ฆฌ๋ฉด ์ ๋จ
3) Data Augmentation
- ์ฃผ์ด์ง ๋ฐ์ดํฐ๊ฐ ๊ฐ์ง ์ ์๋ ๊ฒฝ์ฐ(case), ์ํ(state)์ ๋ค์์ฑ
- torchvision.transforms
- Albumentations
[4] Data Generation
1. Data Feeding
1) ๋ฐ์ดํฐ๊ฐ ๋ง๋ค์ด์ง๋ ์๋์ ํ๋์ด ์ค์ํจ
- ๊ฐ์ RandomRotation, Resize๋ฅผ ์ฌ์ฉํ ๋ ์ด๋ค ์์๋ก transform์ ํ๋์ง์ ๋ฐ๋ผ ์ฑ๋ฅ์ด ๋ฌ๋ผ์ง ์ ์์
2. torch.utils.data
1) Dataset
- Vanilla Data๋ฅผ Dataset์ผ๋ก ๋ณํ
2) Dataset์ ๊ตฌ์กฐ
from torch.utils.data import Dataset # torch.utils.data์ Dataset ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์์
class MyDataset(Dataset):
def __init__(self): # MyDataset ํด๋์ค๊ฐ ์ฒ์ ์ ์ธ๋์์ ๋ ํธ์ถ
pass
def __getitem__(self, index): # MyDataset์ ๋ฐ์ดํฐ ์ค index ์์น์ ์์ดํ
์ ๋ฆฌํด
return None
def __len__(self): # MyDataset ์์ดํ
์ ์ ์ฒด ๊ธธ์ด
return None
3) DataLoader
- Dataset -> DataLoader -> (Batch, Channel, Height, Width)
train_loader = torch.utils.data.DataLoader(
train_set,
batch_size = batch_size,
num_workers = num_workers,
drop_last = True,
)
4) Dataset๊ณผ DataLoader๊ฐ ํ๋ ์ผ์ ๋ค๋ฅด๋ฏ๋ก ๋ถ๋ฆฌํ๋ ๊ฒ์ด ์ข์
- Dataset : Vanilla ๋ฐ์ดํฐ๋ฅผ ์ํ๋ ํํ๋ก ์ถ๋ ฅํด์ฃผ๋ ํด๋์ค
- DataLoader : Dataset์ ํจ์จ์ ์ผ๋ก ์ฌ์ฉํ๊ธฐ ์ํด์ ์ฌ์ฉ
๐ฅ ์ค๋์ ํ๊ณ
CV ๋ํ์ ์ด๋ฆฌ๋ ๊ฐ์๊ฐ ๋ง์ง ์์์ EDA, Dataset, Data Generation ๊ฐ์๋ฅผ ๋ฃ๊ณ ์ด์ผ๊ธฐ ํด๋ณด๊ธฐ๋ก ํ๋ค. ๊ฐ์์์๋ ์ฃผ์ ์ ํ์ ๋ํด์ ์ด์ผ๊ธฐํ๊ณ , ๋ฏธ์ ์ ํตํด์ ๋ฐ์ดํฐ์ ์ ์ด๋ป๊ฒ ์ ์ฉํ ์ ์๋์ง ๊ฐ์ด๋๋ฅผ ์ฃผ๋ ์์ผ๋ก ๊ตฌ์ฑ๋์ด ์๋ค. EDA์์๋ ๊ฐ์๋ง ๋ดค์ ๋์๋ ์ด๋ค ๊ฒ์ ๋ถ์ํด์ผ ํ๋์ง ๊ฐ์ด ์ ์ ์๋๋ฐ, ๋ฏธ์ ์ฝ๋๋ฅผ ๋ณด๋ ๋ฐ์ดํฐ์ ์ด๋ค ๋ถ๋ถ๋ค์ ๋ด์ผ ํ๋์ง ์ ์ ์์๋ค. ๋ฐ์ดํฐ augmentation์์๋ ๋ค์ํ ๋ฐ์ดํฐ augmentation ๊ธฐ๋ฒ๋ค์ ์ ์ฉ์ํค๋ฉด์ ์ด๋ฏธ์ง์ ๋ณํ๋ฅผ ์ดํด๋ณด์๋ค. ์ด๋ฐ augmentation์ ๋ฐ๋ผ์๋ ์ฑ๋ฅ์ด ์ด๋ป๊ฒ ๋ฐ๋์ง ์คํํด๋ณด๊ณ ์ถ๋ค! ํผ์ด์ธ์ ๋์๋ EDA ๊ฒฐ๊ณผ๋ ์ด๋ค augmentation์ ์ ์ฉํ๋ฉด ์ข๊ฒ ๋์ง๋ฅผ ์ด์ผ๊ธฐํด๋ณด์๋ค. classification์ด๋ค๋ณด๋ cutmix, mixup๊ณผ ๊ฐ์ ๋ฐฉ๋ฒ๋ค๋ ์ ์๋์๋๋ฐ, augmentation์ผ๋ก๋ ์ ์ฉํด๋ณด์ง ์์๋ ๊ธฐ๋ฒ์ธ์ง๋ผ ์ด๋ค ๊ฒฐ๊ณผ๊ฐ ๋์ค๊ฒ ๋ ์ง ๊ธฐ๋๋๋ค!
'Boostcourse > AI Tech 4๊ธฐ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ถ์คํธ์บ ํ AI Tech]WEEK 06_DAY 27 (0) | 2022.10.27 |
---|---|
[๋ถ์คํธ์บ ํ AI Tech]WEEK 06_DAY 26 (0) | 2022.10.27 |
[๋ถ์คํธ์บ ํ AI Tech]WEEK 06_DAY 24 (0) | 2022.10.25 |
[๋ถ์คํธ์บ ํ AI Tech]WEEK 05_DAY 23 (0) | 2022.10.22 |
[๋ถ์คํธ์บ ํ AI Tech]WEEK 05_DAY 22 (1) | 2022.10.20 |