인공지능 이야기 3 - 딥러닝
https://pgr21.com/pb/pb.php?id=freedom&no=57431&page=2
인공지능 이야기 2 - 기호주의와 연결주의
https://pgr21.com/pb/pb.php?id=freedom&no=57391&page=2
인공지능 이야기 1 - 소개
https://pgr21.com/pb/pb.php?id=freedom&no=57373&page=3
악마의 두뇌를 가진 인간이라는 별명을 가졌던 천재 수학자 폰 노이만은 52살 되던해 암선고를 받고 그동안 진행해오던 수많은 프로젝트를 중지했습니다. 대신 꼭 마무리 해야 하는 두개의 프로젝트를 남겼는데. 그 두 개는 아이러니하게도 매우 상반된 프로젝트였습니다.
그 하나는 죽음을 부르는 원자폭탄 개발 프로젝트 '맨하탄 프로젝트' 였고 남은 또 하나는 새로운 생명을 창조하는 인공생명 개발의 이론적 근거인 '오토마톤 이론' 의 완성이었습니다.
<폰 노이만>
최초로 기계적 컴퓨터를 설계한 폰 노이만은 그 컴퓨터가 가지고 있는 속성중 '자기복제' 능력에 주목하였습니다. 그는 기계가 자기복제를 할 수 있다는 사실을 두려워했으며 죽기직전까지 그 연구를 주저했습니다. 그가 '자가복제' 란 속성을 두려워 했던 이유는, 인간또한 자가복제를
통해 발생한 생명체라고 생각했기 때문입니다. 참고로 기계에게 '자가복제' 가 어떤 의미를 가지는지 깨달은 또 다른 천재가 나타난건 그로 부터 수십년 후이니. 폰 노이만의 천재성은 가히 시대를 앞섰다고 봐야겠습니다.
이대목에서 우리는 묘한 기시감을 느낄 수 있는데. 이는 바로 얼마전 전세계적으로 선풍적인 인기를 끈 '이기적 유전자' 의 핵심과 동일한 이론적 배경이기 때문일 것입니다. 이기적 유전자를 쓴 리처드 도킨즈는 태초에 지구를 뒤덮은 거대한 수프에 온갖 화학적 우연이 겹치면서 스스로를 복제하기 시작하는 객체가 나타났고. 이것은 변이와 진화를 거듭하면서 스스로의 유전자를 효과적으로 물려줄 수 있는 몸체를 만들어냈고. 이렇게 발생한 생명중 하나가 바로 인간이라고 주장했습니다.
복제를 거듭하면서 발생하는 우연과. 그 우연이 어떤 결과를 만들어내는지는 이 글 후반부에 시뮬레이션을 통해 다시한번 증명하도록 하겠습니다. 폰 노이만은 죽음을 부르는 맨하탄 프로젝트는 무사히 완수하였지만, 새로운 생명을 개척하는 오토마톤 이론의 완성은 생애에 끝낼 수 없었습니다. 다만 그 얼개라도 학회에서 발표하고자 하는 욕망이 강했으나 결국 그는 암에 굴복하고 이듬해 세상을 떠나게 됩니다. 그 이론을 정리해서 발표한 사람은 그의 제자중 하나인 아서 벅스였습니다. 그는 미시간 대학에 교수로서 교편을 잡게 되는데. 그가 키워낸 제자중 하나가 바로 미국 최초의 컴퓨터 사이언스 박사학위를 취득하게 되는 존 홀랜드란 인물입니다.
<존 홀랜드>
존 홀랜드는 족보상으로는 자신의 할아버지뻘이 되는 폰 노이만의 오토마톤 이론에 몹시 흥미를 가지게 됩니다. 사실 순서를 정확히 얘기하자면, 홀랜드가 아서 벅스의 제자가 되었기 때문에 폰 노이만의 오토마톤에 관심을 가지게 된게 아니고 그 전에 우연히 오토마톤 논문을
읽고 그 논문을 정리한 아서 벅스의 제자가 된게 인과관계가 정확합니다. 그 와중에 홀랜드는 또 다른 천재의 이론에 심취하게 되는데. 바로 로널드 피셔의 유전학이었습니다. 르네상스 이후 개인이 우주가 되었던 시절. 찰스 다윈이 진화론을 발표하여 인간의 존재론을 개인에서 종으로 확장시켰다면. 그것을 수학과 통계로 증명한 수학자가 바로 로널드 피셔입니다. 현대 통계학의 근간을 세웠다고 평가되는 천재중 하나입니다. 우연히 도서관에서 접한 피셔의 "The Genetical Theory of Natural Selection" 란 책을 접하고 홀랜드는 깊은 감명을 받게 됩니다.
이러한 폰 노이만의 오토마톤, 로널드 피셔의 유전학의 결합은 홀랜드를 통해 1960년대 유전자 알고리즘(Genetic Algorithm) 을 잉태하게 됩니다. 그러나 당시 그 이론의 혁신적 내용을 이해할 수 있는 사람은 매우 드물었습니다. 20년이 넘도록 유전자 알고리즘은 세상에 철저히 외면당했습니다. 그가 낸 책은 겨우 2500부가 팔렸으며 그에 관련된 논문은 20편 남짓에 불과했는데 그나마 대부분 그의 이론을 이해할 수 있었던 그의 몇몇 제자들이 쓴 것들이었습니다. 이 알고리즘이 알려지는데 그렇게도 오랜 시간이 걸린건 사실 알고리즘이 어려워서라기 보다는 존 홀랜드의 비적극적인 대외활동에 기인한 것이라고 보는게 옳습니다. 연구 Fund 를 받기 위해 정치적 싸움, 과장과 기만을 일삼던 당시 AI 분위기에 편승하지 않고 홀로 미시간 대학에서 제자들과 꾸준히 연구를 진행했던 것입니다.
여기서 진화 알고리즘에 대해 간단히 설명하자면. 이 알고리즘은 부모가 만나 새로운 자식을 낳은 일반적인 생태계를 모방한 탐색 알고리즘입니다. 해당 알고리즘을 사용하는 과정은 다음과 같습니다. 일단 해의 집단을 랜덤하게 채웁니다. 그리고 랜덤으로 채워진 해를 일일히 검증을 하여 점수를 매깁니다. 점수를 다 매기면 그 해들 중 높은 적합도를 받은 해 두개를 선택해 섞습니다. 예를 들어 1번 해가 129312 라는 숫자이고 2번 해가 639012 라는 해라고 가정합니다. 그리고 cutting point 를 3 정도로 잡으면 1번해는 앞의 129 가 남고 2번 해는 뒤의 012 가 남습니다. 이 두개를 합치면 129012 되겠죠.
<유전자 알고리즘 중 crossover 과정>
이런식으로 두개의 부모해를 합쳐 하나의 자식해를 만듭니다. 이걸 계속 반복해 부모를 소멸시켜 자식해를 생산하는데. 평가점수가 높은 해가 자식을 낳을 수 있는 권리가 많아집니다. 즉 점수가 높은 해는 높은 확률로 자식을 만드는데 사용되는 부모해가 되는 것이죠. 적자생존 법칙가 매우 흡사하죠. 주어진 환경에서 가장 강한 객체가 부모가 되서 자식을 많이 낳기 마련이고. 도태되는 객체는 자식을 낳을 기회를 박탈되어 사라져가는 것이 이 유전자 알고리즘과 매우 흡사합니다. 그렇지만 실제 생물들 중에 늘 강한자만 살아남아 근친교배만 하게 되면 자연의 섭리에 따라 치명적인 장애를 가진 자식을 낳을 확률이 높습니다. 이 때문에 실제 생태계에서는 최소한의 다양성을 강요하게 되는데. 이 부분 역시 유전자 알고리즘에서 채용하고 있는 부분입니다. 적합도 평가에서 높은 점수를 받은 부모해는 다음 자식을 낳을 확률이 높지만 100% 가 아니며 낮은 점수를 받은 부모해가 자식을 낳을 권리를 100% 박탈 당하는 것은 아닙니다. 만일 80점 정도의 점수를 받은 부모는 80% 의 확률로 자식을 낳을 수 있고 20점의 점수를 가진 부모는 20% 의 확률로 아이를 잉태할 수 있습니다. 즉 열등한 부모라도 행운만 있다면 본인의 유전자를 물려줄 자식을 가질 수 있다는 뜻입니다.
이걸 공학적으로 설명하자면, 해를 찾기 위한 탐색과정에 Local minima 에 빠지는 것을 막기 위한 방편입니다. 비슷한 해들이 좋은 점수를 냈다고 그 해들끼리만 계속 교배시켜 자식 해를 낳으면 필시 국소 최저점에 헤어나올 수 없습니다.
당장은 손해보는 것 같아도 어느정도의 일탈은 묵인하여 새로운 해를 찾아 나갈 수 있는 여지를 만드는 것이죠. 국소 최저점에 빠지는 것을 막기 위한 또 다른 방법을 유전자 알고리즘은 채택하고 있는데 그것은 바로 변이입니다. 한쌍의 부모가 만나 새로운 자식해를 만들때 일정한 확률로 그 유전자에 random 값을 넣도록 하는데. 이는 실제 생태계로 비교해보자면 돌연변이라고 볼 수 있지요. 실제 돌연변이는 그 형질이 유전되지 않긴 하지만요.
부모는 평가를 받아 자식을 낳고. 그 자식이 다시 부모가 되서 평가를 받아 자식을 낳는 것을 반복하면. 어느새 그 집단에 있는 해는 대부분 평가도에 있어 최고점을 받게 됩니다. 자연은 최적의 해를 찾은 것이죠. 이 유전자 알고리즘은 수식으로 탐색하기 어려운 문제. 탐색해야 하는 공간이 워낙 넓어 최고 좋은 해를 찾기가 쉽지 않은 경우 그에 버금가는 해정도만 찾아도 되는 경우에 많이 사용됩니다.