ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 딥러닝에서 Learning Rate를 최적화하는 방법
    AI ML/ML 2020. 6. 23. 22:12

    https://towardsdatascience.com/learning-rate-a6e7b84f1658


     

    • 작은 learning rate는 뉴럴넷을 느리고 조심스럽게 adjust, Local Minima 국소 최적치에 빠져 최적화된 W값을 찾기도 전에 학습이 끝날 수 있음
    • 큰 Learning rate는 impetuous 맹렬하다. 빠르게 adjust but, overshooting의 위험성

    딥러닝에서 뉴럴넷을 빠르고 정확하게를 동시에 만족시키는 Learning Rate 찾기가 과제

    In general, lr = 0.01

    학습률 스케쥴러(Learning Rate Scheduler)

    # 학습률 스케줄러는 옵티마이져를 통해 적용된다.
    optimizer = torch.optim.SGD(model.parameters(), lr=0.01)
    
    # 지정한 스텝 단위로 학습률에 감마를 곱해 학습률을 감소시키는 방식
    scheduler = lr_scheduler.StepLR(optimizer, step_size=1, gamma= 0.99) 
    
    # 지정한 스텝 지점(예시에서는 10,20,40)마다 학습률에 감마를 곱해줘서 감소시키는 방식
    scheduler = lr_scheduler.MultiStepLR(optimizer, milestones=[10,20,40], gamma= 0.1)  
    
    # 매 epoch마다 학습률에 감마를 곱해줌으로써 감소시키는 방식
    scheduler = lr_scheduler.ExponentialLR(optimizer, gamma= 0.99)        
    
    # 원하는 에폭마다, 이전 학습률 대비 변경폭에 따라 학습률을 감소시켜주는 방식
    scheduler = lr_scheduler.ReduceLROnPlateau(optimizer,threshold=1,patience=1,mode='min')

     

    'AI ML > ML' 카테고리의 다른 글

    Label Encoding + One Hot Encoding  (0) 2021.01.21
    Cross Validation  (0) 2021.01.19
    How to deal with missing data  (0) 2020.06.24

    댓글

Designed by Tistory.