ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Cross Entropy 알아보기
    AI-ML 2024. 3. 8. 22:42
    728x90
    반응형

    - 목차

     

    키워드.

    • - Probability
    • - Surprise
    • - Entropy
    • - Cross Entropy

     

    들어가며.

    이번 글에서는 Cross Entropy 에 대해서 알아보는 시간을 가지도록 하겠습니다.
    Cross Entropy 를 이해하기 위해서 몇가지 사전지식들이 요구되며,
    사전 지식인 Probability, Surprise, Entropy 에 대해서 설명을 선행하면서 Cross Entropy 에 대해 알아보겠습니다.


    Probability.

    먼저 확률에 대해서 설명하도록 하겠습니다.
    확률은 어떤 사건 X 가 발생하는 빈도를 표현하는 방식입니다.
    확률을 계산하는 공식은 “사건 X 의 발생 빈도 / 전체 사건의 총 발생 횟수” 와 같습니다.
    사건 X 는 전체 사건의 부분 집합으로 가정하며 그렇기에 확률의 범위는 반드시 0 과 1 사이의 숫자가 됩니다.
    즉, 최대 확률은 1이며 최소 확률은 0 이 되는 구조입니다.

    확률의 주체가 되는 사건 X 는 확률 변수라고 합니다.
    학술적인 표현으로 Random Variable 이라고 불립니다.
    이 확률 변수의 대표적인 예시는 동전 던지기 시에 발생하는 경우의 수가 있습니다.
    주사위 던지기도 일맥상통하죠.
    즉, 동전 던지기 행동으로 나타나는 경우의 수는 앞면과 뒷면인 2개가 존재하구요.
    이 각각의 사건의 확률은 0.5 인 값을 가집니다.
    그리고 이러한 확률 변수는 이산 확률 변수라고 부릅니다.
    이산 확률 변수는 사건 X 의 경우의 수가 제한적이고, 연속적인 수의 범위를 가지지 않습니다.
    반면, 대한민국 학생들의 키에 따른 인구수를 조사한다고 해보죠.
    키가 160cm 미만인 학생 수는 5만명, 160cm 이상인 학생을 4만명으로 조사된다면,
    어떤 학생의 키가 160cm 미만인 확률은 5/9 가 됩니다.
    그리고 키라는 것은 양의 실수 범위에 존재하는 변수이기에 그 값이 연속적입니다.
    이러한 확률 변수를 연속 확률 변수라고 부릅니다.


    Surprise.

    통계의 영역에서 Surprise 라는 개념이 존재합니다.
    Surprise 는 놀람의 정도인데요.
    Probability 에 반비례하는 개념입니다.
    발생 확률이 높다는 것은 출현 빈도가 높아서 그닥 놀랍지 않습니다.
    반면 확률이 희박할 수록 놀라는 정도가 크겠죠 ?
    이렇게 Surprise 는 1 / Probability 와 같이 확률의 역수로 표현됩니다.

    지금까지의 설명이 익숙하지 않으시다면,
    단순히 놀라움을 수치화시키는 표현이 존재하고 그 표현은 확률의 역수라고 생각하시면 좋을 것 같네요.
    ( 저도 처음에는 이해가 쉽지 않았습니다. )


    Entropy.


    엔트로피에 대한 설명 이전에 관련 수학적인 공식을 먼저 실펴봅니다.
    $$ Entropy(p) = - \sum p \times log(p) $$
    $$ Entropy(p) = \sum p \times log(\frac{1}{p}) $$

    엔트로피의 공식의 위와 같습니다.
    이를 풀어서 설명해보면, Probability 인 p 와 Surprise 인 1/p 를 곱합니다.
    다만, Surprise 는 log(1/p) 형태로 log 를 취하게 됩니다.
    로그 함수를 취하는 이유는 다양하지만, 분수 값은 기하급수적으로 증가하는 스케일의 문제가 있기에 로그 형태를 취하여 산술급수적인 스케일을 취하곤 합니다.
    그리고 시그마 연산을 통해 모든 경우의 수를 더해줍니다.
    즉, 엔트로피는 모든 경우의 놀람의 정도와 확률를 곱하여 더하게 됩니다.
    엔트로피를 통해서 알게되는 정보는 “내가 종합적으로 얼마나 놀라게 되는지?”
    그리고 경우의 수가 다양할수록 확률의 값이 작아져 Surprise 가 커지게 됩니다.
    이는 곧 경우가 다양할수록 엔트로피가 증가하는 경향을 보이기도 합니다.

    Cross Entropy.

    이제 마지막으로 크로스 엔트로피에 대해서 알아보겠습니다.
    크로스 엔트로피는 머신러닝 학습 단계에서 손실함수로써 주로 사용됩니다.
    수학적 공식은 아래와 같습니다.

    $$ Entropy(p) = - \sum p \times log(q) $$
    $$ Entropy(p) = \sum p \times log(\frac{1}{q}) $$

    엔트로피를 계산하는 공식과 유사합니다.
    다만 차이점은 로그 표현식에 사용되는 확률 p 가 확률 q 로 대체됩니다.
    확률 q 는 머신러닝 학습과정에서 추론한 결과에 해당하구요.
    예를 들어, 분류 학습 문제에서 softmax 함수를 사용하여 각 분류에 따른 확률이 출력된다고 가정해보죠.
    이때 모델이 계산한 결과의 확률이 q 가 되고, p 는 Label 에 해당합니다.
     
    만약 추론된 확률 q 가 1 이고, 실제 확률 p 가 1 인 경우에, $ -log(q) \times p = -log(1) \times 0 = 0 $ 이 됩니다.
    그리고 추론된 확률 q 가 0 이고, 실제 확률 p 가 0 인 경우에는 $ -log(q) \times p = -log(1) \times 1 = -0 \times 0 = 0 $ 이 됩니다. 
    즉, 추론된 확률 q 와 p 가 동일한 경우에는 전체 Cross Entropy 가 0 이 되는 구조이므로 이 함수는 손실함수로써 사용할 수 있게 됩니다.
     

    반응형
Designed by Tistory.