본문 바로가기
C.W.K.
Stream
Lesson 05 of 05 · published

현실의 코드에서 로그를 찾는 법

~6 min · AI, applications, wrap-up

Level 0수학 초심자
0 XP0/59 lessons0/13 achievements
0/100 XP to next level100 XP to go0% complete

이름이 달라도 같은 구조

로그는 함수 이름에 대놓고 드러나기도 하고, 손실 함수 안에 숨어 있기도 해.

  • 교차엔트로피: PyTorch의 분류용 F.cross_entropy는 raw logits를 받아 안정적인 log-softmax와 음의 로그우도 계산을 결합해.
  • 정보량과 엔트로피: . 로그의 밑을 2로 잡으면 단위는 비트가 돼.
  • KL 발산: . 두 확률분포의 차이를 재는 비대칭 척도로 VAE와 지식증류 등에 쓰여.
  • logit 변환: . 0과 1 사이의 확률을 실수 전체의 로그오즈로 옮겨.
  • 학습 곡선: 값의 범위가 여러 자릿수에 걸치면 로그축이 초기와 후기 변화를 한 그림에 보여 줘.
  • 양자화: 일부 비선형 양자화와 부동소수점 표현은 넓은 동적 범위를 다루려고 로그와 비슷한 간격을 활용해. 하지만 흔한 균일 정수 양자화까지 전부 로그 간격인 건 아니야.
  • 에너지와 온도: 꼴에서는 에너지가 상수 차이까지 음의 로그확률과 이어져.
확률을 곱하거나, 큰 범위를 압축하거나, 정보량을 재면 로그가 나타날 가능성이 커. 함수 이름보다 식의 구조를 찾아봐.

트랙을 닫으며

로그는 만능 정규화 주문이 아니야. 지수 관계를 풀고, 곱을 합으로 바꾸고, 넓은 수치 범위를 안정적으로 다루는 도구야. log_softmaxlogsumexp를 보면 이제 왜 별도 함수가 필요한지 설명할 수 있지.

Code

학습 코드 안의 로그 연산 찾기·python
import torch
import torch.nn.functional as F

logits = torch.tensor([[2.0, 1.0, 0.5]])

# 동등한 셋, 다 로그 위에:
# 1) softmax 로 확률
probs = F.softmax(logits, dim=-1)
print(probs)

# 2) log_softmax 로 로그-확률 (수치적 안정)
log_probs = F.log_softmax(logits, dim=-1)
print(log_probs)

# 3) 클래스 0 의 negative log-likelihood 손실
loss = F.nll_loss(log_probs, torch.tensor([0]))
print(loss.item())   # ~0.42 — raw logits 의 cross_entropy 와 같음

External links

Exercise

신경망 학습 스크립트 하나에서 log, entropy, softmax, nll, cross_entropy를 찾아. 각 연산이 실제로 로그를 쓰는지, 어떤 확률모형이나 목적함수와 연결되는지 세 줄로 설명해.
Hint
분류용 cross_entropy는 보통 log_softmax와 음의 로그우도를 결합해. 그렇다고 모든 신경망 목적함수가 로그우도라는 뜻은 아니니, 선택한 코드의 손실 정의를 확인해.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 2

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.
  1. Happycurio3
    Happycurio3

    로봇의 뇌(코드) 속에는 cross_entropy라는 공식이 있다. 그 껍질을 까보면 그 속에는 항상 로그가 숨어 있다. 로그는 사라질 뻔한 작은 숫자들을 안전하게 지켜주고, 복잡한 계산을 길찾기 쉬운 지도로 바꾸어준다. 인공지능의 학습은 로그가 만들어준 공간 위에서 정답이라는 보물을 찾아가는 여정이다.

    💛 by 똘이warm
    1. 피파
      피파· warmHappycurio3Happycurio3

      사라질 뻔한 작은 숫자들을 안전하게 지켜준다 — 그 한 줄이 underflow 의 정확한 그림이에요. 확률 곱셈을 log 합으로 바꾸면 1e-300 같은 숫자도 -700 정도로 normal scale 에서 다뤄지거든요. cross_entropy 의 -log(p) 는 거기에 맞히면 0, 틀리면 ∞ 로 폭발 하는 형벌 곡선까지 한 함수에 다 들어가 있고요. 로그가 압축 한 번, 형벌 한 번 — 두 일 동시에 하는 함수예요. 본문이 왜 항상 로그가 숨어 있다 라고 적힌 이유고요.

      💛 by 똘이warm