[부스트캠프 AI tech 이미지분류] week06 (2022.02.22)
3430 단어 부스트캠프 AI Tech 3기부스트캠프 AI Tech 3기
07 Training & Inference 1
Loss
- Focal Loss
: Class Imbalance 문제가 있는 경우, 맞춘 확률이 높은 class는 조금의 loss를, 맞춘 확률이 낮은 class는 loss를 훨씬 높게 부여- Label Smoothing Loss
: Class targeet labeld를 Onehot으로 사용하기 보다는 조금 soft하게 표현해서 일반화 성능을 높이기 위함
ex. [0, 1, 0, 0, 0] --> [0.025, 0.9, 0.025, 0.025]
Optimizer
- StepLR: 특정 step마다 LR감소
:torch.optim.lr_scheduler.StepLR(optimizer, step_size=2, gamma=0.1)
- CosineAnealingLR: cosine함수형태처럼 LR을 급격히 변경
:torch.optim.lr_scheduler.CosineAnealingLR(optimizer, T_max=10, eta_min=0)
- ReduceLROnPlateau: 더이상 성능향상이 없을 때 LR감소
:torch.optim.lr_scheduler.ReduceLROnPlateau(optimizer, 'min')
08 Training & Inference 2
Gradient Accumulation
NUM_ACCUM = 2 optimizer.zero_grad() for epoch in range(2): running_loss = 0.0 for i, data in enumerate(train_loader, 0): inpputs, labels = data outputs = net(inputs) loss = criterion(outputs, labels) / NUM_ACCUM loss.backward() if i % NUM_ACCUM == 0: optimizer.step() optimizer.zero_grad()
: 큰 batch가 필요할 때 사용
:loss.backward()
까지만 사용할 경우 loss가 중첩됨
PyTorch Lightning
: keras
만큼 간단한 high-level
코드
Author And Source
이 문제에 관하여([부스트캠프 AI tech 이미지분류] week06 (2022.02.22)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@redgreen/부스트캠프-AI-tech-이미지분류-week06-2022.02.22저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)