시험공부빅데이터분석
← 보드손실 함수와 옵티마이저 · 6/7

손으로 연습하기 — 점수 계산과 한 번의 업데이트

시험은 "결과 예측" 유형이 나오니 두 가지를 손으로 계산해 보세요. 풀이도 같이 적었어요.

연습 1 — 예측 [1., 2., 3.], 정답 [2., 2., 5.]일 때 nn.MSELoss()의 값은?

연습 2 — weight가 0.5이고 기울기가 4일 때, 학습률 0.1로 optimizer.step()을 한 번 하면 weight는?

연습 3 — 아래 코드에서 step() 직전 weight.grad와 직후 weight는? (weight=1, 입력 2, 정답 4, lr=0.1)

자주 헷갈리는 세트를 마지막으로 정리해요.

이름역할한 줄 코드
손실 함수 (criterion)틀린 정도를 점수로loss = criterion(prediction, target)
backward기울기 계산loss.backward()
옵티마이저 (optimizer)기울기로 파라미터 갱신optimizer.step()
학습률 (lr)한 걸음의 크기optim.SGD(..., lr=0.1)
이렇게 고르세요 (풀이 요령)

숫자 결과 문제는 "예측값 → loss → 기울기 → 새 weight" 순서로 한 줄씩 계산하세요. 중간 숫자(예 예측 2, loss 4, 기울기 −8)를 종이에 적어 가면 실수가 줄어요.

잠깐 확인 — 옵티마이저는 모델을 만들기 전에 만들 수 있을까요?

없어요. 옵티마이저는 model.parameters()를 받아야 하는데 모델을 만들기 전에는 파라미터가 존재하지 않아요. 모델 → criterion → optimizer 순서예요.

다음 카드 → 이 장 3줄 요약

자료: 6·7주차 · Week04_Autograd_Loss_Optimizer · 7주차 녹취(빅데이터07)