인공지능(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)