728x90
반응형

Optimizer 2

[pytorch] 3. 모델 학습 (파이토치 학습 절차)

모델을 학습을 시킨다는 것은 y = wx + b 라는 함수에서 w와 b의 적절한 값을 찾는다는 것을 의미합니다. w와 b에 임의의 값을 적용하여 시작하여 오차가 줄어들어 전역 최소점에 이를 때까지 파라미터 (w,b)를 계속 수정합니다. 가장 먼저 필요한 절차가 optimizer.zero_grad() 함수를 이용하여 기울기를 초기화하는 것입니다. 파이토치는 기울기 값을 계산하기 위해 loss.backward() 함수를 이용하는데, 이것을 사용하면 새로운 기울기 값이 이전 기울기 값에 누적하여 계산됩니다. 이 방법은 순환신경망(RNN) 모델을 구현할 때 효과적이지만 누적 계산이 필요하지 않는 모델에 대해서는 불필요합니다. 따라서 기울기 값에 대해 누적 계산이 필요하지 않을 때는 입력 값을 모델에 적용하기 전..

pytorch 2023.04.05

[pytorch] 2. 모델 파라미터(손실 함수/ 옵티마이저 / 학습률 스케줄러)

모델을 학습하기 전, 필요한 파라미터들을 정의합니다. 파라미터는 다음과 같습니다. 손실 함수(loss function) : 학습하는 동안 예측값과 실제값의 오차를 구합니다. BCELoss : 이진 분류를 위해 사용 CrossEntropyLoss : 다중 클래스 분류를 위해 사용 MSELoss : 회귀 모델에서 사용 옵티마이저(optimizer) : 데이터와 손실 함수를 바탕으로 모델의 업데이트 방법을 결정합니다. optimizer는 step() 함수를 통해 전달받은 파라미터를 업데이트 함 모델의 파라미터별로 다른 기준(ex.학습률)을 적용시킬 수 있음 torch.optim.Optimizer(params, defaults)는 모든 옵티마이저의 기본이 되는 클래스임 zero_grad() 함수는 옵티마이저에 ..

pytorch 2023.04.04
728x90
반응형