한 페이지 머신러닝

수학, 과학

아래 그림은 비 머신러닝과 머신러닝의 차이를 보여준다. 왼쪽을 보자. 중학교때 배우는 함수의 개념이다. 3이라는 숫자는 정해져 있고, 입력을 받은 값에 3을 곱해서 결과를 낸다는, 단순한 곱하기 기능을 하는 함수다. 함수 (函數)란 무엇인가. 사전을 찾아보면 '함나무로 짠 궤'라 한다 (https://hanja.dict.naver.com/hanja?q=%E5%87%BD). 결혼식에서 함사세요 할 때의 그 함 이다. 상자 (box)라는 뜻이다.

오른쪽 그림을 보자. 이번에도 함이 있다. 아까와 차이가 있다면 이번에는 검은 함 이다. 블랙박스다. 뭔지 모른다는 뜻이다. 수식을 보면 입력(x)과 출력(y)이 쌍으로 주어진다. 파란 화살표로 주어지거나 녹색 화살표로 주어진다. 어떤 입력에 어떤 출력이 나오는지를 알고 있다는 뜻이다. 여기서 모르는 건 함(函)의 기능이다. 어떤 입력에 어떤 출력이 나오는지를 매우 다양한 경우로 알고 있다면 모르는 그 기능이 무엇이었을지를 추정할 수 있다. 

머신러닝도 어쨌든 컴퓨터로 계산을 수행한다. 머신러닝 계산과 비 머신러닝 계산의 차이는 아래 그림의 좌 우 차이와 같다. 왼쪽에서 알고 싶은 건 계산이 완료된 결과 값이고, 오른쪽에서 알고 싶은 건 계산을 가능하게 한 함수다. 왼쪽이 비 머신러닝이고, 오른쪽이 머신러닝이다. 

 

양쪽의 차이에 대해서 조금 더 깊이 알아볼 필요가 있다. 이 차이는 현대 기술 문명을 떠받치는 두 기둥인 수학과 과학의 개념을 그대로 보여주기 때문이다. 아래 그림으로 수학이 무엇인가를 먼저 알아보자. 

좌측 아래에 1+1=2 계산부터 보자. 이것은 상식이라 더 말할 필요가 없을 듯 하다. 그런데 1+1=0은 뭐고 1+15=4는 무엇일까. 우리는 1+1=2라는 상식을 너무나 당연하게 받아들인 나머지, 이 상식이 참이게 되는 전제를 잊고 있다. 십진수라는 것이다. 십진법을 기초로 만들어진 수 체계가 십진수다. 십진법 (十進法)은 무엇인가. (열 개, 나아간다, 규칙). 갯수 열 개를 꽉 찬 것으로 보겠다는 약속/규칙이다. 이 약속 위에서만 1+1=2가 참이다. 

다른 약속도 있다. 두개를 꽉 찬 것으로 보겠다는 약속이다. 이진법이라고 부른다. 1+1을 하면 꽉 찼기 때문에 자릿수를 하나 넘기고 0으로 돌아온다.

또 다른 약속도 있다. 열두개를 꽉 찬 것으로 보겠다는 약속이다. 십이진법이라고 부른다. 1+15를 하면 열두개를 꽉 채우고 네 개가 남는다. 시계 (clock)를 우리가 이렇게 읽는다. 한시에서 열다섯시간이 지나면 네 시다. 

이런 식이면 또 다른 약속도 만들어볼 수 있다. 열세개를 꽉 찬 것으로 보면 어떨까. 십삽진법을 만들었다. 한개+열다섯개는 -일곱개다. 열셋이면 꽉 찬 것이기 때문이다. 13=0이다. 

네 가지 계산을 수행해보았다. 넷 다 타당한 수학적 논증이다. 전제가 그때그때 달라질 때마다 타당한 결론도 이랬다 저랬다 바뀐다. 전제가 참일 때 결론도 참인 논증을 연역 논증이라 부른다. 수학은 연역논증을 표현하는 언어다.

모든 수학 정리는 definition부터 시작한다. ~~라고 정하자 하는 약속이다. 이 약속 안에서만 어떤 결론을 낸다. 약속을 벗어나는 이야기는 하지 않는다는 규칙이다. 약속을 벗어나는 이야기를 하려면 또 다른 definition을 정하고 따로 이야기하면 된다. 평면 기하는 평면에서만 이야기하겠다는 약속에서 시작한다. 곡면 기하는 곡면에서만 이야기하겠다는 약속에서 시작한다. 모든 수학이 다 이런 식이다. 약속이 지켜지는 한 그 약속 안에서 반드시 참인 결과를 도출한다. 그러나 약속 밖의 세상에 대해서는 할 수 있는 말이 없다. 

가장 단순한 연역 논증으로, 유명한 삼단논법이 있다. 모든 사람은 죽는다. 소크라테스는 사람이다. 따라서 사람은 죽는다. 저 논리는 전제가 참인 한 우주가 끝날 때까지 참이다. 전제 안에 결론을 이미 내포하고 있기 때문이다. 수학자가 하는 일은 약속된 전제를 이리저리 잘 만져서 뻔하지 않게 숨겨져 있던 결론을 겉으로 드러내는 일이다.

n개의 공 중에서 r개의 공을 꺼내는 이항연산도 마찬가지다. 이것은 고등학교 수준의 수학을 배우면 이해할 수 있다. 정의(Definition)에서 시작해 정리(Theorem)를 거쳐 뻔하지 않은 결론을 도출한다. 1+2+3... (n-1)까지 더하면 n개의 공 중에서 2개의 공을 뽑는 경우의 수와 같다는 결론이다.  여러 숫자를 덧셈 하는 것과 공을 뽑는 것이 어째서 같은가? 뻔하지가 않다. 그러나 결론은 참이다. 이를 보이기 위한 증명과정이 우측 아래에 공이 7층으로 쌓인 삼각형으로 표현되어 있다. 

삼각형의 가장 위부터 행 단위로 덧셈을 해 보자. 
1
1+1 = 2
1+1+1 = 3
1+1+1+1 = 4
...
이런 식이다. 1부터 6층까지 다 더하면 21개의 공이다. 이 21이라는 숫자는, 삼각형의 가장 아래층 파란 공의 관점으로 똑같이 도출할 수 있다. 파란 공에서 진하게 표시된 더파란 공이 두개 있다. 7개의 파란 공에서 2개의 공을 한 번 고를 때마다 빨간 선분으로 삼각형이 한번씩 그려진다. 삼각형의 꼭지점은 주황색으로 표현되어 있다. 7개의 파란 공 중에서 2개의 공을 이렇게 선택하고 저렇게 선택할 때마다 서로 다른 모양의 삼각형이 그려진다. 따라서 7개의 파란 공 중에서 2개의 공을 선택하는 모든 경우의 수는 그 위로 쌓인 6층짜리 노랑 공들을 하나하나 세는 결과를 가져온다.

뻔하지 않은 결과를 뻔해 보이도록 겉으로 드러내었다. 증명이다. 이 증명 역시 전제가 참인 한은 우주가 끝날 때까지 참이다. 전제 안에 결론이 내포되어 있었기 때문이다. 이 내용이 잘 이해가 되지 않는다면 글을 너무 빠르게 읽었다는 뜻이다. 뻔하지 않을수록 한자 한자 아주 천천히 읽어야 한다. 

이제까지 모든 수학 논리의 기반이 되는 연역논증에 대해서 알아보았다. 전제가 참일 때 결론이 무조건 참이라는 것만 기억해두자.

이번에는 과학에 대해서 알아보자. 과학을 이해하기는 수학보다는 쉽다. 우리의 경험으로 체감할 수 있기 때문이다. 과학을 지탱하는 논증은 귀납 논증이라고 부른다. 위의 연역 논증과는 다른 식으로 작동한다. 아래 그림을 보자.

나는 오늘 아침에 해가 동쪽에서 뜨는 것을 보았다.
나는 어제 아침에 해가 동쪽에서 뜨는 것을 보았다.
나는 십년전 아침에도 해가 동쪽에서 뜨는 것을 보았다.
이 겸험이 누적되면 우리는 무엇을 할 수 있는가. 내일도 해가 동쪽에서 뜨리라는 예측(prediction)을 할 수 있다. 귀납 논증은 어떤 조건에서 어떤 경우가 반복적으로 발생했을 때, 그와 유사한 조건에서 같은 결론이 또 등장할 것이라는 논리다. 연역 논증과 달라서 전제가 참이라도 결론이 반드시 참인 것은 아니다. 예컨대 내일 아침에는 소행성이 지구를 들이박아서 해가 안 뜰 가능성이 있다. 가능성이 매우 작을 뿐이지 없는게 아니다. 그래서 모든 과학 실험의 결과는 확률 (probability)로 표현한다. 높은 가능성으로 그러하나 반드시 그러한것은 아니기 때문이다. 

과학 실험을 하면 실험 결과의 타당함을 주장하는 근거로 p-value를 사용한다. p-value가 낮을수록, 특히 상식적으로 5%보다 낮을 수록 유의미하다고 말한다. 종 모양의 정규분포에서 5%라는 숫자는 좌로 2.5%, 우로 2.5% 양 극단에 치우친 아주 작은 값이다. 쉬운 말로 하면 '발생하기에 뻔하지 않은 일' 이라는 뜻이다. 

생물 실험실에서 생쥐를 잡아서 어떤 조건을 두고 약을 먹여 봤는데 여러 마리의 생쥐가 상식을 벗어난 (=뻔하지 않은) 증세를 공통적으로 보인다면 그 약에 뭔가가 있다는 뜻이다. '뻔하지 않은(=발생할 확률이 낮은) 결과를 반복적으로, 또 인위적으로 일으켰으므로 그 이유는 바로 이 약에 있다' 라는 논리다. 그러나 그 증세가 발생한 이유는 사실 약이 아니라 그 약을 먹이느라 입을 크게 벌렸기 때문인지도 모른다. 생각지 못한 어떤 헛점이든 있을 수 있다. 귀납 논증은 연역 논증과는 달리 전제가 참이라고 해서 결과가 반드시 참인 것은 아니기 때문에, 언제나 틀렸을 가능성을 내포하고 있다.

과학이 수학처럼 완전한 참을 도출할 수는 없는 반면, 수학은 할 수 없는 이야기를 과학은 할 수 있다. 전제 밖의 이야기를 결론으로 꺼낼 수 있는 것이다.
 

이제까지의 논의를 한 페이지로 정리하면 다음과 같다. 왼쪽부터 보자. A이면 B이고, B이면 C이고 등등, 그러면 A가 주어졌을때 결론은 무언인가? 하고 묻는것이 연역논증, 수학의 영역이다. 약속된 적 없는 말에 대해서는 할 수 있는 말도 없다. 반면 A이면 B이고 A'이면 B'이고 등등, 수많은 사례가 주어졌을때 화살표는 무엇인가? 하고 일반 법칙을 도출하는것이 귀납논증, 과학의 영역이다. 일반법칙 (=화살표)을 도출하고 나면 이전에 본적 없는 A*라는 사례일 때 어떤 결론이 높은 가능성으로 나옴직 한지를 예측 (predict)할 수 있다.  

 

마무리다. 본 문서의 가장 첫 부분에서 읽었던 머신러닝과 비 머신러닝의 그림으로 돌아오자. 왼쪽 그림이 수학의 영역인 연역논증을 표현했고, 오른쪽이 과학의 영역인 귀납 논증을 표현했다. 머신러닝 이전의 컴퓨터는 수학 계산에 특화되어 있었다. 전제가 주어졌을 때에 (어차피 참이게 될) 결론을 빠르게 계산하는 효율에 중점을 두고 발달했다. 한편 머신러닝을 하는 컴퓨터는 과학의 논리로 계산을 수행한다. 수 많은 실험데이터를 제공받고 그 데이터가 공통적으로 보이는 패턴이 무엇일지를 도출하는 용도다. 컴퓨터를 미래를 예측하는 도구로 사용할 수 있게 되었다는 뜻이다.

 

댓글

댓글 본문
작성자
비밀번호
버전 관리
Woneui Hong
현재 버전
선택 버전
graphittie 자세히 보기