Day 13: Ch.1-21 정보 이론 기초 (마지작 수학 파트)

2023. 3. 4. 23:46딥러닝 이론

오늘 공부한 내용은 Ch.1-21, 정보 이론 기초입니다:

- Bits? Source-coding? Entropy?

- Cross-entropy, KL-divergence and mutual information

 

드디어 수학 파트를 마무리하는 날이 오는군요. 강의를 듣기 전에는 수학을 이렇게 까지 알아야 할까 라는 생각을 많이 했지만 사실 몰라도 되지만 그렇게 되면 뒤에 가서 복잡한 문제를 풀어야 할 때 자기만의 독창적인 답안을 못 찾을 수도 있습니다. 딥러닝 같은 경우는 하도 많은 분야의 수학에서 끌어 오기도 하지만 수학과 딥러닝의 기술적인 부분을 연동시키지 않으면 새로운 개발을 하려 해도 그 근본인 수학을 알고 있지 않기 때문에 변형되고 최적화한 답안을 찾는데에 많은 고난을 겪을 수 있습니다. 그래서 수학은 꼭 같이 공부하시기를 바랍니다. 물론 전부 다 미리 들을 필요는 없고, 해당 부분이 필요할 때 뽑아서 듣는 것을 추천합니다. 수포자를 하는 것도 문제긴 하지만 처음부터 수학만 하다가 정작 딥러닝 파트를 공부를 못하거나 그 열정이 식으면 또 더 큰 딜레마에 빠지지 않을까 생각 중입니다. ^^

 

1. Bits? Source-coding? Entropy?

정보이론의 아버지는 Claude Elwood Shannon라고 흔히 말한다. 그는 정보를 공통적으로 사용을 하기 위해 bit라는 단위를 정의했다. Bit는 1이거나 0일 수 있고 길이는 인코딩하는 데이터에 따라 더 길어진다. 이진수, 모스코드 등은 bit기반인 예다.

 

정보이론에서 쓰이는 용어 중 source-coding이란건 어느한 데이터를 최대한 효율적이게 인코딩하는 것이다. 예를 들어 라인 메신저는 sender가 메시지를 보낼 때 그 한글 텍스트를 bit로 변환하고 그 bits가 서버를 통해 receiver한테 도착할 때에는 다시 한글로 decoding 하는 상황을 상상해 보자. 이때 가능한 모든 한국 글자를 bit로 변환하면 어떻게 될까? 

 

사실 아무 문제가 없는것 같지만 이 방대한 bits를 핸들링하기에는 무리가 왔을 옛날에는 더 효율적인 방법이 요구되었다. 그래서 source-coding이 필요했다. 한국어에 더 많이 쓰이는 표현들을 더 짧은 bit로 하고 거의 안 쓰는 글자들은 길게 하면 효율이 많이 좋아진다. "ㅎㅇ"는 '0 + 1'이라면 "렚"는 100101001 같은 긴 bit로 표현해 효율을 높이는 것이다.

 

Entropy (불확실성) 는 평균 코드 길이의 이론적 최소다. 6면 주사위를 던지면 모든 경우의 수는 동등 (uniform distribution)하기에 entropy는 0 이상일 것이다. 반면 '6'만 나오는 주사위의 entropy는 0이다. 수학적으로 entropy를 구하는 방법은 강의 노트 사진에 쓰여있습니다! 수식을 만져보면 알겠지만 균등분포에서의 entropy가 가장 높습니다. 쉽게 말해 예측 가능성이 최악인 거죠.

 

2. Cross-entropy, KL-divergence and mutual information

 

자 사실 우리가 강부 해야 하는 부분은 cross-entropy입니다. 그래서 이야기를 이어가자면 이렇습니다:

 

이론적 최소한의 bits를 이용하게 하려면 그 분포를 알고 있어야 합니다. "ㅎㅇ"가 "렚" 보다 많이 쓰인다는 그 분포를 갖고 있어야 하지만 그런 데이터는 잘 없어서 다른 방법을 찾아야 합니다. 지금 말한 분포는 p이고 우리가 비슷하다고 생각하는 또는 추측하는 분포는 q라고 부릅니다.

 

Cross-entropy는 entropy 수식에 p를 q로 대체합니다. Entropy ≤ cross-entropy 인 점은 아시겠나요? p == q인 경우에는 이론적 최적인 entropy == cross-entropy를 이룰 수 있지만 p != q면 단연히 entropy ≤ cross-entropy이게 성립 됩니다. p의 분포를 모를 때 q를 사용하면 cross-entropy 입니다.

KL-divergence는 cross-entropy - entropy입니다. p와 q분포의 거리 (차이) 라고 해석 할 수 있습니다.

Mutual information은 p와 q의 연관된 정보량을 알려줍니다. 얼마나 independent한가를 알려 줍니다. 그래서 p와 q가 independent할 때에는 mutual information == 0가 됩니다.

 

수고하셨습니다~