용어집

진화 알고리즘

진화 알고리즘이 자연에서 영감을 얻은 전략을 사용하여 하이퍼파라미터 튜닝부터 로보틱스에 이르기까지 AI 및 ML 솔루션을 최적화하는 방법을 알아보세요.

YOLO 모델을 Ultralytics HUB로 간단히
훈련

자세히 알아보기

진화 알고리즘(EA)은 자연 선택, 돌연변이, 번식 등 생물학적 진화의 원리에서 영감을 얻은 최적화 및 검색 기법의 한 종류입니다. 진화 알고리즘은 비선형, 비분화 또는 고차원 검색 공간과 같이 기존의 최적화 알고리즘이 어려움을 겪을 수 있는 복잡한 문제를 해결하는 데 특히 효과적입니다. EA는 정의된 적합성 기준에 따라 최적 또는 최적에 가까운 솔루션을 찾기 위해 잠재적 솔루션의 모집단을 유지하고 여러 세대에 걸쳐 이를 반복적으로 개선합니다. 이러한 접근 방식은 인공 지능(AI)머신 러닝(ML)을 비롯한 다양한 분야에서 유용한 도구로 활용되고 있습니다.

진화 알고리즘의 작동 방식

진화 알고리즘의 핵심 프로세스는 일반적으로 생물학적 진화를 모방한 다음 단계로 이루어집니다:

  1. 초기화: 후보 솔루션의 모집단(흔히 개인 또는 염색체라고도 함)이 검색 공간 전체에서 일반적으로 무작위로 생성됩니다.
  2. 적합성 평가: 모집단의 각 솔루션은 품질 또는 목표 문제를 얼마나 잘 해결하는지를 측정하는 적합성 함수(손실 함수와 유사) 를 사용하여 평가됩니다.
  3. 선택: 솔루션은 적합성 점수에 따라 선택됩니다. 더 적합한 솔루션이 선택될 확률이 높을수록 다음 세대에 그 특성이 전달되어 '적자생존' 원리를 시뮬레이션할 수 있습니다. 토너먼트 선택 또는 룰렛 휠 선택과 같은 다양한 선택 전략이 존재합니다.
  4. 생식(유전자 연산자):
    • 크로스오버(재조합): 선택된 부모 솔루션이 정보(구조의 일부)를 교환하여 잠재적으로 유익한 특성을 결합한 새로운 자손 솔루션을 만듭니다.
    • 돌연변이: 모집단 내에서 다양성을 유지하고 검색 공간의 새로운 영역을 탐색하기 위해 자손 솔루션에 작은 무작위 변경을 도입하여 차선책 솔루션으로의 조기 수렴을 방지합니다.
  5. 교체: 새로운 자손이 기존 인구의 일부 또는 전부를 대체하여 다음 세대를 형성합니다.
  6. 종료: 이 프로세스는 최대 세대 수에 도달하거나 만족스러운 솔루션을 찾거나 적합성이 크게 개선되지 않는 등 종료 조건이 충족될 때까지 적합성 평가 단계부터 반복됩니다.

AI 및 머신 러닝의 관련성

EA는 특히 그라데이션 정보를 사용할 수 없거나 신뢰할 수 없는 복잡한 공간에 대한 최적화와 관련된 작업을 위한 AI 및 ML의 강력한 도구입니다. 주요 애플리케이션은 다음과 같습니다:

  • 하이퍼파라미터 튜닝: EA는 머신 러닝 모델에 대한 최적의 하이퍼파라미터(예: 학습 속도, 배치 크기, 네트워크 아키텍처 파라미터)를 자동으로 찾아 정확도 또는 mAP와 같은 성능 메트릭을 개선할 수 있습니다. 하이퍼파라미터 튜닝 가이드에 자세히 설명된 대로 Ultralytics 이러한 목적으로 EA를 활용합니다.
  • 신경망 아키텍처 검색(NAS): EA는 가능한 신경망 아키텍처의 방대한 공간을 탐색하여 특정 작업에 맞는 고성능 모델을 자동으로 설계할 수 있으며, 종종 사람이 설계한 아키텍처보다 뛰어난 성능을 발휘합니다(연구 예시).
  • 특징 선택/엔지니어링: EA는 모델 학습을 위해 대규모 데이터 세트에서 가장 관련성이 높은 특징의 하위 집합을 식별하여 차원을 줄이고 잠재적으로 모델 일반화를 개선할 수 있습니다.
  • 강화 학습: EA는 특히 복잡한 환경에서 정책이나 상담원 행동을 직접 진화시키는 데 사용할 수 있습니다(예시 연구).

진화 알고리즘과 다른 최적화 방법 비교

EA는 최적화 알고리즘의 일종이지만, 그라데이션 하강 또는 확률적 그라데이션 하강(SGD)과 같은 그라데이션 기반 방법과는 큰 차이가 있습니다:

  • 경사 정보: EA는 경사 정보가 필요하지 않으므로 경사 하강이 실패하는 비차별적이거나 불연속적인 문제에 적합합니다.
  • 검색 전략: EA는 솔루션 모집단을 사용하여 전역 탐색을 수행하므로 손실 함수의 기울기를 기반으로 하는 경사 하강의 로컬 탐색에 비해 로컬 최적값에 갇힐 가능성이 적습니다. 그러나 이러한 글로벌 탐색은 종종 더 높은 계산 비용이 발생합니다.
  • 문제 유형: 그라데이션 하강은 일반적으로 부드럽고 미분 가능한 손실 함수를 사용하는 딥러닝 모델에서 파라미터를 최적화하는 데 선호되는 반면, EA는 조합 최적화, 복잡한 적합성 환경에서의 파라미터 최적화 및 다중 목표 최적화에서 탁월한 성능을 발휘합니다.

실제 애플리케이션

이론적 최적화를 넘어, EA는 실제 활용 분야도 다양합니다:

  1. ML 모델 최적화: 앞서 언급했듯이 다음과 같은 모델에 가장 적합한 하이퍼파라미터를 찾는 것이 중요합니다. Ultralytics YOLO 는 핵심 애플리케이션입니다. 그리고 Ultralytics Tuner 클래스 최적화를 위해 EA를 사용한 구현을 제공합니다. YOLO 모델 교육 [참고: 하이퍼파라미터 튜닝 용어집]. 다음과 같은 도구와의 통합 레이 튠 분산 튜닝 기능을 더욱 강화합니다.
  2. 로봇 공학 및 제어 시스템: EA는 특히 로봇 공학에서 로봇 걸음걸이, 자율 시스템의 컨트롤러 매개변수, 경로 계획 전략을 발전시키는 데 사용됩니다.
  3. 스케줄링 및 물류: 작업장 스케줄링, 시간표 작성 또는 배송 경로 최적화(차량 라우팅 문제 리소스)와 같은 복잡한 스케줄링 문제를 해결합니다.
  4. 디자인 최적화: 엔지니어링 및 디자인 분야에서 구조, 재료 또는 공기역학적 형태를 최적화하는 데 사용됩니다(예: 안테나 설계에 대한 NASA 연구).
  5. 신약 개발: EA는 방대한 화학 공간을 탐색하여 원하는 특성을 가진 잠재적 약물 후보를 식별하여 제약 연구를 지원할 수 있습니다.

장점과 단점

장점:

  • 글로벌 최적화에 효과적이며 로컬 최적화에 영향을 덜 받습니다.
  • 차별화할 수 없는 복잡한 문제를 포함하여 다양한 문제에 적용할 수 있습니다.
  • 적합성 평가는 종종 독립적으로 수행될 수 있으므로 본질적으로 병렬화가 가능합니다.
  • 시끄럽거나 불확실한 환경에서도 견고합니다.

단점:

  • 모집단 기반 검색 및 적합성 평가로 인해 계산 비용이 많이 들 수 있습니다.
  • 성능은 EA 매개변수(모집단 크기, 변이율 등)의 선택에 따라 민감하게 달라질 수 있습니다.
  • 글로벌 최적값으로의 수렴이 항상 보장되는 것은 아닙니다.
  • 특정 문제에 대해 상당한 조정이 필요할 수 있습니다.

진화 알고리즘은 AI 및 ML 환경에서 강력하고 다재다능한 도구 세트로, 연구 및 업계에서 직면하는 복잡한 최적화 문제를 해결하는 데 고유한 이점을 제공하며, Ultralytics HUB와 같은 플랫폼을 사용하여 최첨단 컴퓨터 비전 모델을 최적화하는 것도 포함됩니다.

모두 보기