인공지능(Artificial Intelligence)/딥러닝(Deep Learning)
높은 학습률은 nan 예측을 만들 수 있다.
rongxian
2023. 1. 8. 23:42
모델의 그라디언트가 너무 커지게 되면 모델의 가중치가 너무 높거나 낮아져 모델의 예측이 nan이 될 수 있다.
이를 방지 하기 위해선
1) 낮은 학습률
2) gradient clipping
3) weight decay
등을 적용 할 수 있다.
1)은 그라디언트의 크기를 줄이는 용
2), 3)은 모델의 가중치에 대한 큰 그라디언트의 효과를 완화시키는 용
warmup scheduler를 이용해 eta_max (learning rate의 상한치)를 1e-2~5e-3를 주었을 때 2번째 에폭 학습 도중 모델의 결과가 nan이 발생하였다.
이를 1e-3을 줄임으로써 문제가 해결되었다.
scheduler = CosineAnnealingWarmUpRestarts(optimizer,
T_0=10,
T_up=2,
eta_max=1e-3, # 문제였었다
gamma=.5)