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

진화 알고리즘

진화 알고리즘이 자연 선택을 활용하여 AI 문제를 해결하는 방식을 탐구하세요. Ultralytics 하이퍼파라미터를 최적화하고 모델 성능을 향상시키는 방법을 배우세요.

진화 알고리즘(EAs)은 복잡한 계산 문제를 해결하기 위해 자연 선택과 유전학의 생물학적 원리를 모방한 강력한 최적화 알고리즘 계열입니다. 확률적 경사 하강법(SGD)과 같이 미적분 기반 미분에 의존하는 전통적인 수학적 기법과 달리, EAs는 방대하고 불규칙하거나 제대로 이해되지 않은 탐색 공간을 탐색하도록 설계되었습니다. 이들은 잠재적 해법들로 구성된 개체군을 유지하며, 시간에 따라 경쟁하고, 복제하며, 변이하는 방식으로 작동합니다. 이러한 접근 방식은 "최적" 해법을 분석적으로 결정하기 어려운 인공지능(AI) 분야의 작업에 특히 효과적이며, 시스템이 반복적으로 진화하여 최적의 결과로 수렴할 수 있게 합니다.

생물학적 영감과 핵심 메커니즘

진화 알고리즘의 기능은 적자생존의 개념에 기반을 두고 있습니다. 이 과정은 자연 유전 진화를 모방하도록 설계된 연산자 사이클을 거쳐 후보 해법을 점진적으로 정제합니다:

  1. 초기화: 시스템은 무작위 후보들의 초기 집합을 생성합니다. 기계 학습(ML)의 맥락에서, 이러한 후보들은 서로 다른 모델 매개변수 집합을 나타낼 수 있습니다.
  2. 적합도 평가: 각 후보는 적합도 함수라고 알려진 특정 목표에 대해 테스트됩니다. 컴퓨터 비전(CV) 모델의 경우, 이 함수는 일반적으로 정확도나 평균 정밀도(mAP)와 같은 지표를 평가합니다.
  3. 선택: 더 높은 적합도 점수를 가진 개체들이 확률적으로 부모 개체로 선택되어, 성공적인 형질이 다음 세대에 보존되도록 보장한다.
  4. 재생산과 변이: 새로운 해법은 교차 (두 부모의 형질을 재조합)와 돌연변이(무작위적 변화 도입)를 통해 생성됩니다. 이러한 유전적 다양성의 도입은 알고리즘이 국소 최적점에 정체되는 것을 방지하고, 전역 최대값을 위한 탐색 공간을 탐색하도록 돕는 핵심적 역할을 합니다.

AI의 실제 적용 사례

진화 알고리즘은 다용도로 활용 가능하며 딥 러닝(DL) 및 공학 분야의 다양한 영역에 성공적으로 적용되어 왔다.

자동화된 하이퍼파라미터 튜닝

진화 알고리즘의 가장 실용적인 응용 분야 중 하나는 하이퍼파라미터 튜닝현대 신경망은 학습률, 가중치 감쇠, 모멘텀 등 성능에 중대한 영향을 미치는 수십 가지 매개변수를 구성해야 합니다. 진화 알고리즘(EA)은 구성 설정을 진화시켜 이 지루한 시행착오 과정을 자동화할 수 있습니다. 예를 들어, tune() Ultralytics 리의 method는 유전 알고리즘을 사용하여 최적의 훈련 하이퍼파라미터를 발견합니다. YOLO26 사용자 지정 데이터셋에 대한 모델.

신경망 아키텍처 검색(NAS)

진화 알고리즘(EA)은 신경망 구조 탐색(NAS)의 핵심 요소입니다. 인간 엔지니어가 신경망(NN) 구조를 수동으로 설계하는 대신, 진화 알고리즘이 아키텍처를 "성장"시킬 수 있습니다. 이 알고리즘은 레이어, 뉴런, 연결의 다양한 조합을 테스트하여 속도와 정확도의 균형을 맞춘 효율적인 구조를 진화시킵니다. 이 기술은 특정 하드웨어 제약 조건에 최적화된 EfficientNet과 같은 고효율 백본의 개발로 이어졌습니다.

진화 알고리즘 대 군집 지능

두 가지 모두 자연에서 영감을 받은 최적화 전략이지만, 진화 알고리즘(EA)과 군집 지능(SI)을 구분하는 것이 유용합니다.

  • 진화 알고리즘: 세대 교체를 기반으로 합니다. 개체(해법)는 생존하고, 적합도에 따라 번식하며, 죽어 자손에게 대체됩니다. 주요 동인으로는 돌연변이와 교차와 같은 유전 연산자가 있습니다.
  • 집단 지성: 새 떼나 물고기 떼와 같은 집단 내 사회적 상호작용을 모방한다. 입자 군집 최적화(PSO) 와 같은 알고리즘은 세대 교체가 없이, 탐색 공간을 이동하며 자신의 경험과 이웃 개체의 성공에 기반해 위치를 조정하는 개체 집단을 포함한다.

Ultralytics 활용한 최적화 구현

실무자들은 객체 탐지 모델을 최적화하기 위해 유전자 알고리즘을 직접 활용할 수 있습니다. Ultralytics tune 이 메서드는 진화 과정을 실행하여 여러 세대에 걸쳐 하이퍼파라미터를 변이시키고, 검증 데이터에서 최고 성능을 내는 설정을 자동으로 식별합니다.

from ultralytics import YOLO

# Load the standard YOLO26 model
model = YOLO("yolo26n.pt")

# Run hyperparameter tuning using a genetic algorithm approach
# The tuner evolves parameters (lr, momentum, etc.) over 30 generations
model.tune(data="coco8.yaml", epochs=10, iterations=30, plots=False)

이 자동화된 정교화 기능은 개발자가 수동 추측을 넘어설 수 있게 합니다. 운영 규모를 확장하는 팀의 경우, Ultralytics 활용하면 이러한 실험 관리와 모델 성능 진화 추적이 간소화됩니다. 해당 플랫폼은 훈련 지표를 시각화하고 모델 배포를 용이하게 합니다.

Ultralytics 커뮤니티 가입

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

지금 참여하기