➡️ Define Computational graph
loss.backward()시 weight.grad는 각 weights의 gradient를 가지고 있음
gradient 추적을 멈춘다.
모델 학습 과정에서 조정되는 매개변수와는 별개의 값으로 모델 최적화 과정을 제어하고 모델 학습과 수렴율에 영향을 미치는 매개변수
데이터셋 전체를 반복적으로 학습하는 횟수
Epoch 값이 너무 크다면 ➡️ Overfitting
Epoch 값이 너무 작다면 ➡️ Underfitting
모델이 학습하는 과정에서 데이터들을 Batch Size 만큼 학습할 때마다 parameter를 한 번 수정
역전파 단계를 거쳐 계산한 gradient 를 이용해 parameter를 업데이트 하는 정도
하이퍼 파라미터를 조정해준 이후 Optimization Loop을 통해 모델을 학습하고 최적화 한다.
Train Loop
Validation / Test Loop
모델이 예측한 값과 실제 값과의 오차를 계산한다.
회귀(regression) 문제에서는 nn.MSELoss
분류(classification) 문제에서는 nn.CrossEntropyLoss
Loss Function 을 통해 계산한 오차를 loss.backward()를 호출하여 역전파시켜 각 매개변수에 대해 gradient를 저장한다.
그 이후 optimizer.step() 을 호출하여 그 gradient로 매개변수를 조정한다.ex) SGD, ADAM, RMSProp
출처 : PyTorch Tutorials https://tutorials.pytorch.kr/beginner/basics/autogradqs_tutorial.html
https://tutorials.pytorch.kr/beginner/basics/optimization_tutorial.html
https://tutorials.pytorch.kr/beginner/basics/saveloadrun_tutorial.html
글이 많은 도움이 되었습니다, 감사합니다.