Evolutionary Algorithms
Evrimsel algoritmaların yapay zeka problemlerini çözmek için doğal seçilimi nasıl kullandığını keşfet. Ultralytics YOLO26 hiperparametrelerini optimize etmeyi ve model performansını artırmayı öğren.
Evrimsel Algoritmalar (EA'lar), karmaşık hesaplama problemlerini çözmek için doğal seçilimin ve genetiğin biyolojik prensiplerini taklit eden güçlü bir optimizasyon algoritmaları ailesidir. stokastik gradyan inişi (SGD) gibi türev temelli hesaplamalara güvenen geleneksel matematiksel tekniklerin aksine EA'lar; geniş, engebeli veya az anlaşılan arama uzaylarında gezinmek için tasarlanmıştır. Zaman içinde rekabet eden, üreyen ve mutasyona uğrayan potansiyel çözümlerden oluşan bir popülasyonu koruyarak çalışırlar. Bu yaklaşım, onları yapay zeka (AI) alanında "en iyi" çözümün analitik olarak belirlenmesinin zor olduğu görevlerde özellikle etkili kılar ve sistemlerin optimal bir sonuca doğru yinelemeli olarak evrimleşmesine olanak tanır.
Biyolojik İlham ve Temel Mekanizmalar#
Bir Evrimsel Algoritma'nın işlevselliği, güçlü olanın hayatta kalması kavramına dayanır. Süreç, doğal genetik evrimi taklit etmek için tasarlanmış bir operatör döngüsünden geçerek aday çözümleri kademeli olarak iyileştirir:
-
Başlatma: Sistem, rastgele adaylardan oluşan başlangıç popülasyonunu üretir. makine öğrenimi (ML) bağlamında bu adaylar, farklı model parametre setlerini temsil edebilir.
-
Uygunluk Değerlendirmesi: Her aday, uygunluk fonksiyonu olarak bilinen belirli bir hedefe karşı test edilir. Bir bilgisayarla görü (CV) modeli için bu fonksiyon genellikle doğruluk veya Ortalama Ortalama Kesinlik (mAP) gibi metrikleri değerlendirir.
-
Seçilim: Daha yüksek uygunluk puanına sahip adaylar, başarılı özelliklerin bir sonraki nesle aktarılmasını sağlamak için ebeveyn olarak hareket etmek üzere olasılıksal olarak seçilir.
-
Üreme ve Çeşitlilik: Yeni çözümler çaprazlama (iki ebeveynden özellikleri yeniden birleştirme) ve mutasyon (rastgele değişiklikler getirme) yoluyla oluşturulur. Genetik çeşitliliğin bu şekilde sunulması çok önemlidir; çünkü algoritmanın yerel bir optimumda durgunlaşmasını önler ve küresel maksimum için arama uzayını keşfetmesine yardımcı olur.
Yapay Zekada Gerçek Dünya Uygulamaları#
Evrimsel Algoritmalar çok yönlüdür ve derin öğrenme (DL) ile mühendislik içindeki çeşitli alanlara başarıyla uygulanmıştır.
Otomatik Hiperparametre Ayarlama#
EA'ların en pratik uygulamalarından biri hiperparametre ayarlama'dır. Modern sinir ağları; öğrenme oranı, ağırlık sönümlemesi ve momentum gibi performansı önemli ölçüde etkileyen düzinelerce parametrenin yapılandırılmasını gerektirir. EA'lar, konfigürasyon ayarlarını evrimleştirerek bu sıkıcı deneme-yanılma sürecini otomatikleştirebilir. Örneğin, Ultralytics kütüphanesindeki tune() yöntemi, özel veri setleri üzerinde YOLO26 modelleri için en iyi eğitim hiperparametrelerini keşfetmek üzere bir genetik algoritma kullanır.
Sinir Mimarisi Arayışı (NAS)#
EA'lar, Sinir Mimarisi Arama (NAS)'ın temel taşıdır. İnsan mühendislerin bir sinir ağının (NN) yapısını manuel olarak tasarlaması yerine bir evrimsel algoritma mimariyi "büyütebilir". Hız ve doğruluğu dengeleyen verimli yapıları evrimleştirerek farklı katman, nöron ve bağlantı kombinasyonlarını test eder. Bu teknik, belirli donanım kısıtlamaları için optimize edilmiş EfficientNet gibi son derece verimli ana omurgaların (backbone) oluşturulmasına yol açmıştır.
Evrimsel Algoritmalar ve Sürü Zekası Karşılaştırması#
Her ikisi de doğadan ilham alan optimizasyon stratejileri olsa da, EA'ları Sürü Zekası (SI)'ndan ayırt etmek faydalıdır.
- Evrimsel Algoritmalar: Nesilsel değişime dayanır. Bireyler (çözümler) yaşar, uygunluklarına göre ürer ve ölürler, yerlerini yavrularına bırakırlar. Birincil itici güçler mutasyon ve çaprazlama gibi genetik operatörlerdir.
- Sürü Zekası: Bir kuş sürüsü veya balık sürüsü gibi bir grup içindeki sosyal etkileşimi taklit eder. Parçacık Sürü Optimizasyonu (PSO) gibi algoritmalar, arama uzayında hareket eden ve kuşak değiştirmeden kendi deneyimlerine ve komşularının başarısına dayanarak pozisyonlarını ayarlayan bir ajan popülasyonunu içerir.
Ultralytics ile Optimizasyon Uygulama#
Uygulayıcılar, nesne tespiti modellerini optimize etmek için genetik algoritmalardan doğrudan yararlanabilir. Ultralytics tune yöntemi, doğrulama verilerinizde en yüksek performansı veren ayarları otomatik olarak belirleyerek hiperparametreleri birkaç kuşak boyunca mutasyona uğratmak için evrimsel bir süreç çalıştırır.
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)Bu otomatik iyileştirme, geliştiricilerin manuel tahminlerin ötesine geçmesini sağlar. Operasyonlarını ölçeklendiren ekipler için bu deneyleri yönetmek ve model performansının evrimini izlemek, eğitim metriklerini görselleştiren ve model dağıtımı'nı kolaylaştıran Ultralytics Platform kullanılarak kolaylaştırılabilir.






