: 함수의 최솟값을 찾기 위해 반복적으로 함수의 기울기를 따라 내려가는 방식
: 입력을 넣어서 예측값을 계산
: 예측값, 실제값 차이 계산
: 손실을 각 가중치에 대해 미분 후 기울기를 구함
→ 각 파라미터가 손실에 얼마나 영향을 주는 가
: 가중치 업데이트
criterion = nn.CrossEntropyLoss() # 손실 함수 정의
optimizer = optim.Adam(model.paramters(), lr=0.001) # 옵티마이저 정의
for epoch in range(num_epochs):
outputs = model(inputs) # 순전파
loss = criterion(outputs, labels) # 손실 계산
optimizer.zero_grad() # 기존 기울기 초기화
loss.backward() # 역전파
optimizer.step() # 가중치 업데이트
: 전체 데이터를 사용해 한 번에 파라미터를 업데이트