본문 바로가기


인공지능

[딥러닝] 교차 엔트로피 오차 이해하기

손실 함수를 사용 하는 목적

손실 함수의 값 측 '오차' 를 경사 하강법을 통해 줄여 내기 위한 목적

함수에 집착하는 이유는 미분을 하기 위함 그냥 정확도는 상수가 되어 미분하면 0이 되기 때문에 업데이트 용으로 사용할 수가 없다.

엔트로피(Entropy)

무질서의 정도, 놀람의 정도

열역학 에서의 엔트로피

엔트로피는 열역학 개념에서는 유용하지 않은 에너지의 흐름을 설명할 때 사용하는 용어

정보이론에서의 엔트로피

확률 또는 확률 밀도가 특정 값에 몰려 있으면 엔트로피가 작다고 하고 반대로 여러가지 값에 골고루 퍼져 있다면 엔트로피가 크다고 한다.

주사위가 윷놀이의 윷 보다 높은 엔트로피를 가진다.

⇒ 윷놀이 중 윷이 될 확률보다 개나 걸이 될 확률이 높다 즉 값이 균등하지 않지만 주사위는 균등하게 1/6 확률 이므로

교차 엔트로피 오차(Cross Entropy error)

 

교차 엔트로피의 도출 과정

이산 확률 분포의 엔트로피

이산확률분포의 엔트로피

KL 다이버전스(Kullback-Leibler divergence) : 두 확률분포 사이의 거리

이산확률분포 P와 Q 사이의 거리

두 확률분포 사이의 교차 엔트로피

두 확률 분포의 교차 엔트로피

이 식을 정리해보면

이산확률분포 P 와 Q 의 교차 엔트로피는 P의 이산확률 분포 엔트로피에서 KLD 를 더한 값이 된다 즉,

이제 여기서 P(x) 를 정답 Q 를 예측이라고 생각하면 P와 Q의 교차 엔트로피 안에 P와 Q의 거리(오차)가 바로 교차 엔트로피 오차

그래서 우리는 교차 엔트로피 오차를 손실함수로서 사용 할 수 있게 된다.

엔트로피를 정의할 때 자연로그나 밑이 2인 로그를 취하는 이유

엔트로피를 정의할 때 로그를 취하는 이유는 곱셈으로 늘어나는 경우의 수를 로그의 성질을 통해 덧셈으로 바꿔 주기 위함이다. 

로그의 성질

또한 밑을 자연로그나 2를 취하는 이유는 자연로그에 쓰이는 상수 e가 가장 많은 값을 표현하게 해주는 밑이라서 그렇다.

 

 

끝!

 

출처 : https://ko.wikipedia.org/wiki/%EC%A0%95%EB%B3%B4_%EC%97%94%ED%8A%B8%EB%A1%9C%ED%94%BC

 

'인공지능' 카테고리의 다른 글

[DL] Deep Learning 시작하기 Google colab 연동  (0) 2020.01.12