Cross-Entropy (크로스 엔트로피)

2025. 4. 4. 14:29·인공지능 대학원/확률론
반응형

Entropy

$$
H(x)=-\sum_{i=1}^n p\left(x_i\right) \log p\left(x_i\right)
$$

엔트로피는 불확실성의 척도로 정보이론에서의 엔트로피는 불확실성을 나타내며 엔트로피가 높다는 것은 정보가 많고 확률이 낮다는 것을 의미한다. 이것은 특정 확률 분포내에서의 정보량의 기댓값을 의미합니다.

 

확률이 균등할수록 엔트로피가 크다. 엔트로피가 높을 수록 데이터를 예측하기 어렵다는 것입니다. 단위는 비트(bits)입니다.

 

위의 그림은 (위)분포와 (아래)엔트로피를 나타낸다. 

즉, 정보가 많거나 균등한 분포일 수록 엔트로피가 커지고 한가지 특정한 값이 잘 나올 것이라는 예측이 무의미해진다.

반면, 100%의 확률로 예측이 가능한 분포는 엔트로피가 0이다.

 

Cross Entropy

$$
H(P, Q)=-\sum_{i=1} p_i \log _b\left(q_i\right)
$$

Cross entropy는 엔트로피와 달리, 서로 다른 확률 분포에서 시작합니다. 즉, 확률을 구하는 P 분포와 정보량을 구하는 Q 분포가 각각 사용된다.

 

위의 식에서 P,Q 는 서로 다른 두 분포를 나타내며 Cross Entropy는 결국 분포 P 에 대한 엔트로피를 계산할 때 P 가 아닌 Q 에 대한 정보량을 사용하는 셈이다.

 

Cross Entropy의 의미

Cross Entropy $H(P,Q)$는 "분포 P 영역에 Q라는 분포가 얼마나 유사하게 분포해 있는가?" 

이때,

  • 분포가 거의 없으면 -> 값은 커지고
  • 분포가 거의 유사하면 -> 값은 작아진다.

가장 Cross Entropy 값이 작은 경우를 생각하면 $P=Q$라는 같은 분포를 가지고 있는 경우를 말한다.

 

다른 분포에 대한 Cross Entropy $H(P,Q)$ $H(Q,P)$에 대해서는 큰 값이 나온다. 반대로,

다른 분포에 대한 Cross Entropy $H(P,P)$ $H(Q,Q)$에 대해서는 작은 값이 나온다.

 

Cross Entropy Loss

>>> # Example of target with class indices
>>> loss = nn.CrossEntropyLoss()
>>> input = torch.randn(3, 5, requires_grad=True)
>>> target = torch.empty(3, dtype=torch.long).random_(5)
>>> output = loss(input, target)
>>> output.backward()

머신러닝을 하다보면 CrossEntropyLoss를 접해본적이 있으실 것이다.

https://365datascience.com/resources/blog/c3ic8p0firo-cross-entropy-loss-dog-horse.png

 

Cross Entropy Loss를 사용하는 직관적인 예시이다.

  1. 3개의 Class가 있는 모델의 Softmax까지 통과한 우리의 예측이 [0.1, 0.2, 0.7]이 나왔다.
  2. 정답은 onehot encoding되어 있기에 [0, 0, 1]이다.
  3. 결국 Cross Entropy Loss = 0.36이 나온다.
  4. 정답과 가깝지 않았다면, 훨씬 큰 값이 나왔을 것이다.

결국 우리가 예측한 확률 분포의 Class와 정답 Class 사이의 간극을 줄이기 위해 학습되는 것이다. 

반응형

'인공지능 대학원 > 확률론' 카테고리의 다른 글

Likelihood and MLE  (0) 2025.04.04
KL Divergence 이해하기  (0) 2025.04.04
확률 분포 함수(Probability distribution function)이란 무엇인가?  (0) 2025.04.03
[확률론, Probability] 기대값, expectation  (0) 2025.03.26
[확률론] 조건부 확률, 베이즈 룰, 독립, 랜덤 변수  (0) 2025.03.19
'인공지능 대학원/확률론' 카테고리의 다른 글
  • Likelihood and MLE
  • KL Divergence 이해하기
  • 확률 분포 함수(Probability distribution function)이란 무엇인가?
  • [확률론, Probability] 기대값, expectation
우다다123
우다다123
  • 우다다123
    우다다
    우다다123
  • 전체
    오늘
    어제
    • 분류 전체보기 (36)
      • 인공지능 대학원 (25)
        • 머신러닝, 딥러닝 (6)
        • 강화학습 (10)
        • 확률론 (6)
        • 선형대수 (1)
      • Ubuntu & Linux (6)
      • Coding (4)
      • Coding Test (0)
  • 블로그 메뉴

    • 카테고리
  • 링크

  • 공지사항

  • 인기 글

  • 태그

  • 최근 댓글

  • 최근 글

  • 반응형
  • hELLO· Designed By정상우.v4.10.3
우다다123
Cross-Entropy (크로스 엔트로피)
상단으로

티스토리툴바