Week 7 ํ์ต ์ ๋ฆฌ
1. **CV Basic Competition
2. Image
3. Image Processing
4. Image Clasisification
5. Model
6. Representation
7. Trainging Process
8. Efficient Training
9. Evaluation
10. Experiments
1. CV Basic Competition
-
Competition์ ๋ฌธ์ ์ ํด๊ฒฐ์ด ์ ํ์ํ์ง ๊ทธ ๋ฐฐ๊ฒฝ์ ์ค๋ช โ ์ด๋ ๋ฌธ์ ํด๊ฒฐ์ ํํธ๊ฐ ๋ ์ ์์ต๋๋ค.
-
Competition์ ํ๋ฉด์ ์ค์ฉ์ ์ธ ๊ฒฝํ์น๊ฐ ์์ด๊ณ ํ์๊ณผ ํจ๊ปํ๋ฉฐ ์ฌ๋ฌ ๋ฐฉํฅ์ ๋ฌธ์ ์ ๊ทผ ๋ฐฉ์์ ์ ์ ์๊ฒ ๋ฉ๋๋ค.
-
Competition์ ๋ค์ด๊ฐ๋ฉด์
-
๋ฌธ์ ์ ์๊ฐ ๊ฐ์ฅ ์ค์ โ ์ง๋ฌธ์ ๋์ง๋ ๊ฒ์ผ๋ก ์์
Ex 1) ์ด๋ป๊ฒ ๋ง๋ค์ด์ง ์ด๋ฏธ์ง์ผ๊น? ๋ฌธ์์ผ๊น? ๊ทธ๋ฆผ์ผ๊น? ํฌ๋งท์ ์ผ์ ํ๊ฐ?
Ex 2) ํน์ ํน๋ณํ ๋ชฉ์ ์ผ๋ก ์ฌ์ฉํ๋ ๊ฒ์ธ๊ฐ? ๋๋ ํน๋ณํ ํ๊ฒฝ์์ ์ฌ์ฉํ๋ ๊ฒ์ธ๊ฐ?
Ex 3) ์ด๋ฏธ์ง์ ์คํ์ผ์ ์ด๋ ํ์ง ์ธ์์ฒด๋๋์ธ์ง ์๊ธ์จ ๋๋์ธ์ง
Ex 4) ํ๊ฐ Metric์ ์ด๋ค ๊ฒ์ ์ ํํ ์ง
โ ์ด๋ฌํ ์ ๋ณด๋ฅผ ์๊ฒ ๋๋ฉด ์์ผ๋ก ๋ฌด์์ ํด์ผํ ์ง ๊ตฌ์ฒด์ ์ผ๋ก ๋ณด์ด๊ธฐ ์์ํฉ๋๋ค
-
Competition ์ ์๋ ์ฑ์ ํ๊ฐ ์๋๋ค. ๋จ์ง ํ์์ผ๋ฟ์ด๋ค. ํ์ง๋ง ์ด ๋ํ์์ ๋ฌด์์ ์ป์๋์ง ๋ฌด์์ด ๋ถ์กฑํ๋์ง, ๋ฌด์์ ์ถ๊ฐ๋ก ๊ณต๋ถํด์ผํ๋์ง๋ฅผ ์๊ฐํ ์ ์์ด์ผํ๋ค,
2. Image
EDA
โ ๋ฐ์ดํฐ๋ฅผ ๋ถ์ ๋ฐ ํ๊ตฌ, ๊ฐ์ฅ ์ค์ํ ๊ฒ์ ๋ณธ์ธ์ด ์๊ณ ์ถ์ ๊ฒ์ ํ๊ตฌํ๋ ๊ฒ
- ๋ฐ์ดํฐ๋ฅผ ๋ณด๋ฉด์ ๊ถ๊ธํ๋ ๋ด์ฉ
- ๋ฐ์ดํฐ์ ์๊น์, ํน์ง
- ๋ฐ์ดํฐ์ ์์ฑ ๋ฐฐ๊ฒฝ์ ๊ด๋ จ๋ ์์ ์ ์ถ์ธก์ ๊ฒ์ฆ
- ์ฝ๋๋ฅผ๊ธ๊ณผํจ๊ป์์ฑํ๋๋ฅ๋ ฅ.
- ๋งํ๊ณ ์ํ๋๋ฐ๋ฅผ์ฝ๋๋ก์ฎ๊ธฐ๊ณ ์ค๋ช
โ ์ด๋ฏธ์ง ๊ธฐ๋ณธ ์ ๋ณด๋ฅผ ์ ์ ์๊ณ ์ค๋ณต๋ ์ด๋ฏธ์ง ์ ๊ฑฐ, ์ด๋ฏธ์ง ์ํ ํ์ธ ๋ฑ์ด ๊ฐ๋ฅํ๋ค.
3. Image Processing
Geometric Transform
- Translation: ๋ฌผ์ฒด์ ์์น ์ด๋
- Rotation: ๊ฐ๋
๋งํผ ์ด๋ฏธ์ง ํ์ - Scaling: ์ด๋ฏธ์ง ํฌ๊ธฐ ์กฐ์
- Perspective Transformation: ์ด๋ฏธ์ง์ ์๊ทผ ๋ณํ ์ ์ฉ
Data Augmentation
โ ๋ชจ๋ธ์ ๊ณผ์ ํฉ ๊ฐ์, ํ์ต ๋ฐ์ดํฐ์ ๋ค์์ฑ ์ฆ๊ฐ, ๋ชจ๋ธ์ ๊ฒฌ๊ณ ์ฑ ์ฆ๊ฐ
- Common Augmentations: Filps, Rotation, Crops, Clor Jittering
- Advanced Augmentation Techniques: AutoAugment, RandAugment
Normalization
-
๋ฐ์ดํฐ์ ํ๊ท ์ ๋นผ๊ณ ๋ฐ์ดํฐ์ ํ์คํธ์ฐจ๋ก ๋๋
- PyTorch Transform Compose: ์ด๋ฏธ์ง๋ฅผ Tensor๋ก ๋ณํ โ ์ค์ผ์ผ๋ง
- Albumentations Compose: Normalize( [0,1] Scaling์ ํ๋ผ๋ฏธํฐ๋ก ์ง์ ) โ Tensor๋ก ๋ณํ
-
Batch Normalization
โ mini-batch๋จ์๋ก์ ๋ ฅ๋ฐ์ดํฐ๋ฅผ์ ๊ทํ
4. Image Clasisification
-
Coarse-grained Classification
โ ์๋์ ์ผ๋ก ํฐ ๋ฒ์ฃผ๋ก ๊ฐ์ฒด๋ฅผ ๋ถ๋ฅ
- ํด๋์ค ๊ฐ์ ์ฐ๊ด์ฑ์ด ๋น๊ต์ ์ ์ ํธ์ธ ๋ฌธ์
-
Fine-grained Classification
โ ๋์ผํ ์์ ๋ฒ์ฃผ ๋ด์์ ์ธ๋ถ์ ์ธ ํ์ ๋ฒ์ฃผ๋ก ๋ถ๋ฅ
- ๊ฐ์์ข (Species) ๋ด์์ ๋ถ๋ฅ ํ๊ธฐ ๋๋ฌธ์ ๋ค๋ฅธ ํด๋์ค๋ผ๋ ๋น์ทํ ์ ์ด ์กด์ฌ
-
N-Shot Classification
-
Few-shot Classification
ํด๋์ค๋น ๋จ ๋ช๊ฐ์ ๋ฐ์ดํฐ ๋ง์ผ๋ก ํ์ตํ๊ณ Unseen Data ์์ธก
-
One-shot Classification
ํด๋์ค๋น ๋จ ํ๋์ ์์๋ง์ผ๋ก ํ์ตํ๊ณ Unseen Data ์์ธก
-
Zero-shot Classification
ํ์ต ์์ด Unseen Data๋ฅผ ์์ธก โ Foundation model์ ์์กด
-
5. Model
-
Inductive Bias (๊ท๋ฉ์ ํธํฅ)
๋ชจ๋ธ์ด ํ์ต ๊ณผ์ ์์ ํน์ ์ ํ์ ํจํด์ ์ ํ์ตํ๋๋ก ํ๋ ์ฌ์ ๊ฐ์ (์ง์)
- CNN
- Locality & Translation Invariance: ์ด๋ฏธ์ง์ ์ด๋์๋ ๋ํ๋๋ ์ง์ญ ํจํด์ ์ง์ค
- Hierarchical Feature Learning: ๋จ์ํ ํน์ง์์ ๋ณต์กํ ํน์ง์ผ๋ก ํ์ต
- Weight Sharing: ๋์ผํ ํํฐ๋ฅผ ์ด๋ฏธ์ง ์ ์ฒด์ ์ฌ์ฉ
- Transformers
- Long-Range Dependencies: ๋จผ ๊ฑฐ๋ฆฌ์ ๊ด๊ณ๋ฅผ ํฌ์ฐฉ
- Flexible Input Handling: ๋ค์ํ ์ ๋ ฅ ํฌ๊ธฐ๋ฅผ ์ฒ๋ฆฌ
- Self-Attention: ์ ๋ ฅ ๋ถ๋ถ์ ์ค์๋๋ฅผ ๋์ ์ผ๋ก ๊ฐ์ค
- CNN
โ Inductive Bias๋ ๋ชจ๋ธ์ด ์ด๋ค ๊ด์ ์์ ๋ฐ์ดํฐ๋ฅผ ๋ณด๋ ค๊ณ ํ๋๊ฐ ๋ฅผ์ค๋ช ํ๋๊ฒ. ์ด๋ฅผ ์ดํดํ๋ฉด ๋ชจ๋ธ ์ ํ์ ์์ ๋๊ฐ ๋์์ง๋ค.
-
์ฒ์๋ถํฐ ์ด๋ ๋คํ ๋ชจ๋ธ์ ๊ณ ๋ฅด๊ธฐ๋ ์ด๋ ต๋ค
โ ๋ ผ๋ฌธ์์ ๋งํ๋ BackGround, ๋ ผ๋ฌธ์์ ์ฌ์ฉํ ๋ฒค์น๋งํฌ ๋ฐ์ดํฐ ์ ์ผ๋ก ํน์ง ํ์ , ๊ฒฝํ์น ๋ฑ์ ๋ฐฉ๋ฒ์ผ๋ก ๋ชจ๋ธ ์ ํ์ด ๊ฐ๋ฅํ๋ค.
-
CNN๊ณผ Transformer์ ์ฅ๋จ์
- Hybr id Model
โ CNN๊ณผ Transformer๋ฅผ ํฉ์น ๋ชจ๋ธ โ ๊ฐ๋ณ ์ํคํ ์ณ์ ํ๊ณ๋ฅผ ๊ทน๋ณต, ๋ ๋์ Genrelization, Scalability์ ๋ฌ์ฑ
โ CoAtNet, ConViT, CvT, LocalViT
6. Representation
Representation Learning
โ ๋ฐ์ดํฐ๋ก๋ถํฐ ์ ์๋ฏธํ Representation์ ์๋์ผ๋ก ํ์ตํ ์ ์๋๋ก
-
Feature Extraction: Raw ๋ฐ์ดํฐ์์ ์ค์ํ ํน์ง์ ์๋ณํ๊ณ ์ธ์ฝ๋ฉํ๋ ๊ฒ
-
Generalization: ๋ณดํธ์ ์ธ ํจํด์ ํฌ์ฐฉํ์ฌ ๋ณด์ง ๋ชปํ ๋ฐ์ดํฐ์์๋ ์ ์ํํ ์ ์๋ ๋ฅ๋ ฅ
-
Data Efficiency: ํจ๊ณผ์ ์ธ ํน์ง ํ์ต์ ํตํด ๋๊ท๋ชจ ์ฃผ์ ๋ฐ์ดํฐ์ ์ ํ์์ฑ์ ์ค์ด๋ ๊ฒ
-
Transfer Learning: ํ task๋๋ฉ์ธ์์ ์ฌ์ ํ์ต๋ ๋ชจ๋ธ์ ๋ค๋ฅธ task๋๋ฉ์ธ์ ์ ์ฉ
-
Self-Supervised Learning: Label์ด ์๋ ๋ฐ์ดํฐ์์ Representation ํ์ต
- Contrastive Learning: Contrastive loss๋ positives๋ฅผ ๋ชจ์ผ๊ณ negatives๋ฅผ ๋ฐ์ด๋
-
Multimodal Learning: ์ฌ๋ฌ๊ฐ์ง modality์์ ์ ๋ณด ๊ฒฐํฉ
-
Foundation Models: ๊ด๋ฒ์ํ๊ณ ๋ฐฉ๋ํ ๋ฐ์ดํฐ์ ์์ ์ฌ์ ํ์ต, ๊ฐ์ฒด์ ๋ํ ๋ค์ํRepresentation์ ์๋ฏธ๋ฅผ ๋ น์ฌ๋ผ ์ ์๋ค
7. Trainging Process
ํ์ต Task ์ ์ธ
โ ๋ฌด์์ ํ์ตํ ์ง?
- ๋ด๊ฐ ํ์ตํ๊ณ ์ ํ๋ Task์ ๋ง๊ฒ ๋ฐ์ดํฐ๋ฅผ ๊ตฌ์ฑํ๊ณ Dataset class์ Dataloader๋ฅผ ์ ์ธ
- ์ ํฉํ Model ์ ๋ณ
ํ์ต ๋ฐฉ๋ฒ ์ ์
โ ์ด๋ป๊ฒ ํ์ตํ ์ง?
-
์์คํจ์ ์ ์ธ
์ฌ๋ฌ Loss ํจ์์ ํ๋ผ๋ฏธํฐ ๊ฐ์ ์ค์ ํ์ฌ ๋ ์ฑ๋ฅ์ ๋์ผ ์๋ ์์
Ex ) CrossEntropyLoss์์ Label_smoothing์ 0.1๊ฐ์ ๋ถ์ฌํ๋ ์ฑ๋ฅ์ด ์ฌ๋ผ๊ฐ๋ ๊ฒฝ์ฐ๋ฅผ ํ์ธํจ
-
Optimizer ์ ์ธ
-
Learning Rate Scheduler ์ ์ธ
ํ์ต ์ค๊ณ
โ ์ด๋ป๊ฒ, ์ผ๋ง๋ ํ์ตํ ์ง?
- Training loop ์ค๊ณ
- ๋ช๋ฒ์ Loop๋ฅผ ํ์ตํ ์ง์ ๋ํ Step๊ณผ Iteration์ ์ค์
8. Efficient Training
Data Process ์ต์ ํ
-
Gradient Accumulation: ์ฌ๋ฌ ๋ฐฐ์น์์ ๊ณ์ฐ๋ gradient๋ฅผ ๋์ ํ์ฌ ์ ๋ฐ์ดํธํ๋ ๊ธฐ์
โ ์ด๋ ์์ ๋ฐฐ์น ์ฌ์ด์ฆ๋ผ๋ ํฐ ๋ฐฐ์น ์ฌ์ด์ฆ๋ฅผ ์ฌ์ฉํ๋ ๊ฒ๊ณผ ์ ์ฌํ ํจ๊ณผ๋ฅผ ๋
-
Mixed Precision Training: ๋ชจ๋ธ ์ฑ๋ฅ๊ณผ ๊ด๋ จ๋ ์ฐ์ฐ์์ FP32๋ฅผ ์ฌ์ฉํ์ฌ ์ ํ๋๋ฅผ ๋์, ์ฐ์ฐ์ด ํ์ํ ์์ ์์๋ FP16์ ์ฌ์ฉํด ์๋๋ฅผ ๋์
Semi-Supervised Learning
- Pseudo Labeling: ํ์ตํ ๋ชจ๋ธ์ ์ด์ฉํด ๋ผ๋ฒจ์ด ์๋ ๋ฐ์ดํฐ๋ฅผ ํ์ตํ๊ณ ์ด๋ฅผ ๋ค์ ํ์ต์ ์ด์ฉ
- Image Generation: ์ด๋ฏธ์ง๋ฅผ ์์ฑํ์ฌ ํ์ต์ ํ์ฉํ ์ถ๊ฐ ๋ฐ์ดํฐ๋ฅผ ํ๋ณด
9. Evaluation
Metric
โ ๋ชจ๋ธ์ด ์ฌ๋ฐ๋ฅด๊ฒ ํ์ต์ด ๋๊ณ ์๋์ง ๊ทธ ์์น๋ฅผ ์ ๋์ ์ผ๋ก ๋ํ๋ธ ๊ฒ
-
Metric ์ ํ
โ ๋ฌด์์ ๋ ์ค์ํ๊ฒ ์๊ฐํ๋๋์ ๋ฐ๋ผ ๋น์ฉ์ด ๋ค๋ฅผ ์ ์๊ธฐ ๋๋ฌธ์ ์ ์ ํํด์ผํจ
Ex 1) ์ฐ๋ ๊ธฐ์ฅ์ ๋๋์ด ๋ค์ด๋ ์์ค์ด ์ ๋ค โ ์์ธก์ด ํ๋ ค ์ค์ ๋ก ๋๋์ด ์๋๋ฐ ์ก์ผ๋ฉด ๋ฏผ์ ๋๋ฌธ์ ๋๋ฌธ ์ ๋ค.(False Positive๊ฐ ๋ฎ์์ผํ๋ค.) โ Precision์ด ๋์ ๋ชจ๋ธ์ด์ด์ผํ๋ค
Ex 2) ๊ธ์๋ฐฉ์ด๋ผ ํ ๋ฒ์ด๋ผ๋ ๋๋์ ๋ชป ์ก์ผ๋ฉด ์์ค์ด ํฌ๋ค. (False Negative๊ฐ ๋ฎ์์ผํ๋ค.) โ ์์ธก์ด ํ๋ ค ์ค์ ๋ก ๋๋์ด ์๋์๋ค๊ณ ํด๋ ๊ทธ๊ฑด ์๋ฌด๋ ์ง๋ ์๋ค. โ Recall์ด ๋์ ๋ชจ๋ธ์ด์ด์ผํ๋ค.
Ensemble
โ ๋์ผํ ํ์คํฌ์ ์ฌ๋ฌ ๊ฐ์ง ๋ชจ๋ธ์ ๊ฒฐ๊ณผ๋ฅผ ํผํฉํ์ฌ ์ฑ๋ฅ์ ๋์ธ๋ค
-
Weighted Ensemble: ์ฑ๋ฅ์ด ๋ ์ข์ ๋ชจ๋ธ์ ๋ ๋ง์ ๊ฐ์ค์น๋ฅผ ๋ถ์ฌ
-
Voting
- Soft Voting: ์์ธกํ๋ฅ ์ ๋น๊ตํด ์ ํ
- Hard Voting: ์์ธกํ Class ์ค ๊ฐ์ฅ ๋ง์ด ๋์จ ๊ฒ์ ์ ๋ต์ผ๋ก ์ ์
-
Cross-Validation: ํ๋ จ๋ฐ์ดํฐ๊ฐ ๋ถ์กฑํ ๋ Validation Set์ ๋ฐ๊ฟ๊ฐ๋ฉด ํ๋ จ
- K-Fold: Split์ ๋ฐ๋ผ Fold ๊ฐฏ์์ Validation ๋น์จ์ด ๊ฒฐ์ ๋จ
โํด๋์ค์ ๋ถํฌ๋ฅผ ๊ณ ๋ ค, Task์ ์์ฑ์ ๋ฐ๋ผ ๋ค์ํ ์ ๋ต์ด ์กด์ฌ
-
Test-Time Augmentation (TTA): ํ ์คํธ ๋ฐ์ดํฐ์ ์ด๋ฏธ์ง๋ฅผ N๋ฒ Augmentation ํ ๊ทธ N๊ฐ์ ๊ฒฐ๊ณผ๋ฅผ ์์๋ธ
10. Experiments
- ์คํ๊ด๋ฆฌ ์ค์์ฑ: ํ ๋ด ์ผ๊ด๋ ์คํ๊ธฐ๋ก์ ์ค์์ฑ
- ์คํ์ ์ฌํ์ฑ ๋ณด์ฅ
โ ์ธ์ ๋ฌด์์ ์ด๋ป๊ฒ ์คํํ๋ ์ง ์ ์ ์์ด์ผ ํ๋ค.
์คํ๊ฐ๋ฐ๋๊ตฌ
- Jupyter
- ์ฅ) ์ธํฐ๋ํฐ๋ธํ ์ฝ๋ ์คํ โ EDAํ ๋ ํธํจ
- ๋จ) ๋๊ท๋ชจ ์ฝ๋ ๊ด๋ฆฌ์ ๋ถํธ
- Python Script
- ์ฅ) ๋ชจ๋ํ ๋ฐ ์ฌ์ฌ์ฉ์ฑ
- ๋จ) ์ธํฐ๋ํฐ๋ธํ ๊ฐ๋ฐ ๋ฐ ํ ์คํธ์ ๋นํด ๋ถํธ