클로드 섀넌(Claude Elwood Shannon, 1916년~2001년)은 1948년에 미국의 통신회사 벨 연구소 근무 시절에 통신의 수학적 이론(A Mathematical Theory of Communication)이라는 논문을 "벨시스템 기술 저널"이라는 사내 저널에 출판하게 되는데 이 이론이 일약 정보를 수학적으로 다루는 시초가 되는 논문으로 인정받게 된다.
그는 이때 앨런 튜링이나 폰 노이만 등과도 논의하면서 이 정보량을 엔트로피라는 이름을 붙이게 되었다(폰 노이만 제안)고 설명되어 있는데, 이를 둘러싼 자세한 이야기는 제임스 글릭의 책 인포메이션에 조금더 자세히 설명되어 있다.
http://www.yes24.com/Product/Goods/35243316
이후 사람들이 이 이론에 대해 했던 열광에 비교해서는(결론의 함의하는 바가 매우 컸기 때문에), 사실 수학자였던 섀넌이 했던 고민은 단순했다. 그것은 통신회사가 어떤 정보를 전달할때 얼마의 과금을 해야하느냐에 대한 순수한 수학적인 정의다.
예를 들면 아래 두가지 정보 전송에 대한 과금은 어떻게 해야할까?
A: 00000.............................................0 (1억개의 0)
B: 100100111010111...01011011 (random으로 나열된 1과 0의 조합 100개)
단순히 길이로 따지면 앞에 A가 더 길지만 가만히 보면 압축을 할 수가 있다. A는 0을 1억개 보내기보다는 0의 개수가 1억개라는 사실을 전달하면 불필요하게 많이 보낼 필요가 없다. 다만 B같은 경우는 완전한 random이라고 치면 압축을 할 수가 없이 그대로 보내야 한다. 결과적으로 압축을 잘하면 B가 정보량이 훨씬 많다. 돈을 더내야 한다. 그러면 얼마나 내야하는가?
섀넌의 공식은 이에 대해 명확한 답을 준다. 바로 어떤 정보를 보낼때 필요한 비트수가 얼마냐?로 귀결시킨다.
(보내야할 정보의 카테고리와 각 카테고리의 출현 확률이 주어지는 경우를 가정한다)
정보량을 의미하는 섀넌의 엔트로피는 아래와 같이 나타난다. 어떤 많은 정보들이 각기 출현 확률이 P(x)일때 각 값들을 전송하는데 필요한 비트는 아래의 공식으로 나타내게 된다.
H(P)=H(x)=−∑P(x)logP(x) (log는 밑이 2)
사실 이 공식을 이해하기 위해서는 log와 확률 이야기를 해야하는데, 수학적인 전개가 익숙하지 않은 엔지니어 분들은 따라가기가 조금 까다롭다(Google 검색엔진 등 에 섀넌의 정보이론을 검색하면 몇가지 수학적 전개에 대한 문건들이 있긴 하다)
하지만 결론적으로는, 전달하고자하는 데이터의 패턴을 보고 가장 효율적으로 압축했을때의 bit수라고 말할 수 있다(정보량, log가 밑이 2일때)
이를테면 내가 전송하고자하는 값이 2가지 카테고리(예를 들어 A와 B의 두가지 경우라면 2가지 카테고리 ) 밖에 없다고 하고 그 둘이 동일하게 나타난다고 해보자. 그러면 1bit의 크기이면 그 데이터를 전송할 수 있다. 즉 사전에 양측이 약속해놓고, 보낼때는 0과 1 둘 중의 하나로 전송하면 된다. A,B가 실제로 얼마나 길고 어떤 형태이든, 상기 정보는 그렇게 압축될 수 있다. 0과 1로 압축되는 것이다.
그런데 우리 현실의 실제 정보가 나타나는 상황은 위의 상황보다는 더 복잡하다.
A,B,C,D,E,F,G,H라는 8가지 분류의 값 데이터를 전달하는데 각기 그 문건상에 등장 확률이 30%,20%,10%,10%,10%,10%,5%,5% 이라고 해보자. 무손실 압축 방법 중에 허프만 코딩이라는 방식 혹시 기억나는가? 해당 방식과 같다.
그렇다. 가장 많이 등장하는 A에 가장 짧은 길이를 할당하고 빈도수가 작을수록 더 긴 길이를 할당하는 압축 방식으로 운영할 수 있다. 이렇게 일종의 허프만 코딩 방식으로 압축했을때 필요한 bit수가 나오는게 바로 이 섀넌의 공식이다. 실제 위에 명기한 공식에 따라 구해보면
H(P) = H(x) = -∑P(x)logP(x)
= -(0.3log0.3 + 0.2log0.2 + 0.1log0.1 + 0.1log0.1 + 0.1log0.1 + 0.1log0.1 + 0.05log0.05 + 0.05log0.05)
= -(0.3 * -1.7369.. + 0.2 * -2.3219.. + 0.1 * -3.3219.. + 0.1 * -3.3219 + 0.1 * -3.3219 + 0.1 * -3.3219+0.05*-4.3219...+0.05*-4.3219)
= -( -0.52107.. + -0.46438.. + -0.3322.. + -0.3322.. + -0.3322.. + -0.3322.. + -0.2161.. + -0.2161..)
= -(-2.74645) = 2.74645...
가 되서 2.7bit 즉 3bit 조금 안되게 있으면 위 패턴의 정보들은 압축해서 보낼 수 있다는 이야기이다. 정리해서 이야기하자면 "어떤 데이터를 출현 빈도수 패턴에 맞게 가장 효율적으로 압축했을때 필요한 전송량"이라고 생각하면 된다.
앞서 언급된 대로 A,B가 각각 50%로 등장한다고 똑같이 계산해보면 금방 H(P)는 1값을 가진다는 것을 알 수 있다.
H(P) = H(x) = -∑P(x)logP(x)
= -(0.5log0.5 + 0.5log0.5 + 0log0 + ....)
= -(0.5 * -1 + 0.5 * -1)
= 1
만약에 출현빈도가 모두 동등한 n개 분류의 데이터는 어떨까(n개가 각각 1/n의 확률로 등장하는) 전혀 압축이 불가능하므로 아래와 같이 log n이 된다.
H(P) = H(x) = -∑P(x)logP(x)
= - n * (1/n * log 1/n)
= - log1/n = 1 (log1 - logn)
= log n
4개 보내려면 2bit 필요하다. (00,01,10,11 4개 딱 맞다)
위 섀넌 공식의 유도 과정은 수학자의 그것이지만 결론은 딱 확률을 고려한 압축 가능 정도의 개념이다.
그러면 이제, 아 저런걸 뭐 수식으로 저렇게 잘 정리했구나. 단순하네? 할 수 있겠지만 가만히 생각해보면 전화기가 처음 도입되고 데이터에 대한 개념도 없던 시절이라, 이런 '정보'라는 개념을 수식으로 접근할 수가 없었던 시절에는 아주 큰 정량적 기준을 제시하게 된 셈이다. 정보라는 것이 처음으로 "그 보내고 싶은 값과 각 값의 출현 확률"을 가지고 정의할 수 있게 되었다. 이게 알면 단순하지만 처음 만드는 사람은 큰 창의력을 필요로 하는 행위다.
그러면 이 이론은 어디에 응용이 될 수 있을까? 수도 없이 인용되었지만, 여기서는 바로 양자역학의 본질이 정보라고 주장한 존 아치볼드 휠러 교수의 "it from bit"에서 시작할 수 있다. 양자 정보 이론이라는 이름으로 불리는 이 분야들은 최근에 더욱더 다양한 분야에서 고려되고 있다. 블랙홀에서 입자를 빨아들이면 과연 정보는 소멸하는가? 에너지와 질량이 등가인 것처럼 이 정보와 에너지가 등가일 수는 있는 것인가? 맥스웰의 도깨비에서 열역학 제2법칙에 위배되는 도깨비가 다루고 있는 정보는 과연 무엇인가? 정보가 세상 물질들을 설명할 수 있다면 그것은 대체 무엇인가?
라고 질문될때 정의하기 어려운 이 수학적인 '정보'를 섀논이 명쾌하고 수학적으로 한번 정의해준것이다.
결국 허프만 코딩도 섀넌의 정보이론에서 그대로 파생된다. 맨 아래 비트의 0을 가장 높은 확률의 패턴에 그리고 그 다음 10, 00을 통해 그것도 안되면 100, 000에 계속 사다리식으로 필요한 비트 수를 늘려가면서 배정하는 것이 그대로 닮았다.
이 좀 설명도 어렵다 싶은 분께는 아래 짧은 영상을 추천한다.
https://www.youtube.com/watch?v=2s3aJfRr9gE
마지막으로 섀넌의 정보량을 엔트로피라고 부르는데, 앞서 밝혔듯이 폰 노이만의 제안으로 이렇게 불렀다는 말이 있다.
엔트로피라고 하면 빼놓을 수 없는, 물리학사의 비운의 인물 중 하나인 루드비히 에두아르트 볼츠만(Ludwig Eduard Boltzmann/독일어)이 갑자기 이 이야기에 등장하게 되는데, 그의 묘비에는 엔트 S = k log W라는 엔트로피 공식이 적혀져 있다고 한다. 엇 이거 많이 보던것 아닌가?
맞다 위 P(x)logP(x) 와 비슷해보인다? 엔트로피도 log와 확률이 어울러져 있는데, 둘은 유사 특성이 있다. 이 얽힌 이야기들은 일단 책 인포메이션에 먼저 맡기고, 나중에 다시 이어가보자.
'정보이론' 카테고리의 다른 글
정보 처리와 그 단가의 끊임없는 하락, AI시대의 가속 (0) | 2023.06.25 |
---|---|
왜 불로장생의 돌연변이는 존재하지 않는가? 왜 영원히 사는 생명체는 없는가? DNA와 복제 오류 (0) | 2021.03.28 |
맥스웰의 도깨비와 엔트로피, 정보의 물리적 의의는 무엇인가? (0) | 2020.07.28 |
바이러스와 생명의 필연적인 동거 이야기, 슈뢰딩거 - "생명이란 무엇인가?" (0) | 2020.06.17 |
사회/경제를 정보로 바라본다는 것 (0) | 2020.01.01 |