Entropy를 한마디로 정의한다고 하면 “불확실성에 대한 척도”라고 생각합니다. 예를 들어
가방 안에 빨간 공만 들어있을 때의 불확실성은 없기 때문에 Entropy는 0이며, 가방 안에
10개의 공 중 5개가 빨간 공, 5개가 검은 공 일 때는 불확실성이 높기 때문에 Entropy는 1
이 되는 것처럼 말입니다.
<Entropy 정의>
Cross Entropy는 실제 분포인 를 예측하는 를 만들었을 때 두 분포를 이용한 Entropy
입니다. 다중분류문제에서 Cross Entropy는 softmax를 통해 나온 값과 OneHotEncoding되
어있는 label값에 Cross Entropy를 이용해 모델의 예측값이 실제값과 얼마나 근사한지 계산
합니다.
<Cross Entropy 정의>
Cross Entropy Loss Function(교차 엔트로피 손실함수)는 이름 그대로 Cross Entropy를
사용한, 인공신경망 훈련에 일반적으로 사용되는 손실 함수 중 하나입니다. 예를 들어 모델
이 학습이 잘되어 예측을 정확히 한 경우 Cross Entropy는 0이 나오게 되지만, 모델이 학
습을 잘못해 아예 다른 예측을 한 경우 Cross Entropy는 커지게 됩니다. 그렇기 때문에 모
델은 Cross Entropy가 최소화 되도록 Gradient Descent를 진행합니다. 또한 서로 다른 분
류모델을 비교할 때도 Cross Entropy를 이용하면 어느 모델이 정답과 더 근사한지를 알 수
있습니다.
Jupyter notebook과 Pytorch를 이용하여 간단하게 Cross Entropy가 어떻게 적용되는지 확
인해보았습니다.
Pytorch에서 CrossEntropyLoss는 softmax가 내장되어 있기 때문에 주의!!