본문 바로가기
  • AI와 함께 세상을 아름답게
인공지능(AI)이란? - 기초 개념 및 이론

진화연산(Evolutionary Computation) (1)

by neo-Lee 2023. 5. 26.

1. 생물진화와 진화연산(Evolutionary Computation)

    진화연산(Evolutionary Computation)은 생물의 진화 과정을 시뮬레이션하여 최적화나 지식획득을 하는 계산 알고리즘입니다. 생물진화란 생물집단이 세대교체를 거치면서 환경에 더욱 잘 적용한 형질을 획득하는 과정입니다. 진화연산에서는 환경과의 상호작용이나 세대교체를 통해 유전적인 조작을 시뮬레이션해서 조합 최적화 문제를 풀고 최적화에 관한 지식을 얻습니다.

    생물의 진화진화의 원리에 따라 발생합니다. 전제적인 요건으로 생물은 부모로부터 자식에게 유전자를 전달하는데, 이때 유전정보를 구성하는 것이 유전자(gene)입니다. 또한 유전정보는 염색체(chromosome)이라는 물질에 기록됩니다. 염색체에는 다양한 유전정보가 기록되어 있고 결과적으로 염색체에는 다수의 유전자가 포합 됩니다. 

    유전정보를 기록한 염색체는 부모에서 자식으로 전달됩니다. 기본적으로 자시들이 물려받는 유전정보는 부모 유전정보의 복제입니다. 그러나 복제를 작성할 때 1) 부모의 유전자가 섞이거나 (교차; crossing) 또는  2) 유전정보의 일부가 방사선이나 화학물질의 영향으로 변형(돌연변이; mutation) 되어 작성됩니다. 

    교차돌연변이의 결과로 자식이 가진 염색체의 유전정보는 부모의 유전정보와 미묘한 차이가 발생합니다. 염색체의 유전자가 변하면 생물의 성질도 변합니다. 이때 생물이 사는 환경에 더욱 잘 적응하는 생물을 획득한 개체는 다른 개체보다 생존에 유리하여 자손을 만들 가능성도 커집니다. 환경과의 상호작용에서 생존에 유리한 개체가 뽑히는 것을 선택(Selection)이라고 합니다. 선택에 의해 뽑힌 자손에게는 생존에 유리한 유전정보가 전달되기 때문에 얼마 지나지 않아 생물집단 내에 이 유전정보가 늘어나면서 생물이 새로운 성질로 정착합니다. 이런 현상을 진화(evolution)라고 합니다.

(그림) 유전 알고리즘(Genetic Algorithm) 기본 흐름도 (*출처: 정보통신용어사전)

 

    진화연산에서는 생물의 진화 원리를 이용하여 최적화를 수행합니다. 이때 염색체에는 최적화할 대상인 문제의 해를 표현한 정보를 입력합니다. 염색체에 입력된 문제의 해를 표현하는 유전정보를 유전자형(genotype)이라고  합니다. 또한 유전정보를 해독해서 본래의 해 형식으로 작성한 정보를 표현형(phenotype)이라고 합니다.       

    표현형의 해 정보는 수치이거나 방정식의 계수 또는 어떤 장치를 조립할 때 사용되는 부품의 종류나 위치와 같은 설계상의 지정 방법 등 상당히 다양합니다. 따라서 이러한 것들을 유전자형으로 어떻게 표현할지는 진화연산에서 중요한 문제 중 하나입니다.

    유전자형으로 표현된 해 정보는 표현형으로 변환해서 원래 풀어야 할 문제의 해 정보로 평가할 수 있습니다. 그래서 부모의 염색체에 유전자형으로 표현된 해 정보에 유전적인 조작을 가하여 새로운 염색체를 만들어냅니다. 자손 염색체의 정보를 표현형으로 해석해서 평가하면 더욱 좋은 해 정보를 가진 자손 염색체를 선택할 수 있습니다. 이때 환경에 적응한 정도를 수치로 나타내는데, 이것을 적응도 또는평갓값이라고 합니다. 선택 시에는 적응도를 단서로 염색체를 선택합니다. 

    이처럼 조작을 반복하면서 염색체 집단 전체에서 환경에 더욱 잘 적응하는 적응도가 높은 유전정보가 늘어납니다. 이것은 집단 내에서 더욱 좋은 환경과 상호작용할 수 있는 유전정보를 가진 생물 개체가 늘어나는 현상과 대응하는 것입니다. 즉, 진화시뮬레이션하는 것입니다.

 

    보다 구체적인 방법들은 유전 알고리즘(GA; Genetic Algorithm)과 유전 프로그래밍(GP; Genetic Programming) 편에서 보다 깊이 공부해 보겠습니다.

 

    (다음 편에 '유전자 알고리즘과 유전 프로그래밍'이 이어집니다.)

 

2023.05.25 - [인공지능(AI; Artificial Intelligence)] - 인공지능(AI): 딥러닝(Deep Learning) (3) - 생성적 대립 신경망(GAN; Generative Adversarial Network)

 

728x90

댓글