괴델,에셔,바흐- 영원한 황금 노끈

 

제10장  기술층위와 컴퓨터 체계

 

여러개의 층위

텔레비젼 화면에 펼쳐지는 것은 극단적으로 대립하는 두 개의 표상을 가진다. 하나는 화면 위에 켜졌다 꺼졌다하는 점들의 집합이고, 또 다른 하나는 화면위에 나타나는 여자의 모습등과 같은 것이다. 이 두가지 대립되는 두가지 층위에도 불구하고 우리는 간단히 다른 하나를 배제하거나 관심을 다른 데로 돌림으로 그 두사이에 혼란을 겪지 않는다.

 

인공지능 연구의 가장 중요한 문제들 중의 하나는 이것이다. 즉 여러개의 층위가 있을 때 그 중에서 하나의 기술층위만을 받아들일 수 있는 체계를 어떻게 구축할 것인가이며, 다른 층위를 어떻게 만드는가를 규명하는 것이다. 그 대답은 "덩어리"만들기(응축)의 개념이다.

 

함축적 가지치기

덩어리 만들기 개념은 다음에 나타나는 함축적 가지치기와 유사하다. 체스의 고수들은 초보자와 다른  층위에서 생각한다. 고수들은 여러가지 다양한 행마가운데 나쁜 행마는 아예 보지 않는다. 모든 행마를 다 검토한 후 나쁜 행마를 구별해내는 것을 구체적 가지치기라 하는 반면에, 고수들은 직관적으로 나쁜 행마는 처음부터 고려하지 않는 함축적 가지치기의 방식으로 체스의 행마를 한다고 한다. 천부적인 수학자도 보통 사람들이 하듯이 모든 종류의 오류경로를 다 점검하지는 않는다. 오히려 가장 유력한 경로의 "냄새를 맡고는" 곧 바로 결정한다.

 

덩어리 만들기(응축)

하나의 체계에는 많은 기술층위들이 존재하는데, 낮은 층위와 높은 층위의 차이는 무엇인가? 그것이 바로 응축이다. 낮은 층위에서는 서로 무관한 것으로 보이는 일련의 사물들이 높은 층위에서는 그것들이 응축된 형태인 덩어리로 집약되어 나타난다. 낮은 층위에서의 개개의 점들은 서로 무관해 보이지만 높은 층위에서 관찰할 때는 그 점들이 모여서 하나의 덩어리 또는 형태로 인식된다는 것이다.

 

컴퓨터의 프로그램의 층위

컴퓨터 프로그램의 기술 위계에 있어서 가장 낮은 층위는 기계언어이다. 그 보다 높은 층위는 어셈블리 언어이다. 이 두 사이에는 1:1 대응관계가 존재한다. 하지만 컴파일러 언어는 응축의 개념을 이용한 언어로서, 어셈블리 언어보다 한 단계 높은 층위의 언어이다.  컴파일러 언어의 명령어 하나는 기계언어 층위에서의 하나 또는 그 이상의 처리과정을 하나의 덩어리로 응축시켜 호출하는 능력을 가지도록 설계되었다.

 

그 외에 기계언어보다 낮은 층위의 마이크로 프로그래밍이 있으며, 운영체계의 층위도 존재한다. 이러한 복잡한 컴퓨터 시스템의 여러 층위들은 총체적으로 사용자를 "편안하게"해 주고, 사용자와는 무관한 심층적인 층위들에서의 많은 과정을 고민하지 않게 해 주는 효과를 가진다.

 

오늘날 인공지능 연구의 주요 영역중의 하나는, 훨씬 높은 층위의 언어의 개발을 연구하는 자동 프로그래밍이다. 보기들로부터 일반화하기, 문법적 오류정정하기, 애매한 묘사의 의미를 이해시키기, 사용자의 낌새를 알아차리기, 어떤 사안이 불분명해지면 질문하기, 자연언어 자체를 사용하기등... 이 때 사람들은 신뢰성과 유연성사이에서 적당한 타협점을 찾을 수 있기를 원한다.

 

정신대 두뇌

두뇌에 대해 논하고 있는 다음 장에서는 두뇌의 가장 높은 층위인 정신을 이해할 수 있는 지를 검토할 것이다. 물론 우리가 정신과 관련이 있기도 하고 동시에 관련이 없기도 한 낮은 층위들을 이해하지는 못하지만 ...낮은 층위의 법칙들에 대해서 "봉쇄"된, 따라서 뇌세포의 미시적인 활동을 좌우하는 사고의 법칙들이 존재하는가? 아니면 사고의 과정들을 하위체계들로 쪼개어 넣는 것이 불가능한가? 아니면 두뇌는 차라리 원자, 재규정된 전자, 원자핵, 중성자 아니면 쿼크 같은 것인가? 의식은 부수현상인가? 정신을 이해하려면 신경세포의 층위에 이르기까지 깊숙이 내려가야 하는가?

+ Recent posts