1. Feature Extraction (ํน์ง ์ถ์ถ)
# ๋ฐฑ๋ณธ ์์ ๊ณ ์ , ํค๋๋ง ํ์ต
for param in model.features.parameters():
param.requires_grad = False
2. Fine-tuning (๋ฏธ์ธ์กฐ์ )
# ์ ์ฒด ๋ชจ๋ธ ํ์ต (๋ฎ์ ํ์ต๋ฅ )
optimizer = optim.Adam(model.parameters(), lr=1e-5)
3. Progressive Fine-tuning (์ ์ง์ ๋ฏธ์ธ์กฐ์ )
# ๋จ๊ณ๋ณ๋ก ๋ ์ด์ด ์ธํ๋ฆฌ์ฆ
# 1๋จ๊ณ: ํค๋๋ง โ 2๋จ๊ณ: ๋ง์ง๋ง ๋ช ๋ธ๋ก โ 3๋จ๊ณ: ์ ์ฒด
4. Discriminative Learning Rates
# ๋ ์ด์ด๋ณ๋ก ๋ค๋ฅธ ํ์ต๋ฅ ์ ์ฉ
optimizer = optim.Adam([
{'params': model.features.parameters(), 'lr': 1e-5},
{'params': model.classifier.parameters(), 'lr': 1e-3}
])
5. Knowledge Distillation (์ง์ ์ฆ๋ฅ)
# ํฐ ๋ชจ๋ธ(teacher)์ ์ง์์ MobileNet(student)์ ์ ๋ฌ
loss = student_loss + distillation_loss
6. Multi-task Learning (๋ฉํฐํ์คํฌ)
# ํ๋์ ๋ฐฑ๋ณธ์ผ๋ก ์ฌ๋ฌ ํ์คํฌ ๋์ ํ์ต
class MultiTaskMobileNet(nn.Module):
def __init__(self):
self.backbone = mobilenet_v2(pretrained=True).features
self.classifier1 = nn.Linear(1280, num_classes1) # ๋ถ๋ฅ
self.classifier2 = nn.Linear(1280, num_classes2) # ๊ฐ์ ์ธ์
7. Pruning + Fine-tuning (๊ฐ์ง์น๊ธฐ)
# ๋ถํ์ํ ์ฐ๊ฒฐ ์ ๊ฑฐ ํ ์ฌํ์ต
import torch.nn.utils.prune as prune
prune.global_unstructured(parameters_to_prune, pruning_method=prune.L1Unstructured, amount=0.3)
8. Quantization-aware Training (์์ํ ํ์ต)
# 8bit ์์ํ๋ฅผ ๊ณ ๋ คํ ํ์ต
model = torch.quantization.prepare_qat(model)
9. Neural Architecture Search (NAS)
- ์๋์ผ๋ก ์ต์ ์ํคํ ์ฒ ํ์
- MobileNet ๋ธ๋ก์ ๋ฒ ์ด์ค๋ก ์๋ก์ด ๊ตฌ์กฐ ์์ฑ
10. Domain Adaptation
# ๋๋ฉ์ธ ๊ฐ ์ฐจ์ด๋ฅผ ์ค์ด๋ ์ ๋์ ํ์ต
domain_classifier = nn.Sequential(...)
11. Few-shot Learning
# ์ ์ ๋ฐ์ดํฐ๋ก ๋น ๋ฅด๊ฒ ์ ์
# Meta-learning, Prototypical Networks ๋ฑ
12. Self-supervised Pre-training
# ๋ผ๋ฒจ ์๋ ๋ฐ์ดํฐ๋ก ๋จผ์ ํ์ต
# SimCLR, BYOL ๋ฑ์ ๋ฐฉ๋ฒ
13. Ensemble Methods
- ์ฌ๋ฌ MobileNet ๋ชจ๋ธ ์กฐํฉ
- ๋ค์ํ ๋ฐ์ดํฐ ์ฆ๊ฐ์ผ๋ก ํ์ต๋ ๋ชจ๋ธ๋ค
14. Continual Learning (์ง์ ํ์ต)
- ๊ธฐ์กด ์ง์ ์ ์งํ๋ฉฐ ์๋ก์ด ํ์คํฌ ํ์ต
- Catastrophic forgetting ๋ฐฉ์ง
์ฉ๋๋ณ ๋ถ๋ฅ:
- ์๋ ์ค์ฌ: Pruning, Quantization
- ์ ํ๋ ์ค์ฌ: Ensemble, Knowledge Distillation
- ๋ฐ์ดํฐ ๋ถ์กฑ: Few-shot, Self-supervised
- ๋ค์ค ๋๋ฉ์ธ: Multi-task, Domain Adaptation
- ์ง์์ ์ ๋ฐ์ดํธ: Continual Learning
์ํฉ๊ณผ ๋ชฉ์ ์ ๋ฐ๋ผ ์ด๋ฐ ๋ค์ํ ๋ฐฉ๋ฒ๋ค์ ์กฐํฉํด์ ์ฌ์ฉํ๋ ๊ฒ ์ผ๋ฐ์ ์ด์์!
๋ต๊ธ ๋จ๊ธฐ๊ธฐ