Yolo 비전 선전
선전
지금 참여하기
용어집

진화 알고리즘

진화 알고리즘이 자연에서 영감을 받은 전략을 사용하여 하이퍼파라미터 튜닝에서 로봇 공학에 이르기까지 AI 및 ML 솔루션을 어떻게 최적화하는지 알아보세요.

진화 알고리즘(EA)은 강력한 종류의 인공 지능(AI) 검색 기법의 한 종류로, 자연 선택과 유전학의 생물학적 원리에서 영감을 받았습니다. 파생 계산에 의존하는 기존의 수학적 방법과 달리, 이러한 알고리즘은 복잡한 최적화 문제를 해결하기 위해 진화의 과정을 시뮬레이션하여 최적화 문제를 해결합니다. 경쟁하는 잠재적 솔루션의 경쟁하고, 번식하고, 돌연변이를 일으키는 잠재적 솔루션의 집단을 유지함으로써, EA는 '최선의 답'을 알 수 없는 방대하고 거친 검색 공간에서 '최선의' 답을 알 수 없거나 분석적으로 도출할 수 없는 방대하고 거친 검색 공간을 탐색할 수 있습니다. 따라서 특히 머신 러닝(ML) 에서의 가치 자동화 모델 설계부터 복잡한 스케줄링에 이르기까지 다양한 작업에서 특히 유용합니다.

진화의 핵심 메커니즘

진화 알고리즘의 기능은 다음과 같은 개념을 반영합니다. 적자생존의 개념을 반영합니다. 프로세스 는 생물학적 연산자 주기를 통해 후보 솔루션 세트를 반복적으로 개선합니다:

  1. 초기화: 시스템이 문제에 대한 잠재적인 해결책의 무작위 모집단을 생성합니다.
  2. 체력 평가: 각 후보자는 정의된 피트니스 함수에 대해 테스트합니다. 컴퓨터 비전 컴퓨터 비전(CV)에서 이 함수는 종종 모델의 정확도 또는 평균 평균 정밀도 mAP를 측정합니다.
  3. 선택: 체력 점수가 높은 후보자가 다음 세대의 부모로 선발됩니다. 부모로 선정됩니다.
  4. 복제 및 변형: 새로운 솔루션은 다음을 사용하여 만들어집니다. 크로스오버 (두 부모의 특성을 결합하는 부모)와 돌연변이 (무작위 변경). 돌연변이는 유전적 다양성을 도입하여 알고리즘이 글로벌 최적을 찾는 대신에 글로벌 최적을 찾는 대신 로컬 최적에 갇히는 것을 방지합니다.

AI의 실제 적용 사례

진화 알고리즘은 시스템 성능을 향상시키기 위해 영향력이 큰 다양한 영역에서 사용되는 다용도 도구입니다:

  • 하이퍼파라미터 튜닝: 하나 가장 일반적인 애플리케이션 중 하나는 딥 러닝(DL)의 가장 일반적인 애플리케이션 중 하나는 학습 최적화입니다. 구성을 최적화하는 것입니다. 학습 속도, 모멘텀 또는 가중치 감쇠에 대한 값을 수동으로 추측하는 대신 학습 속도, 모멘텀 또는 가중치 감쇠에 대한 값을 수동으로 추측하는 대신 EA는 모델 성능을 극대화하는 일련의 하이퍼파라미터를 진화시킬 수 있습니다. 하이퍼파라미터 Ultralytics YOLO11 트레이닝 파이프라인에는 이 프로세스를 자동화하는 유전적 알고리즘 기반 튜너가 포함되어 이 프로세스를 자동화합니다.
  • 신경망 아키텍처 검색(NAS): EA는 신경망의 설계를 자동화합니다. 신경망 설계를 자동화합니다. 네트워크 구조(레이어, 연결)를 유전자 코드로 취급함으로써 구조(레이어, 연결)를 유전 암호로 취급함으로써 알고리즘은 컴퓨팅 리소스가 많은 엣지 AI 디바이스에 적합한 고효율 아키텍처를 컴퓨팅 리소스가 제한된 에지 AI 디바이스에 적합한 고효율 아키텍처를 발전시킬 수 있습니다.
  • 로봇 공학 및 제어: In 로봇 공학에서 AI는 제어 정책을 발전시키고 제어 정책을 발전시킵니다. 이를 통해 자율 로봇은 시뮬레이션을 통해 동적 환경을 탐색하는 방법을 학습할 수 있습니다. 동적 환경을 탐색하는 방법을 학습할 수 있습니다.
  • 환경 최적화: 다음과 같은 분야에서 농업 분야의 AI, EA는 관개 일정과 작물 배치와 같은 자원 관개 일정이나 작물 배치와 같은 자원 배분을 최적화하여 낭비를 최소화하면서 수확량을 극대화할 수 있습니다.

Python 최적화 자동화하기

실무자는 진화 알고리즘을 직접 활용할 수 있습니다. ultralytics 패키지를 통해 최적의 교육 구성을 물체 감지 모델. 그 tune 메서드는 유전 알고리즘을 사용하여 여러 세대에 걸쳐 하이퍼파라미터를 변경합니다.

from ultralytics import YOLO

# Load a standard YOLO11 model
model = YOLO("yolo11n.pt")

# Run hyperparameter tuning using a genetic algorithm approach
# The tuner evolves parameters like lr0, momentum, and weight_decay
# 'iterations' defines how many evolutionary generations to run
model.tune(data="coco8.yaml", epochs=10, iterations=30, optimizer="AdamW", plots=False)

관련 개념 구분하기

이러한 기법을 효과적으로 적용하려면 진화 알고리즘을 다른 최적화와 구별하는 것이 도움이 됩니다. 및 학습 전략과 구별하는 것이 도움이 됩니다:

  • Vs. 확률적 경사 하강(SGD): 다음과 같은 표준 훈련 방법 스토캐스틱 그라디언트 하강(SGD) 와 같은 표준 훈련 방법은 가중치를 업데이트하기 위해 손실 함수를 계산하여 가중치를 업데이트합니다. EA는 기울기가 없으므로 기울기를 사용할 수 없는 비분산형 또는 불연속형 문제를 최적화할 수 있습니다. 를 사용할 수 없는 비분산형 또는 불연속형 문제를 최적화할 수 있습니다.
  • 대 군집 지능: 둘 다 생물에서 영감을 받았습니다, 군집 지능 (예: 앤트 콜로니 최적화)는 단일 수명 내에서 상호 작용하는 분산된 에이전트의 집단 행동에 중점을 둡니다. 반면 반면, EA는 솔루션의 세대 교체에 의존하며, 여기서 약한 후보들은 더 강한 부모의 자손을 위해 폐기됩니다.
  • 대 강화 학습: 강화 학습(RL)은 에이전트가 환경과의 시행착오를 통해 에이전트가 환경과의 시행착오 상호작용을 통해 학습하여 보상 신호를 극대화하는 것입니다. EA는 정책을 최적화할 수도 있지만, 학습을 통해 정책을 최적화하는 것이 아니라 지속적인 에이전트-환경 상호 작용 주기를 통해 학습하는 대신 정책 매개변수 모음을 진화시킴으로써 정책을 최적화할 수 있습니다.

모델 성능 향상에 대한 자세한 내용은 다음 가이드를 참조하세요. 모델 트레이닝 팁 및 가이드를 살펴보세요.

Ultralytics 커뮤니티 가입

AI의 미래에 동참하세요. 글로벌 혁신가들과 연결하고, 협력하고, 성장하세요.

지금 참여하기