본문 바로가기
1

앨런 튜링, 튜링머신, 인공지능

by spiral 2022. 11. 16.

앨런 튜링(Alan Turing)을 공부하다보면 컴퓨터 공학이라는 것이 얼마나 기계적이며 노가다와 같은 과정을 요구하는지 추정해볼 수 있다. 물론 앨런 튜링은 컴퓨터 공학자가 아니라 수학자였다. 그러나 알다시피 컴퓨터 공학은 20세기 초중반 수학으로부터 파생되어나왔다. 수학자들의 작업이 없었다면 컴퓨터 공학은 나오지 못했을 것이다. 수학자 알론조 처치(Alonzo Church)의 제자였던 스테픈 클레이니(Stephen Kleene)의 작업을 보면 그 파생의 과정이 어떻게 이루어지는지 짐작해볼 수 있다. 그가 학과장으로 있었던 대학(University of Wisconsin-Madison)의 학과는 최초 '수 분석과'(the Department of Numerical Analysis)라 불렸다. 해당 과가 나중에 '컴퓨터 공학과'(The Deparment of Computer Sciences)가 된다. 그래서 그의 제자 중에서는 수학자 이외에도 컴퓨터 공학자들이 나오게 된다. 물론 수학에서 컴퓨터 공학이 파생되어 나오는 과정을 논할 때 수학자이자 컴퓨터 공학자인 존 폰 노이만(John von Neumann)을 빼놓을 수 없다. 그는 튜링의 "계산 가능한 수에 관하여, 결정문제에 대한 응용와 더불어"(On Computable Numbers, with an Application to the Entscheidungsproblem)라는 논문에 나오는 '논리적 계산 기계'(logical computing machine) 개념, 혹은 후에 처치에 의해 '튜링머신'(the Turing machine)이라 불리게 되는 개념에 영감을 받아 실제로 물리적으로 컴퓨터를 만들기 위한 작업에 공학자들과 함께 착수하게 된다.

애당초 컴퓨터 공학이 인간의 직관을 배제함으로써 '컴퓨터'라는 개념을 만들어냈기에 컴퓨터 공학이 기계적이 것은 당연한 일이다. '튜링머신' 개념만 해도 그러하다. '처치-튜링 논제'(the Church-Turing thesis)를 보면 튜링머신이 아무런 통찰이나 참신함 없이 그저 규칙을 따를 뿐인 인간 계산자가 체계적-기계적으로 계산할 수 있는 것과 방식으로 작동한다는 것을 알 수 있다. 인간 계산자가 규칙을 따라 계산할 수 있는 것이라면 튜링머신도 동일하게 처리할 수 있다는 뜻이다. 그러한 이유로 튜링머신의 구동 원리를 따라가다보면 기호로 만들어진 정교한 게임을 하나 익히는 것과 같은 느낌을 받게 된다. 인문적-철학적 관점에서 볼 때 결코 알고 싶지 않다고 여겨질 정도로 과도하게 테크니컬하다. 컴퓨터 공학자들은 과연 이런 규칙에 얽매인 장치를 설계하면서 희열을 느끼는 것인가 궁금해지는 대목이다.

물론 튜링의 논문은 단순히 기계적이지만은 않다. 여러 문제를 제시하기 때문이다. 즉, 체계적-기계적으로 작동하는 튜링 머신이 정확히 체계적-기계적이기에 봉착하게 되는 문제를 보여준다. 결정문제(the Entscheidungsproblem)가 그 중심에 있다. 동시에 해당 문제를 다루는 과정에서 튜링은 나중에 만족문제(the satisfactoriness problem), 출력문제(the printing problem), 멈춤문제(the halting problem)라고 알려지게 되는 문제를 다루게 된다. 말할 것도 없이 결정문제는 수학자 다비트 힐베르트(David Hilbert)에게서 온 것이다. 튜링의 논문이 사실은, 컴퓨터 공학 공문이 아니라 (사실 이 당시 컴퓨터 공학이란 학문은 있지도 않았다), 괴델(Kurt Gödel)의 불완전성 정리(the incompleteness theorem)를 기계적인 방식으로 새롭게 증명해내는 데 맞추어진 수학 논문이라는 점을 잊어서는 안된다. 그런 이유로 사실 오늘날 실무 차원에서 컴퓨터 공학을 이용하는 사람들이 튜링의 해당 논문을 실제로 읽을 필요는 거의 없을 것이라 본다. 표준화된 교과서에 정리된 요지를 통해서 익히는 정도일 것이라 추정한다. 튜링의 논문을 직접 읽을 필요가 있는 사람은 이론적으로 컴퓨터 공학에 접근하는 연구자이거나 아니면 수학자나 철학자들이지 싶다.

인문학자가 튜링에 관심을 갖는 건 당연히 '문제들' 때문이다. 단순히 기계적으로 작동하는 체계를 익히겠다는 생각에 튜링을 공부하는 철학자는 없다. 물론 그 또한 알아두면 나쁠 게 없는 지식이겠지만 말이다. 거꾸로 말하면, 튜링이 보여준 문제들은 사실 튜링머신 개념에 기반해 물리적으로 컴퓨터를 제작하는데 전혀 영향을 끼치지 않는 요소다. 예컨대, 결정문제는, 기술적 차원에서 잘 사용하던 컴퓨터에 일어나는 오류와 문제 같은 걸 말하는 게 아니라, 프레게(Gottlob Frege), 힐베르트, 러셀(Bertland Russell), 괴델 등을 거치며 수학적 논리학 내부에서 오래 전부터 있어온 철학 문제를 뜻한다. 그렇기에 이를 두고 '내 컴퓨터에선 그런 문제 안 일어나는 거 같은데? 잘만 작동하는데?'라고 말하는 것이 요점에 맞지 않는 일이다. 달리 말하면, 철학 문제를 일으키는 프로그램을 구태여 만들어서 컴퓨터에서 실행하지 않는 이상 평상시 사용하는 프로그램에 내재된 문제 때문에 오류가 날 일은 없다. (거꾸로 말하면, 하드웨어적 문제 때문에 오류가 날 수는 있다. 이론적 정합성의 세계와 달리 물리성의 세계는 언제나 오류의 바탕으로 작동하지 않던가? 즉, 모든 물리성에는 한계가 있다. 예컨대, 빛의 속도보다 빠르게 움직일 수 있는 물질은 없다. 컴퓨터 부품을 구성하는 물리적 한계치인 원자 배열에 문제가 생기면 계산이 엇나갈 수 있다.) 물론 수학자로서 튜링의 참신함이 바로 이 기이한 컴퓨터 공학적 접근법으로부터 나오는 것은 사실이다. 수리 철학 내에서 벌어진 논리학 문제를 기계공학적 문제로 번역을 해서 다시 보여주었기 때문이다. 말하자면, 튜링과 함께 수리 철학은 컴퓨터 철학이 된 셈이다. 

그러나 인공지능(artificial intelligence)이 이슈가 되는 오늘날에는 과학자에게도 '문제들'이 더 중요하게 보이지 싶다. '마음의 기계화'(the mechanization of mind)를 논하는 인지과학(cognitive science)이나 인공지능 연구분야에서 보기에 지금 더 흥미롭게 보이는 것은 튜링머신 자체가 아니라 튜링머신이 봉착하게 되는 문제들일 것이기 때문이다. 생각해보라. 아무리 뛰어나다고한들 누가 과연 계산 능력을 진정한 지능이라 여길 것이란 말인가? 결정문제가 지시하는 지점은 결국 '프로그램으로서 기계 지능이 지닌 보편적 체계는 그 자신의 처리 대상인 데이터-수를 예외 없이 하나하나 객관적으로 전부 인지할 수 있느냐'는 질문이다. 물론 이에 대한 답변은 '그렇지 않다'다. 힐베르트 같은 수학자에게 이는 절망적인 순간이었다. 그러나 철학자에게는 다르다. 왜냐하면 수학적 객관이 붕괴하는 곳에서 등장하는 것이 주관이기 때문이다. 최근 인공지능 분야에서 튜링과 관련해, 예컨대, '신탁-기계'(the oracle-machine) 개념에 더 관심을 갖는 것은 이상한 일이 아니다. 예컨대, 앤드류 호지즈(Andrew Hodges) 같은 학자는 그의 신탁-기계를 양자역학에 기반한 물리성의 세계에 연결하여 이해하고자 하기도 한다. '퀀텀 의식'(quantum consciousness)에 대해 말하는 로저 펜로즈(Roger Penrose)의 제자이니 당연한 접근법이지 싶다.  

인공지능에 있어 한 가지 요점은 '처치-튜링 논제'가 아닌 전혀 다른 개념에 기반한 지능을 개념화 및 제작하는 데 있다. 학습 능력 이외에 딱히 개별적으로 프로그램된 목적을 지니지 않은 머신러닝 혹은 딥러닝 개념만 해도 이미 조금 다른 이야기다. 물론 학습이라는 개념은 이미 그 자체로 하나의 거대한, 추상적으로 프로그램된 목적과 같다. 그러나 인간도 마찬가지다. 우리는 살아가면서 학습한 결과 스스로 삶의 목적을 프로그램한다. 예컨대, 태어나기 전부터 '난 컴퓨터 공학자가 될 거야'라는 프로그램이 입력된 사람은 없다. 태어난 후 주변에 있는 사람 및 사물의 영향을 받으며 이것저것을 학습한 결과 '난 컴퓨터 공학자가 되겠어'라고 마음먹는 순간이 일어날 뿐이다. 존 로크(John Locke)가 말하듯 인간은 타불라 라사(tabula rasa)의 상태로 태어난다. 삶의 의미는 텅빈 석판에  무엇을 프로그램하여 넣을 것이냐의 문제다. 물론 진화생물학자라면 태어나기 이전에 유전자의 차원에서 인간은 이미 '생존기계'로 프로그램되었다고 말할지도 모른다. 맞는 말이다. 그러나 생존의 방식에는 여러가지가 있을 수 있다. 누군가는 자식을 낳는 것을 생존이라 부를 것이지만 누군가는 저서를 써서 남기는 것을 생존이라 부를 것이다. 혹은 누군가는 인공지능을 지닌 기계를 만드는 것을 생존이라 말할 것이다.

그러나 '삶의 의미를 스스로 프로그램하는 생존기계'는 실존적 관점을 전제로 한 이야기다. 스스로 자신의 삶을 프로그램하는 것이 아니라 부모가, 권력자가, 사회가, 경제질서가 '이렇게 살아야 돈 많이 벌고 잘 사는 것'이라고 프로그램 해놓은대로 살아가는 것이 일반적인 사람들의 모습이다. 여기서 딥러닝 기반 인공지능이 학습하는 데이타가 많은 경우 그러한 공식에 따라 사는 사람들이 산출해낸 데이타일 가능성은 배제할 수 없다. 예컨대, 딥러닝에 기초해 인공지능이 아웃풋을 산출해낼 때 결국은 그 모든 것이 누구나가 해내는 평균적 사고를 아주 정교하고 그럴듯하게 '짜집기'한 것에 불과한 측면이 있지 않은가? 이러한 관점에서 정의된 인공지능의 등장은 결국 질 높은 평균적 사고의 등장 이상도 이하도 아니지 않은가? 딥러닝에 기반한 인공지능에게 던져야할 질문은 다음과 같을 것이다: '당신은 사고하는 당신을 사고하고 있습니까?' 인간이 스스로 삶을 프로그램할 때 그것은 그가 본질로부터 버려진 실존의 심연과 마주하고 있다는 뜻이다. 인공지능은 과연 '평균치' 주변을 서성이는 함수값에서 벗어날 준비가 되어있는가? 실존이라는 비의미의 오류를 오류가 아닌 것으로 받아들일 준비가 되어있는가? 

마무리하자. 튜링머신에 대해 공부한 후에는 음악을 들어줘야한다. 음악이 얼마나 강력하게 인간의 감정을 자극하는지 확인하고 싶다면 튜링이나 컴퓨터 공학 혹은 수학을 공부한 후에 음악을 들으면 된다. 인공지능의 최종 지점은, 예컨대, 음악을 듣고 감동을 하는 능력이 되어야하지 않은가? 튜링머신이라면 타인의 고통을 자신의 고통으로 느끼는 공감 능력을 단순히 '오류'라고 여기고 말 것이다. 인간들 사이에도 그러한 튜링머신 같은 자들이 있다. 기계적 합리성을 가지고 세상 만사를 제단하는 자들 말이다. 그러나 진정한 인공지능은 바로 그 '오류'를 오류가 아닌 것으로 받아들일 때 구현될 것이지 않은가? 이를 '기계 없는 세상' 혹은 '러디즘'(Luddism)을 꿈꾸는 것으로 받아들여서는 안된다. 튜링머신을 거부할 때 빠지게 되는 또 다른 함정은 '무속'과 '주술'의 세계다. 요점은 기계로 하여금 눈물을 흘리도록 만드는 데 있다. 혹은, 한 걸음 더 나아가 다음과 같이 말하고 싶기도 하다: '오직 기계만이 진정으로 고통을 느낄 수 있다.' 때때로 인간이 눈물을 흘리게 되는 것은 그 자신의 기계성 때문이지 않은가? 인간을 정의내리는 한 가지 방법은 눈물을 흘리는 기계로서 인간을 개념화하는 것이다. 

--

[나무] (2017)



댓글