더북(TheBook)

2.2.4 모델의 파라미터 정의

모델을 학습하기 전에 필요한 파라미터들을 정의합니다. 사전에 정의할 파라미터는 다음과 같습니다.

손실 함수(loss function): 학습하는 동안 출력과 실제 값(정답) 사이의 오차를 측정합니다. 즉, wx + b를 계산한 값과 실제 값인 y의 오차를 구해서 모델의 정확성을 측정합니다. 손실 함수로 많이 사용되는 것은 다음과 같습니다.

BCELoss: 이진 분류를 위해 사용

CrossEntropyLoss: 다중 클래스 분류를 위해 사용

MSELoss: 회귀 모델에서 사용

옵티마이저(optimizer): 데이터와 손실 함수를 바탕으로 모델의 업데이트 방법을 결정합니다. 다음은 옵티마이저의 주요 특성입니다.

• optimizer는 step() 메서드를 통해 전달받은 파라미터를 업데이트합니다.

• 모델의 파라미터별로 다른 기준( 학습률)을 적용시킬 수 있습니다.

torch.optim.Optimizer(params, defaults)는 모든 옵티마이저의 기본이 되는 클래스입니다.

zero_grad() 메서드는 옵티마이저에 사용된 파라미터들의 기울기(gradient)를 0으로 만듭니다.

torch.optim.lr_scheduler는 에포크에 따라 학습률을 조절할 수 있습니다.

• 옵티마이저에 사용되는 종류는 다음과 같습니다. 자세한 내용은 ‘4장 딥러닝 시작’에서 다시 다룹니다.

• optim.Adadelta, optim.Adagrad, optim.Adam, optim.SparseAdam, optim.Adamax

• optim.ASGD, optim.LBFGS

• optim.RMSProp, optim.Rprop, optim.SGD

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.