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 |