brunch

You can make anything
by writing

C.S.Lewis

by 히말 May 06. 2021

페드로 도밍고스의 머신러닝 쇼케이스 (4) 진화주의자

[책을 읽고] 페드로 도밍고스의 <마스터 알고리즘> (4)

우리는 진화의 목적이 무엇이고 어디를 향해 가는지 모른다. 호모 사피엔스가 생명체의 최종진화형인가 하는 대답에 대해 대개의 진화과학자는 그렇지 않다고 대답한다. (눈의 맹점, 기도와 식도의 구조 등) 인간의 구조에서 발견되는 수많은 결함, 그리고 환경이라는 변수 때문이다. 생명체의 진화와 관련한 철학적 질문은 접어두고, 진화주의자들은 머신러닝의 성공에 관해 확고한 기준을 가지고 있다. 그것은 적합성 함수(fitness function)다. 목표 달성 정도를 점수화한 것이다. 60%의 사례에서 암 진단을 정확하게 하는 것은 55%의 경우보다 분명 나은 것이다. 진화주의자들은 학습모형을 진화시켜 더 높은 적합성 점수를 얻어내는 것을 목표로 한다.



조건 하나를 하나의 유전자(비트)가 부호화하고 있다고 생각하자. 비트 열을 반복 교차시켜 돌연변이를 만들면서 더 좋은 규칙 세트로 진화시키는 것이 가능하다.


예를 들어 "전자 우편에 '무료'라는 말이 있으면 이것은 스팸메일이다."라는 규칙과 "전자 우편에 '쉽다'라는 말이 있으면 스팸메일이다."라는 규칙이 있다고 하자. 이런 단어들을 나타내는 두 비트 중 어느 하나라도 교차점이 두 비트 사이에 오지 않고 교차가 이루어지면 "전자 우편에 '무료'와 '쉽다'라는 말이 있으면 스팸메일이다."라는 더 잘 맞는 규칙을 얻을 것이다. 이 교차로 만든 다른 규칙은 두 조건이 모두 없으며 "모든 전자 우편은 스팸메일이다."가 되지만 이 규칙은 다음 세대에서 많은 자손이 생길 것 같지 않다. (211쪽)


즉 조건들의 다양한 조합이 만들어지는 과정에서, 더 높은 적합성 점수를 얻는 쪽이 살아남아 다음 번 조합의 기회를 얻게 되는 것이다. 자연계에서 진화가 일어나는 방식과 유사하다.


재미있는 것은, (순전히 프로그래밍에 관한) 유전 알고리즘의 연구 결과가 스티븐 제이 굴드의 단속평형설을 지지한다는 것이다. 단속평형설은 진화가 점진적이지 않고 폭발적이라 주장한다. 캄브리아기 대폭발과 같은 폭발적 진화의 시기와 그 앞뒤의 오랜 정체기가 교대로 나타난다는 가설이다.


지난 시간에 이야기한 국소최적화의 문제를 기억하는가? 단순히 높은 자리로 이동한다는 규칙을 따를 경우, 당신은 세계최고 봉우리에 오르는 대신 동네 뒷산에서 멈추고 말 것이다. 생명체가 유전자에 각인된 규칙을 따라 진화의 봉우리를 오른다고 생각하면, 그것은 곧 국소 봉우리에 올라 멈추고 말 것이다. 이 상태가 진화의 정체기다. 그런데 지진(돌연변이)이라도 일어나서 그 위치에서 이탈해버리고 나면, 생명체는 다시 진화의 봉우리를 올라야 한다. 이때 운이 좋은 생명체는 더 높은 봉우리에 다다르는 산기슭으로 이동했을 수 있다. 이때 폭발적인 진화가 벌어지는 것이다.


역전파는 초기값에서 최종값으로 이어지는 경로가 점진적이다. 진화 알고리즘 역시 어떤 부분에서는 점진적 경로를 따르지만 대개의 경우에는 드라마틱한 변화를 수반하는 선택이 가득하다. 비트열이 수많은 조건들을 담고 있기 때문에 정말 엄청나게 많은 조합이 가능하며, 그것들 중 상당수는 얼토당토 않는 (위의 사례에서 보자면 '무료'라는 단어도 없고 '쉽다'라는 단어도 없어야 스팸메일로 분류하는) 결과를 가져오지만 그중 일부는 생각지도 못했던 새로운 혁신을 가져오기도 한다. 바로 돌연변이 현상이다. 이로 인해 진화 알고리즘은 국소최적화에 머무르는 경우가 훨씬 덜하다.


그러나 진화 알고리즘에게도 국소최적화의 문제는 심각한 걸림돌이다. 히말라야 산맥에서 가장 높은 봉우리를 찾아 나선다고 생각하자. 당신은 K2 꼭대기에 올라 감개무량한 성취감에 가득 찰 것이다. 그러나 K2는 충분히 높은 봉우리일 뿐, 최고의 봉우리는 아니다. 최고의 봉우리에 오르려면 당신은 그 험한 길을 다시 내려가서 다시 시작해야 한다. 국소 최적값에 만족할 것인가, 아니면 진정한 최적값을 찾아 다시 험지로 나설 것인가?


효과가 있는 것을 발견하면 그것만 계속 사용해야 할까? 아니면 시간 낭비가 될 수 있지만 더 나은 해법을 얻을 수도 있다는 것을 알고 새로운 시도를 해야 할까? 목동이 될까 아니면 농부가 될까? (217쪽)


교차를 이용하는 진화 알고리즘의 큰 문제점은 알고리즘이 비대해지는 것이다. 적자(fittest)가 아니라 뚱보(fattest)가 살아남고 만다. 마이크로소프트의 윈도가 4500만 줄의 코드로도 모자라 계속 늘어나는 것이 한 예다. (내 생각에 윈도의 문제점은 집단사고, 즉 똑똑한 인간들이 모여 멍청한 사고를 하는 것에 있다고 생각하지만.)


적합성 점수를 매길 때 복잡한 알고리즘에 벌점을 주는 방식을 생각해 볼 수 있다. 그러나 이것은 빈대 잡으려고 초가삼간을 태우는 우를 범할 수 있다. 주객이 전도되는 것이다. 따라서 이것은 뚱보생존(survival of the fattest) 문제의 진정한 해결책이 아니다.


진화 알고리즘에 교차, 즉 성(sex)의 역할이 필요한지도 논란이 된다. 교차 없이도 돌연변이로 충분한 조합을 만들 수 있기 때문이다. 또한 교차 전략은 잠재력이 더 좋은 구성요소가 전반적으로 적응력이 덜한 개체와 함께 사멸해 버리는 결과를 낳을 수 있다.


어떤 규칙 조합이 매우 성공적으로 안착했을 때 더 좋은 조합이 나타나기 어렵다는 점도 문제다. 매우 성공적으로 안착했다는 말은 해당 규칙 조합이 수많은 번식 기회를 얻었음을 뜻하고, 수많은 자손을 만든다는 이야기다. 어딘가에 더 훌륭한 씨앗이 있다 해도, 그것은 기회를 얻지 못하고 사라져갈 수 있다. 또한 교차를 통해 얻어내는 새로운 결과가 그 비용을 정당화하는가 하는 문제도 있다.


그럼에도 불구하고 진화주의자의 머신러닝은 마스터 알고리즘의 완성에 분명한 도움을 줄 수 있을 것이다.


진화는 훌륭한 구조를 찾고, 신경망 학습은 구조를 학습시킨다. 이 조합은 우리가 마스터 알고리즘을 찾을 때 따라야 하는 가장 쉬운 과정이다. (232쪽)


라마르크의 용불용설은 후성유전학과 함께 화려하게 부활했다. 본성 대 교육(nature vs nurture)이라는 이원론이 하나로 통합되는 지금, 머신러닝이라고 다를 이유가 없어 보인다.



진화주의자 존 코자(John Koza)





매거진의 이전글 사영 기하학, 그리고 전장의 시인
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari