예전에 학부생때 인공지능의 철학을 접한 적이 있다. 핵심은 과연 사람의 지능이란 정말로 인공으로 만들 수 있는 것이냐는 의문이다.
인류는 이미 단순한 자연의 여러 현상들을 충분한 정확도로 예측을 하고 있다. 다만, 그것들이 다양하게 상호 작용하여 누적되면 잘 예측하지 못하기도 한다. 이것은 삼체문제라고도 알려진 복잡계라는 문제가 대표적이다. 그러나 그럼에도 불구하고 현대 과학의 예측 정확도는 놀랍다. 이미 리처드 파인만 교수가 양자전기역학(근본 물질과 에너지를 다루는 이론인)의 실험과 이론사이의 오차가 뉴욕과 오스앤젤레스 사이 거리에서 머리카락 한올 정도의 차이라고 한 말이 유명하다.
개인적으로는 사람의 두뇌에서 벌어지는 일은, 양자역학 계산 정확도에 못미치는 정도의 원리 조합으로도 설명이 되지 않을까 생각한다. 대부분의 생명현상이 분자 수준이면 설명되지 않을까하는 기대다. 물론 이 부분은 아직 정확히 밝혀진 바는 없다. 실제로 인간이 아는 법칙만으로 충분히 인정받을 만한 지능을 구현해낸 적이 없기 때문이다. 의식에 양자역학이 관계된다는 주장도 종종있다. 아무도 제대로 증명하지 못했기 때문에 여러가지 설만 난무하는 것이다.
또 다른 관점에서는 인류는 이미 생명을 만들어내는 설계도인 유전체 정보를 모두 알아낸 상태다. 세포라는 플랫폼만 정확히 컴퓨터로 에뮬레이션 할 수 있다면, 밝혀진 DNA를 통해 과학자는 사람을 그대로 역시 에뮬레이션할 수 있으리라 기대한다. 그렇게 DNA를 통해 사실은 지능을 가진 사람을 에뮬레이션하여 탄생시킬 수 있다. 공각기동대나 여러가지 SF류 들은 이런 것들을 가정하고 있는 셈이다. 그러나 역시 세포를 정확히 컴퓨터로 에뮬레이션 할 수 있냐고 물으면 앞의 답변으로 되돌아간다. 아직 누구도 성공하지 못했기 때문에 역시 설만 난무하는 상태이다.
그러나 현대 과학의 깊이(?)를 믿는 이들은, 지능을 가진 생명체는 이미 현실에 존재하고 그것이 지능을 구현할 수 있다는 증거로 보게된다고 주장한다. 생명체의 지능에 들어가는 알고리즘 중에 현대 과학이 모르는 어떤 기본 메카니즘이 있다고 생각할 만한 것은 아직 없지 않는가라는 주장이다. 양자역학은 이미 충분히 정밀하고 그저 그 상위의 대규모 상호작용에 대한 알고리즘을 모를 뿐이다. 복잡해서 아무도 알아내지 못할 뿐인 상태이고, 사람의 지능을 꽤 잘 흉내내는 여러가지 기술들은 계속 쏟아져 나오고 있지 않는가 하는 것이다.
아직까지는 지능이란 여러가지 통계기술과 수학, 그리고 엔지니어링의 결합으로 구현되고 나타난다. 그리고 사람만큼 여러분야 정보처리에서 예외처리를 잘하는 AI는 아직 없다. 그래도 시간이 지나면 이 기술들은 방법을 찾아내지 않을까.
여기에 개인적으로는 이런 방식으로는 정말 어느 세월에 사람같은 AI가 나오냐 싶기 때문에, 대체로 자연과 유사한 시뮬레이션 프로그램에서 적절히 유전자알고리즘으로 만들어내는게 오히려 더 빠른 방법 아니겠느냐하는 예전 인공생명 류의 주장을 더 믿고있다. 수학적으로 적절히 보장되어 구현가능하면서도 자연을 모사할 수 있는, 정해진 시간안에 돌릴 수 있는 컴퓨팅으로 감당되는 시뮬레이션 체계와 복잡도를 가지고 교배(?)를 통해서 해야하지 않나 싶다.
벌써 십년은 넘게 주장하고 있은데, 진도는 안나가는 아마추어 과학자(?)의 AI 개발 방법론이겠다.
머신러닝에서 정확도, 재현율, 정밀도 이 3가지 값은 모델의 정확함을 설명하는 매우 중요한 지표이다. 그런데! 애석하게도, 상시로 이 지표를 접하지 않으면 그 뜻을 잊어버리기 쉽게 된다. 물론 자주 쓰면 안그러는데, 그렇지 않거나 특정 지표를 오랫동안 안사용하다보면 헷갈린다. 그래서 이 글을 시작해본다.
자 이제 사기꾼을 잡아보자. 어떤 행동을 보고 사기꾼을 잡는 방식이다. 이것을 위해 머신러닝 모델을 하나 만들었고, 1,000명을 검사해서 실제 잘 맞췄는지 아닌지 결과를 확보했다. 이 모델은 얼마나 정확할까?
아주 편안하고 쉽게 이 질문에 답해보면 단순하게 할 수 있다. 정확도(Accuracy)가 그 첫번째 지표이다.
1,000명을 검사했으니 그 중에 몇명을 정확히 맞췄는지 그 비율을 이야기하면 된다.
Accuracy = 정답수 / 전체 검사수
검사 대상 1,000명이 실제 일반인인지 사기꾼인지 알고 있다고 가정하고, 모델이 판정한 결과와 비교해보면 맞은 것과 틀린 것이 있을 것이고, 1,000명 중에 실제 몇 건이 맞았는지 비율을 보면 되지 않겠는가? 그렇게 간단히 끝날 수 있겠다.
그런데 이건, 사기꾼과 일반인이 같은 비율로 존재할 때의 이야기이다. 소위 이야기하는, 분류 문제에서 사전 확률(Prior Probability)이 같으면 문제가 쉽고 지표도 간단하다. 그런데 세상 대부분의 문제에서 이 사기꾼과 일반인의 비율이 많이 다르다.
1,000명 중에 실제 사기꾼이 3명이 존재하는 문제라고 치자. 그러면 이 정확도를 올리기 위해 좀 꼼수를 피워서, 모든 검사 대상을 일반인으로 강제로 판단하게 만들었다고 가정해보자. 이 엉터리 모델의 정확도는 얼마일까?
Accuracy = 정답수 / 전체 검사수 = 997 / 1,000 = 99.7 %
아니 이런! 모든 사람을 일반인으로 판단하는 엉터리를 만들었는데도 일반인이 997명이다 보니, 정확도가 99.7%이다. 무언가 단단히 잘못된 정확성 지표라고 볼 수 있다. 이 모델은 어떤 사기꾼도 잡아낼 수 없는데, 정확도가 99.7%라니! 무능한 모델에게 너무 높은 수치가 주어지는게 아닌가?
그래서 이렇게 소수의 사기꾼을 잡는 문제에 있어서 매우 유용한 지표가 필요하다. 바로 재현율(Recall)이다. 이 녀석은 전체 사기꾼 3명 중에 몇명을 실제로 사기꾼으로 판정하느냐를 나타낸다. 전체 검사수에서 사기꾼이 적다는 점을 이용해 엉터리로 모든 검사 결과를 일반인으로 판정해버리는 모델을 골라내는 지표이다. 이를 정의하는 것은, 앞서 전체 사기꾼 중 몇명을 실제로 잡느냐로 나타내면 된다. 전체 사기꾼 중에 아무도 못잡으면 바로 0%가 되는 지표이다.
Recall = 찾은 사기꾼 / 전체 사기꾼
이제 조금씩 어려워진다. 1,000명 중에 실제 사기꾼이 3명인데, 어떤 모델로 검사를 했더니 900명은 일반인으로 판정했으나, 그 중 1명은 사실은 사기꾼이었고, 100명은 사기꾼으로 판정했는데, 그중 98명은 일반인이었다고 치자. 그러면 이 헷갈리는 상황을 아래의 4종류의 수치로 간결하게 분할 할 수 있다.
여기 Recall을 구해보면
Recall = 사기꾼이라 판정 / 실제 전체 사기꾼 = 2 / (2+1) = 약 66%
이 된다. 이 모델은 Accuracy는 (2+899) / 1,000 = 90.1% 이면서 Recall은 66%인 모델이다.
그러면 이 모델의 판정기능을 좀 조율하면 어떤 일이 벌어질까? 예를 들면 사기꾼을 좀더 일반인으로 판정해버리는 것이다. 대충 사기꾼이어 보여도 무시하고 일반인으로 판정해주자. 그러면 Accuracy는 올라가고 Recall은 떨어질 것이다. 즉, 모델 튜닝에 의해 이 2가지 값은 서로 반대로 향하게 된다. 그래서 이 수치를 밸런싱하는 작업도 또한 모델 튜닝의 중요한 작업이다.
그런데 이 상황에서 우리가 이 모델을 가지고 실제 일을 할때 경험하는, 현실에 계속 마주하게 되는 또다른 수치가 하나 있다. 바로 사기꾼이라고 검출한 것 중에 과연 얼마나 실제 사기꾼일까 하는 비율이다. 왜냐하면, 일단 모델이 일반인으로 분류된 사람들은 집에 보낼테고, 사기꾼이라고 분류한 사람들 중에 세부 검사를 하게 될테니까 말이다. 실제 이 모델은 그렇게 쓰이는게 일반적이다. 그래서 이 수치가 매우 높으면 거의다 사기꾼이 맞기 때문에 골치아픈 일이 적다. 그런데 이 비율이 낮으면 대부분 잘못 판정한 것이기 때문에 고생을 하게 될 것이다. 바로 이 수치가 정밀도(Precision)이다.
Precision = 실제 사기꾼으로 잘 판정된 수 / 사기꾼이라 판정 = 2 / (2+98) = 2%
그렇다 위 모델은 정확도는 90.1%로 뭐 그럭저럭 나와보이고, Recall은 66%로 전체 사기꾼 중에서도 꽤 잡아내지만, 실제 우리가 일할때는 2%의 Precision을 가지는 형편없는 모델인 것이다. 막상 사기꾼이라고 100명이나 나왔는데, 그 중에서 2명만 실제 사기꾼인 그다지 쓸모가 없는 모델이다.
이 세가지 수치가 모델을 평가하고, 실제 일을 할때 중요하게 다뤄지는 정확도에 관한 수치이다. 그러면 이걸 통계학에서 들었던 것과 매핑해서 다시 정리해보면 어떨까? 위 1,000명의 전체 결과 지도를 그대로 매핑해서 나타내보자. 이것이 바로 우리가 통계학에서 배웠던 TP(True Positive), FP(False Positive, Type II Error), FN(False Negative, Type I Error), TN(True Negative) 이며 아래가 바로 그 값들이다. 그리고 그 정확성을 나타내는 지표를 각각 옆에 나타내었다.
이렇게 기억을 해보자. Accuracy+Recall과 그 다음 실제 일을 할때 마주하는 Precision말이다.
그리고 보너스가 있다. 바로 F1 score인데, 이 값은 Precision과 Recall의 조화평균이다. 그렇다. 일반인이 일반인으로 잘 판정되는건(True Negative) 관심도 없고, 다만 나머지들을 가지고 만든 지표 둘인 Precision과 Recall이 조화를 이룬 수치다. 지나고 나면 이 사기꾼 잡는 모델에 있어서 Accuracy는 제일 관심없는 정확성 지표일지도 모르겠다.
다음은 책 수학재즈(에드워드 B. 버거, 승산출판사)에 나오는 카오스 이론의 소개이다. 이 작가는 카오스 이론을 엑셀로 직접 보여주며 알려준다. 사실은 수학에서의 카오스 이론은 단순한 법칙이 지속 반복해서 적용되었을 때의 놀라운 복잡성에 대한 이야기인데, 여기서는 아래 계산을 반복한다는 점을 우선 이야기해보자.
다음값 = 직전값*직전값 -2
그리고 엑셀에 이 값을 넣어서 흔히 하듯이 표와 식을 만들어 계산해보면 아래와 같은 결과를 얻을 수 있다. 초기값을 0.5로 잡아보자. 첫번째 계산 탭에서는 단계가 커질 수록 그 반복 계산 값이 나오는데, 이때 특이한 것은 두번째 계산이다. 15단계에서 첫번째 계산의 결과값을 오른쪽 컬럼에 옮겨적고 동일한 계산을 이후로 같이 반복해보자.
그런데 놀라운 일이 벌어진다. 49단계 정도까지 가면, 이 최종 계산의 결과가 달라진다. 물론 앞에서도 조금씩 달라지긴 했는데, 마지막에는 전혀 다른 값으로 변한다. 대체 왜일까? 엑셀의 버그인가?
신기하게도 이 유사한 고민을 기상학자 로렌츠도 했었고, 그는 그 연구 결과를 가지고 카오스의 아버지로 불리게 되었다.
이렇게 값이 틀어지는 이유를 간단히 먼저 설명하면, 사실 저 15단계의 옮겨적은 값은 컴퓨터 메모리상에서는, 아주 작지만 서로 차이를 가진다. 엑셀은 소수점이하 값을 표기할때 특정 유효숫자 이하는 가리고 보여주는 정책을 가지고 있기 때문이다. 그래서 아마도 저 값은 1.52216347xxx.. 처럼 xxx에 숫자가 더 있을테다. 그런데 화면의 값을 보고 옮겨적인 수치는 정확히 1.52216347값이 들어가겠다. 그리고 이 작은 차이값은, 소위 되먹임 계산을 반복하면서 점점 큰 차이를 내며 49단계 정도에서는 아예 서로간 다른 계산 값을 보여주게 된다. 이것이 바로 날씨를 제대로 예측하기 어려운 현실에 대한 수학적 이해이다. 매우 작은 값의 차이고 얼마간 되먹임을 반복하면 전혀 다른 상황이 되는 것이다.
즉, 북경의 나비의 날개짓이 결국에는 뉴욕에 태풍을 불러 일으키게도 할 수 있다는 말의 실제 메카니즘이다. 되먹임 계산들은 흔히 저렇게 단순한 계산(이전 값을 두번 곱해서 2를 빼는 정도라도)임에도, 마치 불규칙해보이는 것처럼 작은 초기값 차이에도 결과값이 크게 바뀌게 되기 때문이다.
그리고 이 소개를 하는 이유는 이 근본에 숨어있는 결국은 무한에 대한 내용이다. 상기 되먹임 계산이 정확히 재현되기 위해서는 소수아래에 무한한 정확도를 지녀야만 함이 자명하다. 계산을 반복할 수록 소수점 아래의 정보들이 더 길게 커지기 때문이다. 위 계산에서도 0.5가 한 단계를 지나 -1.75가 되고, 그 다음은 1.0625가 된다. 몇 단계 가지않아 소수점 아래 자리수들은 엄청난 자리수로 늘어나게 된다. 그리고 이 엄청난 자리수는 역시 조금만 생략 되어도, 몇 단계 후의 결과를 완전히 뒤바꿔버린다. 자연이 계산을 할때 곤란한 경우가 되겠다. 왜냐하면 처리해야하는 계산이 지속 기하급수적으로 늘어나기 때문이다. 게다가 대충 생략해도 결과가 완전히 바뀐다.
양자역학에서는 이미 플랑크 상수라는 물리량의 최소 단위를 정의하는 값이 존재하기는 하지만, 이 현상들은 재미있는 실험의 가능성을 상징한다. 어떻게든 유효 자리수에 대한 내용을 이런 일정한 되먹임 계산을 통해서도 입증할 수 있지 않을까? 과연 자연은 이 과정을 어떻게 처리할까? 절대온도 0도에서 발생하는 다양한 현상들로 되먹임을 일으키는 현상을 만들고 한참동안 지켜보면 어떨까 하는 상상이다.
수학적인 계산에 의해 자연이 작동한다고 믿게 되면 이런 여러가지 재미있는 질문을 던질 수 있게 되는 것같다. 카오스에 대한 재미있는 설명(엑셀을 도입한!)이라 옮겨 실어본다.
다만, 여기서 같이 살펴볼 것은 이 두 무리수 파이와 자연상수 e에 대한 내용이다. 과연 이것이 무엇일까?
첫번째로 파이(pi)는 잘 알려져 있다시피 반지름과 원의 둘레 사이의 비율을 정의하는 상수이다. 즉, 간단히 설명해보면 직선에서 곡선으로 변환되는 비례관계를 표현한다. 더 쉽게는, 파이는 늘 곡선과 연관되어 있다고 말할 수 있다. 따라서 대부분의 곡선을 다루는 방정식들은 이 파이를 만나게 된다. 당신에게 곡선을 나타낼 도구가 필요한가? 그러면 곧바로 파이와 맞닿게 되어 있다.
sin과 cos을 다룰때도 파이가 등장하는 이유는 그 두 그래프를 보면 명확하다. 그 그래프 값들은 곡선이며 그렇게 파이와 직결된다. 삼각형의 비율로 묘사되는 이 삼각함수들은, 사실은 원 궤도를 움직이는 2차원 평면상의 좌표로도 나타낼 수 있기도 하고 삼각함수는 파이와 절친한 친구이다.
그래서 파이는 이렇게 곡선을 묘사한다고 이야기해도 틀린 말이 아니다.
그러면 두번째로 자연 상수e(=2.718..)란 어떤 존재인가? 여러가지 정의로 나타낼 수 있지만, 가장 이해하기 쉬운 정의는 다음과 같다.
f(x)=e^x (e의 x제곱) 라는 지수 함수가 있을때, 이 함수를 미분해도 다시 그 자신이 되는 e값이다.
즉, d(e^x)/dx = e^x가 되는 e값이다.
조금더 풀어서 이야기하면 x에서의 함수값 f(x)와 그 접선의 기울기 값 f'(x)가 같다. 즉 해당 점에서의 변화율이 그 함수의 값과 같다. 함수값이 커질때 변화율이 그 함수값보다 작아지는가 커지는가로 나누는 경계가 된다. 자연상수 e값으로 지수함수를 구성할때는 이 값이 같다.
그러면 왜 이 값이 의미가 있을까? 이자율이나 여러가지 지수관계를 다룰때, 이 값은 마치 대칭의 중앙값 같은 역할을 하게 되기 때문에 계산이 쉬워지게 만드는 역할을 할 수 있다. 10을 밑으로 하는 log는 그저 편의상 만들어진 10개인 인간의 손가락 수에 의존하는 숫자이지만, ln은 이러한 수학의 변화율에 대한 법칙이 만들어낸 어떤 특정한 값이다. 따라서 지수함수와 대칭점에 있는 로그함수를 다룰 때 아예 자연상수 e를 사용한 로그 ln을 상정함으로 인해 계산 결과를 더욱 깔끔하게 정리할 수 있다. 새로운 비율의 숫자로 수학을 구성했을때 더 간결하게 나타낼 수 있는 셈이다.
다시 풀어쓰면, 지수함수에 대해서, e보다 작은 값에 대해서는 이제 변화율이 그 함수값보다 작고, e보다 큰 값에 대해서는 그 변화율이 그 함수값보다 커지게 되면서, 이 두 세계를 나누는 경계가 된다. 윗 세상과 아랫 세상을 나누는 무언가가 된다. 즉 지수 관계에서 특정한 대칭을 이루는 한 지점으로 된다.
사실은 그래서 개인적으로 자연상수 e가 곡선을 다루는 파이보다 더 의미있어 보인다. 자연상수 e는 무리수에서나 찾을 수 밖에 없는, 늘어나고 줄어드는 사이의 가운데 중간값이기 때문이다. 마치 정수에서 음수와 양수를 0으로 나누듯이, 지수함수의 변화를 그 미분값보다 더 크게하고 작고하고의 대칭 중간점을 자연상수 e가 정의하고 있기 때문이다.
그리고 참고로 허수에 대해서는 따로 설명하지 않겠지만, 신기하게도 복소 평면에서의 허수 i는 회전으로 묘사될 수 있다.
그리고 이에 더해 앞서 밝힌 관계들은 이렇게 다시 돌아가보면, 복소 평면에서 아래와 같은 관계를 지니게 되는 것이다.
그리고 이 x가 pi만큼 회전했을때는, 위 공식의 양변이 모두 -1이라는 값으로 가게되며, 결국 아래 값을 만족하게 된다.
이 두 상관없어 보이는 지수함수의 증가의 기준과 곡선을 다루는 두 무리수 상수가 이렇게 딱 떨어지며 관계를 이루고 있는 셈이다. 그리고 정리해보자면 e는 변화율에 대한 대칭의 지점이며 pi는 이 회전에서의 어딘가 곡선값을 처리한다고 간략히 묘사해볼 수 있겠다.
시간은 지금과 그 다음이 있을 것이라고 믿어 의심치않게 경험할 수 있기 때문이다. 에너지는 보존되며 무언가가 바로 이 다음에 일어난다. 어느 시간이든 늘 1초 다음이 존재한다. 그러한 시간의 축 속에서 우리는 지금 이 특정 시기에 존재하고 있다.
그런데 무한의 시간대를 가정하면 이 시간의 대부분은 엔트로피가 지극히 높아진 상태, 그러니까 잡음만 가득하고 에너지는 평형을 이룬, 변화가 의미가 없는 상태가 대부분일테다. 책 "시간의 끝"에서는 우주가 계속 팽창하고, 별은 모두 타 버린 엔트로피가 극대화된 세상을 이야기한다. 차가운물과 뜨거운물이 뒤섞여서 더이상 무언가 능동적으로 변화하지 않는다. 이 시기가 바로 우주의 대부분이며 사실은 무한의 범위를 놓고 보면 100%에 해당한다. 엔트로피가 낮은 상태는 그 초반의 얼마간 뿐이 아니겠는가? 그런데 왜 우리는 이렇게 완전히 에너지가 평형을 이뤄버린 세상에 있지 않는가? 그것은 과연 우연인가.
여기에 대해 2가지 고찰을 해볼 수 있다. 첫번째로 우리같은 이런 생각을 할 수 있는 생명이라는 존재가 엔트로피가 어느정도 낮으면서 외부에서 에너지를 제대로 공급받을 수 있는 시기에만 존재할 수 있다는 사실이다. 불평을 할 수 있는 존재가 가능한 시기가 몇 안되는 시기다. 우주가 의식을 갖을 수 있는 기회는 어느정도 시간이 흐른 초기 뿐이고, 나머지 암흑의 시기(?)가 무한의 범위를 압도해 버릴텐데, 그 시기에는 아무도 불평하지 못하는 것이다.
두번쨰는 엔트로피의 통계적인 특성에 따라 커질 뿐이지, 우연을 통해 새로운 질서의 작은 파도가 생길 수 있다는 점이다. 무한의 시간 속에서 우연은 또다른 작은 낮은 엔트로피의 세상을 만들어 낸다. 그것은 무한히 작아지겠지만, 무한의 모수에서 작아지는 것은 별 의미가 없지 않을까. 따라서 생명이 존재하는 시기의 우주는 역시 무한히 반복되지 않을까. 그런데 이 두번째 논의는 조금더 곱씹어봐야할 주제이긴 하다. 엔트로피의 대상은 양자역학 수준의 미시 세계이고 이미 그 끝이 플랑크 상수로 정해진 대상이다. 따라서 어떤 우연의 쏠림이 새로운 우주를 만들어낼 정도가 되려면, 현재 우리가 있는 이 안보다는 더 상위수준의 세계가 존재해야만 한다. 그러한 계층적 세계가 존재할지 좀더 고민이 필요하다.
이렇게 무한의 시간속에서 우리가 특별한 이유를 찾아볼 수 있겠다. 이 논리 외에는 공평하게 우리의 존재를 논하기 쉽지 않지 않은가
무한에 대해 관심을 갖는 일반인에게 그 역사 전체 중 중요한 사실을 역사와 같이 설명해주는 좋은 책이라고 생각한다.
그리고 그 핵심에는 수학자 칸토어가 있다.
원래 칸토어 이전에도 무한은 적당히 다뤄져왔다. 제논의 역설 같은 문제들이 거론되기도 하지만, 계산을 위한 무한은 적당히 근사하면 그만이었다. pi값은 적절히 다각형으로 근사해서 구하면 되는 식이었다. 그런데 사실은 이론적으로는 무한은 그렇게 다루어져서는 절대 이해할 수가 없다.
예를 들면 전에 지적했듯이 무한히 많은, 길이가 0인 점이 선분을 이루는 일은 적당히 근사해서는 이해될 수가 없다. 무한에 한개를 더해도 똑같은 무한이 생기고, 0.999999.. = 1이라는 사실을 인지하기 위해서는 좀더 근본적인 체계와 방법이 필요하다. 그리고 이 엉뚱한 모험을 제대로 한 사람이 바로 칸토어가 되겠다.
칸토어는 집합론의 아버지로도 불리는데 무한을 이해하기 위해서 집합을 도구로 쓰고 발전시켰기 때문이다. 책에는 그래서 무한을 가르치지 않는 학생들이 배우는 집합론이 의미가 없다고 까지 이야기한다.
1:1 대응을 통해서 무한의 크기 혹은 농도(cardinality)를 비교한 일, 실수와 자연수의 무한이 다르다는 것.선의 모든 점이 면의 모든 점에 대응시킬 수 있다는 것. 그래서 무한을 더하거나 무한을 곱해도 같은 무한이 된다는 점 등, 무한을 우리가 아는 유한의 수준으로 당겨서 이해하는, 새로운 장을 연 것이 칸토어이다.
갈릴레오 갈릴레이를 거쳐, 볼차노, 그리고 칸토어, 연속체 가설, 괴델까지 무한에 대한 수학사의 대표적인 사건들과 발견들이 그나마 일반인이 듣고 지나갈 수 있도록 구성되어 있다. 무한이라는 주제에 관심을 갖는 모든 사람들에게 추천한다. 대체 당신이 무엇을 궁금해하고 있는 것인지를 이 수학자들의 이야기속에서 깨닫게 해준다.
양자이야기를 하다보면 주변 분들께 책 추천을 요청받는 경우가 있다. 본인은 여러가지 추천을 통해서 책을 20여권이 넘게 읽은 것 같은데, 그 중 추천은 단연 리언 M, 레더먼(Leon M. Ledeman)의 "시인을 위한 양자물리학", "대칭과 아름다운 우주" 그리고 한스 폰 크리천 베이어의 "과학의 새로운 언어, 정보" 이 3권이다.
꼭 한권만 읽어야 한다면 시인을 위한 양자물리학 부터 시작하는 것으로 추천하고 싶은데, 레더먼의 책을 추천하는 이유는 이 학문을 이해하는 중요한 단계단계를 깊은 이해 속에 최대한 쉽게 설명하기 때문이다. 양자 역학은 사람이 일반적으로 인지하는 방식과는 거리가 먼 모습으로, 이해에 한단계씩 접근할때마다 넘어서기가 쉽지 않다. 그래서 교양과학서에서 이 주제를 다룰 때는 대략 생략한다거나, 너무 추상적으로 설명하거나 하는 형태가 많을 수 밖에 없다. 본래는 양자 역학의 수식을 이해하고 전개하면 그만인데, 그 수식의 이해없이 비유로 이해하는게 쉬운 일이 아니고, 가르치는 것도 마찬가지라고 본다.
그런데 이 노련한 노벨상 수상자는 각각의 개념을 평이한 언어로 잘 설명해준다. 따라서 레더먼의 책을 중심으로 전개하되 다른 책을 읽어 여러가지 더 주변을 이해하다가 다시 이 책들로 돌아오는 방법이 어떨도 추천한다. 제목이 시인을 위한 양자물리학이라 일반인에 맞게 썼다고 생각할 수 있지만, 어지간한 자연과학 지식이 없으면 따라가기 어려울 수도 있겠다 싶기도 하다.
대칭과 아름다운 우주는, 양자역학과 수학을 결부한 설명이라고 안내해주고 싶다. 양자역학의 기괴함은 수학적인 언어로 세상을 설명하고 이후 그 해석에 대한 고민의 모습이다.
마지막으로 "과학의 새로운 언어, 정보"는 양자역학이 안내하는 세계가 궁극적으로 정보에 대한 것이라는 점, 점점더 실제가 중요하지 않다는 점을 분명히 한다. 그리고 이런 틀 하에서만 자연의 상상력을 따라잡을 수 있지 않을까.
0.a1a2a3a4..an(반복) = a1a2a3a4/(10^n -1)이 된다. 즉 위 예시에서 0.14159...=14159/(10^5-1)이 되는 것이다.
결국 가만히 살펴보면 순환하기만 하면 등비수열의 합을 통해 분수로 나타낼 수 있다는 점을 알 수 있다. 그런데 이제 순환하지 않는 무한 소수를 생각해보자. 가장 유명한 수 중의 하나는 제타함수에서 x=3인 경우로 유명한 이 수열이다.
1/1 + 1/8 + 1/27 + ... 1/x^3
이 숫자는 더해 나갈수록 앞 숫자보다 뒤 숫자가 더 작아서 어딘가로 수렴하는데, 등비수열로는 나타낼 수 없어서 유리수인지 아닌지 모르는 값이고, 결국 로저 아페리에 의해 무리수임이 증명되었다.
기하학에서도 금방 찾아낼 수 있다. 피타고라스 학파가 찾아냈듯이 밑변과 높이가 1인 삼각형의 빗변의 길이를 나타내는 소수값은 어딘가로 향하긴 하는데 도무지 순환하는 패턴이 없다(sqrt(2)). 그 유명한 증명법대로 sqrt(2)는 a/b의 분수 형태로 나타낼 수 없다. 결국 유리수(분수)로는 이렇게 순환하지 않는 소수를 나타낼 수가 없는 것이다. 그런데 의심할 수 없게도, 피타고라스 학파를 당혹스럽게 만든 그대로, 좌표상에서는 정확히 어딘가 존재하긴 한다.
어찌보면 자연수에서 시작한 숫자가, 사칙연산에서는 곱셈 나눗셈을 다루다보면 그 연산 대칭에 의해서 유리수가 탄생하게 된다. 즉 2를 3곱하면 6이 나오는데, 2를 3으로 나누면 무엇인가? 라면 당연히 2/3이 나오게 된다.
그리고 무리수는 제곱과 로그에 의해서 탄생한다. 4는 2를 두번 곱하면 되는데, 무슨 수를 2번 곱해야 2가 되는가? 라고 물으면 금방 sqrt(2)가 필요하게 되고, 또한 어떤 수의 a/b 제곱을 다루다보면 금방 찾아지는 것이 무리수가 된다.
이렇게 사실은 무리수의 탄생은 수학에서 무한이라는 것을 다루거나 제곱연산을 다루다보면 필연적이었을 일이었다. 제곱연산과 음수를 다루다보면 허수를 만나게 되는 것과 비슷하겠다. 제한된 수 범위하에서, 이를테면 0과 1사이에서 다양한 유형의 무한을 다루다보면 만나게 되는 값이다. 무리수는 이렇게 사칙연산에서의 대칭과, 무한을 처리하는 과정 중에 만나게 되는 수가 된다.
물리학자들간의 유명한 논쟁 중의 하나는 최종의 단 하나의 이론이 정말로 존재하는가이다. 이 주장은 스티븐 와인버그의 "최종이론의 꿈"에 잘 표현되어 있다. 아직 우리가 모를 뿐이지, 통합된 하나의 이론이 있다는 믿음에 대해 나온다.
사실 이론적으로는 알 수 없다. 그것은 이 세계가 가진 관측의 한계 때문이다. 이 세계 안에서 사는 자가 이 세계를 파악하기 위해서는 측정을 해야하는데, 스스로를 관측하는데는 물리적인 한계를 가진다. 만약에 자신의 상태를 완벽히 측정하는 방법이 있다고 하면(단 하나의 손실도 없이, 그 세계가 표현하는 정확도 그대로) 놀라운 발견이 될테지만, 그것은 열역학 제2법칙과 비슷한 속성이 있을테다. 99.999..% 정확도를 늘려나갈 수는 있지만 100%에는 다다를 수 없다. 그리고 무엇보다 그것이 100%인지 알 수가 없을 것이다.
따라서 애초에 우리가 사는 세상이 완벽히 어떠한 방정식이나 규칙을 따르는지는 알 수가 없다. 시간이 아무리 흘러도 마찬가지다.
조금 가볍게 시작해보면, 내가 집에 가진 모래시계는 3분에 오차가 몇초 정도 된다. 대체 왜 이녀석은 이런 정도의 정확도를 지니고 있을까? 자연은 어떤 법칙을 따라가고 있는것인가?
더 전문적으로 이야기해보면 과학계는 이런 것들에 대한 실험을 진행해왔는데, 첫번째로 가장 강력한 실험은 양자역학에 대한 실험이다. 이 놀라운 미시세계에 대한 실험은 리처드 파인만 교수의 주장대로 유효숫자가 상당히 크게 예측이 가능하다. (양자 전기 역학의 실험과 일치하는 정도가 New York에서 Los Angeles 사이의 거리를 단 한 오락의 머리카락 정도의 오차로 찾는 것 이라고 표현했다) 그리고 더 흥미로운 것은 과연 과거의 물리법칙과 현재가 같은지 여러가지 실험을 진행했는데(반감기 등의 차이가 있는지) 역시 긴 시간동안 별로 변화가 없다는 결론을 얻었다는 점이다. 책 "대칭과 아름다운 우주, p.53"에서 오클로의 천연 원자로에 대한 확인 실험들이 자세히 소개된다. 거의 우주의 시간동안 우주의 물리 법칙이나 상수들이 변하지 않는 것으로 추정된다는 점을 이야기한다.
우리는 지금도 측정 과정에서 양자역학적인 세계가 지켜지고 있다는 사실을 지속 확인하고 있다. 더군다나 "대칭과 아름다운 우주"에서는 더 재미있는 이야기를 하고 있는데, 중력이 아침 저녁으로 변할때의 이야기이다. 이렇게 되면 흥미롭게도 영구 에너지가 가능하다. 즉 중력상수가 약해질떄 물을 끌어올리고 중력상수가 강해질때 물을 아래로 내려 발전을 하는 것이다. 따라서 이렇게 물리 법칙이 변경되는 것도 대칭의 깨짐을 일으킨다는 것이 이 책의 지적이다. 수학을 따르고 있을 뿐 아니라 대칭과 보존의 원리까지 지켜지는 것 같다는 점이다.
어찌보면 어떻게든 이 세상이 기계적(수학적)이 아니라고 주장하는게 사실은 더 의아한 상황이 아닌가 싶기도 하다. 현재의 여러가지 정황으로 돌이켜보면 세상은 수학적으로 돌아가고 있다. 아니라고 할 만한 증거가 턱없이 부족하다.
재미있는 것은 분명히 서로 다른 지름을 가진 두원이 지나왔는데, 빨간색의 두 직선처럼 길이가 같아진다. 그리고 더 흥미로운 사실은 많은 이들이 지적하듯이 저기에 빨간 줄은 없지만, 이 원통의 중심이 이동하는 궤적이다. 이 원통의 중심은 원도 아니고 점이다. 엄밀히 말하면 지름이 0인 원이라서 둘레의 길이가 없는데, 결과적으로 직선이 만들어진다.
이것은 마치 점으로 선분을 만드는 것과 같다. 이와 비슷한 일이 바로 제논의 역설과 같다. 거북을 따라잡는 아킬레스는 늘 거북이와의 절반의 점을 지나야 하는데, 절반을 가도 또 절반이 남고, 또 절반이 남기 때문에 무한이 많은 점을 거쳐야 한다는 점이다. 그래서 결국 거북이 보다 훨씬 빠른 아킬레스도 거북을 따라 잡을 수 없다는 역설이다. 사실 이 역설과 위의 둘레가 0인 점이 직선을 만드는 것은 크게 다르지 않아 보인다.
이런 역설들은 무한대와 무한소가 서로를 상쇄하는 형태로 해소된다. 서로 다른 두개의 무한이 서로를 상쇄하여 결국은 유한한 무언가로 바뀌게 된다. 두개의 서로 다른 지름의 원도, 동일한 길이의 직선에 모든 점이 대응될 수 있다. 아킬레스는 거북을 따라 잡을 수 있다. 그리고 위 원통도 현실에 볼 수 있듯이 수학적으로 명확하게 둘레가 0인 이 점이 직선을 이룰 수 있다. 두개가 달라보여도 서로 1:1로 대응해서 넘어서면 그만이다. 만약에 자연이 실수로 이루어져있다면 0과 1 사이의 실수나 0과 2사이의 실수가 같다는 것을(두개가 1:1로 대응 가능한 무한이라는 점을), 수학은 그림으로 증명하고 있는 셈이다. 멋지지 않은가? 눈으로 봐도 칸토어의 시도가 곧바로 보인다.그리고 그것이 증명되어야 위 원통이 굴러가지 않겠는가? 위 0~1 사이의 모든 실수와 0~2사이의 모든 실수에 대한 간단한 1:1 매핑 방법은 독자들을 위해서 남겨두겠다.