유전 알고리즘은 자연 선택의 원리에서 영감을 얻은 탐색 및 최적화 기법으로, 후보 해들의 집단이 돌연변이, 교차(재조합), 선택이라는 생물학적 연산에 상응하는 과정을 통해 반복적으로 진화하며, 여러 세대에 걸쳐 정의된 목표를 향해 적합도를 개선해 나간다. 유전 알고리즘은 인공지능과 머신러닝 분야의 진화 연산 방법론이라는 더 넓은 계열에 속한다.
메커니즘
유전 알고리즘은 무작위로 생성된 후보 해들의 집단에서 시작하며, 각 후보 해는 일반적으로 염색체에 비유되는 문자열이나 벡터로 인코딩된다. 각 후보는 목표 문제를 얼마나 잘 해결하는지 점수를 매기는 적합도 함수를 사용하여 평가된다. 점수가 높은 후보는 "부모"로 선택될 가능성이 더 높으며, 부모의 인코딩은 교차를 통해 결합되어 자손을 생성하고, 무작위 돌연변이가 때때로 도입되어 다양성을 유지하고 차선의 해로의 조기 수렴을 방지한다. 평가, 선택, 재조합의 이 주기는 여러 세대에 걸쳐 반복되며, 집단 전체의 평균 적합도는 시간이 지남에 따라 개선되는 경향이 있지만, 전역 최적해를 찾는 것이 보장되지는 않는다.
역사
이 분야의 수학적 기초는 존 홀랜드에 의해 공식화되었으며, 그의 1975년 저서 "적응의 자연 및 인공 시스템"은 유전 알고리즘을 적응 탐색을 위한 일반적인 프레임워크로 소개했고, 이는 1950년대와 1960년대의 초기 진화 컴퓨팅 실험을 기반으로 한 것이었다. 홀랜드의 학생과 협력자들, 특히 데이비드 골드버그는 프레임워크의 이론적 토대를 확장하고 1980년대와 1990년대를 통해 실용적인 응용을 대중화했다.
응용 분야
유전 알고리즘은 일정 및 경로 문제, 공학 설계 최적화(NASA 등이 수행한 안테나 및 공기역학 형상 최적화 포함), 유전 프로그래밍이라는 관련 분야에서의 자동 프로그램 합성, 그리고 머신러닝 시스템의 하이퍼파라미터 탐색에 적용되어 왔다. 이는 특히 크고 복잡하며 미분 불가능한 탐색 공간을 가진 문제에서 선호되는데, 유전 알고리즘은 후보의 적합도를 평가하는 능력만 필요로 하며 목적 함수의 도함수를 계산할 필요가 없기 때문에, 경사 기반 방법을 사용할 수 없거나 비효율적인 경우에 유용하다.
신경 진화
주목할 만한 응용 분야인 신경 진화는 진화적 방법을 사용하여 신경망 아키텍처와 가중치를 설계하거나 훈련하며, 때로는 강화학습과 결합하여 제어 및 게임 플레이 작업에 사용된다. 신경 진화는 보상 신호가 희소하거나 네트워크 토폴로지 자체가 가중치뿐만 아니라 설계 변수인 로봇공학 및 구현형 AI 연구에서 역전파 훈련 네트워크의 대안 또는 보완책으로 탐구되어 왔다.
한계와 현대적 의의
유전 알고리즘은 경사 하강법 기반 최적화(예: 역전파)에 비해 현대 심층 신경망의 매우 고차원적인 매개변수 공간에서 확장성이 떨어지며, 2010년대 초반 이후 역전파로 훈련된 딥러닝 아키텍처가 주류를 이루면서 주류 연구에서 크게 물러났다. 그러나 표준 지도 학습 외부의 최적화 영역, 신경 진화의 틈새 분야, 그리고 단일 고정 목표를 최적화하는 대신 다양하고 새로운 해를 생성하는 개방형 및 진화적 접근 방식에 대한 연구의 개념적 참조점으로서 여전히 활발히 사용되고 있다.