Loading...
2024. 4. 17. 23:42

Pytorch에서 learning rate scheduler 사용하는 방법 알기

1. 개요 learning rate는 model train 성능을 결정하는 중요한 요소 동일한 learning rate를 사용하여 처음부터 끝까지 학습을 할 수도 있지만, 초반에는 큰 learning rate를 사용하여 빠르게 최적값에 가다가, 후반에는 작은 learning rate를 사용하여 미세조정을 할 수도 있다. 기본적인 원리는 지정한 epoch 스텝마다 learning rate에 gamma를 곱한 값을 새로운 learning rate라 하고 다음 epoch을 돌린다. 2. 기본적인 사용법 Pytorch에서는 다양한 learning rate scheduler를 지원하고 있다. 기본적으로 학습시에 batch마다 optimizer.step()을 하고 나서, batch마다 learning rate를 바..

2023. 10. 18. 01:34

담금질 기법(simulated annealing) 배우고 최소 외접원 문제(smallest enclosing circle problem) 풀기

1. 담금질 기법(simulated annealing) 담금질 기법은 인공지능에서 말하는 gradient descent와 비슷하다. 목적함수를 설정하고, 해당 함수를 최적화하는 해를 찾는 것이다. 현재 답의 근처 해를 적당히 찾은 다음, 해가 더 좋아질 경우에는 갱신하고 해가 좋아지지 않을 경우에는 확률적으로 갱신하는 기법이다. 다항시간에 해를 찾기 어렵다고 생각되면 적당히 좋은 해를 찾기 위해 사용되는 휴리스틱(heuristic) 방법이다. 마치 금속을 뜨거운 온도에 담금질하여 원하는 금속으로 만드는 과정과 비슷하다고 하여 이름 붙여진 듯 하다. 원하는 금속으로 만들려면 적절한 온도에 담그는게 중요한데, 담금질 기법의 핵심은 온도 설정에 있다. 인공지능의 gradient descent에서도 weight..

2023. 4. 26. 00:29

pytorch에서 optimizer & metric 기본개념 재활

1. optimizer는 무엇일까 loss는 gradient를 발생시키지만 gradient로부터 parameter를 업데이트시키는 것이 optimizer 업데이트하는 방식에 따라 다른 특징을 보이며 다른 성능을 나타낸다. 어떤 것을 선택하느냐에 따라 수렴속도나 수렴의 안정성에 차이가 있을 수 있어 신중하게 선택할 필요가 있다 2. learning rate learning rate는 계산된 gradient로부터 parameter를 얼마나 업데이트시킬지 결정하는 요소중에 하나로 학습 중에 고정시켜 사용할 수 있지만 그렇게 한다면, 고차원의 함수를 학습하고자 하는 딥러닝에서는 global minimum을 못찾을 가능성이 높다 반면 학습 중에 learning rate를 변화시킬 수 있으면 유연하게 global ..

2022. 5. 16. 01:52

transformer에 사용된 warm up learning rate scheduler

1. warm up learning rate scheduler 최적화 알고리즘인 optimizer의 learning rate는 중요한 hyperparameter인데 보통 하나의 값을 선택하고 전 과정동안 그 값으로 학습을 진행함. 그러나 조금 더 빠르게하면서 모델 성능은 높이고 싶다면 학습 중 변경하는 방법도 생각해볼 수 있음 이런 기법을 learning rate scheduling라고 부른다. 학습 중 적절한 방식으로 learning rate를 변경하면서 학습한다. 모델의 성능을 높이고 학습도 빠르게 할 수 있는 여러 기법들이 있다. warm up learning rate scheduler은 transformer에서 사용한다면 학습이 경험적으로 잘 된다고 많은 경우 알려져있다. 2. 직관적으로 warm..