← 문제 목록/Softmax CE 그래디언트
문제 해설

Softmax CE 그래디언트

손실 함수 · easy

preview

Softmax CE 그래디언트

50번 Softmax CE 손실 을 logits 에 대해 미분하면 엄청나게 깔끔한 결과 가 나와요:

LZij=1N(softmax-v1(Z)ij1[yi=j])\frac{\partial L}{\partial Z_{ij}} = \frac{1}{N} \big( \text{softmax-v1}(Z)_{ij} - \mathbb{1}[y_i = j] \big)

softmax-v1 확률에서 one-hot 타깃을 빼주는 단일 벡터 연산. 역전파 구현의 가장 중요한 수식 중 하나.

왜 중요?

  • 신경망 출력층 + softmax-v1 + CE 구현의 기본 블록.
  • 매뉴얼 autograd 구현 시 자주 코딩함.
  • softmax-v1 를 따로 계산한 다음 빼주기만 하면 돼 효율적.

과제

함수 softmax-v1_ce_grad(logits, y_true) 를 완성하세요.

  • logits shape (N, C), y_true shape (N,) 정수.
  • 반환: shape (N, C) — 평균 그래디언트 (N 으로 나눈 값).

테스트 케이스

#이름검증
1shape(N, C)
2각 행 합 = 0softmax-v1 sums to 1, one-hot to 1 → diff sums to 0
3수치 근사 그래디언트 일치유한차분과 비교
4logit 동일 (→ 균등 prob)g[y_i] = -(C-1)/(NC), 나머지 1/(NC)
5완벽 예측 (softmax-v1 ≈ onehot) → 그래디언트 ≈ 0
코드 작성
Loading...
실행 결과

코드를 작성하고 Run 을 눌러보세요.