본문 바로가기

부스트캠프 AI Tech

[WEEK 6-7] CV 기초 프로젝트

EDA (Exploratory Data Analysis)

- 데이터를 이해하기 위한 노력

 

Pre-processing

- Bounding box, Resize

Generalization

- Bias & Variance, Train / Validation, Data Augmentation (torchvision.tranforms, Albumentations)

Problem(주제)을 깊이 관찰하고 실험으로 증명

 

Data Feeding

- Data Generator와 Model의 속도를 비교하자

torch.utils.data

- Datasets, DataLoader (둘은 분리할 것)

 

Pytorch

- Low-level, Pytonic, Flexibility

- nn.Module : Pythorch 모델의 모든 레이어가 따르는 클래스, child modules를 가짐

- modules : __init__에서 정의한 nn.Module

- forward : 모델(모듈)이 호출 되었을 때 실행 되는 함수, 모든 nn.Module이 가짐

- Parameters : modules가 가지고 있는 계산에 쓰이며, data, grad, requires_grad 변수 등을 가짐

 

ImageNet

- 높은 품질의 데이터 셋은 필수적

Pretrained Model

- torchvision.models로 쉽게 활용 가능

Transfer Learning

- input + CNN backbone + classifier -> output

- 데이터가 충분하고 Similarity가 높은 경우 : Backbone Freeze, Classifier 학습

- 데이터가 충분하고 Similarity가 낮은 경우 : Backbone, Classifier 둘 다 학습

- 데이터가 충분하지 않고 Similarity가 높은 경우 : Backbone Freeze, Classifier 학습

- 데이터가 충분하지 않고 Similarity가 낮은 경우 : 학습 추천하지 않음

 

Loss

- loss.backward()가 실행되며 모델의 파라미터의 grad 값이 업데이트

Optimizer

- LR scheduler : Learning rate를 동적으로 조절

- StepLR, CosineAnnealingLR, ReduceLROnPlateau

Metric

- 데이터 상태에 따라 적절한 Metric 선택

 

Ensemble

- Model Averaging (Voting) : Hard Voting, Soft Voting

- Cross Validation : Stratified K-Fold

- TTA (Test Time Augmentation) : Augmentation 후 모델 추론, 결과를 앙상블

- 성능과 효율의 Trade-off

Hyperparameter Optimization

- Optuna

 

Training Visualization

- Tensorboard

- Weight and Bias (wandb)

Machine Learning Project

- Jupyter Notebook : EDA 할 때 특히 간편

- Python IDLE

'부스트캠프 AI Tech' 카테고리의 다른 글

[WEEK 8] AI 서비스 개발 기초  (1) 2023.12.26
GitHub 제대로 쓰기  (0) 2023.12.14
[WEEK 4-5] CV 이론  (1) 2023.11.30
데이터 직군에 대한 지식 쌓기  (0) 2023.11.30
[WEEK 3-4] Data Visualization  (1) 2023.11.23