Optimization Algorithm
SGD ve AdamW gibi optimizasyon algoritmalarının ML eğitimini nasıl yönlendirdiğini keşfet. AI uygulamaları için kayıpları en aza indirmeyi ve Ultralytics YOLO26 performansını artırmayı öğren.
Bir optimizasyon algoritması, machine learning (ML) ve deep learning (DL) modellerinin eğitim sürecini yönlendiren çekirdek hesaplama motoru olarak görev yapar. Birincil sorumluluğu, tahmin edilen sonuçlar ile gerçek hedefler arasındaki hatayı en aza indirmek için dahili model weights değerlerini ve sapmaları yinelemeli olarak ayarlamaktır. Bu süreci, vadideki en alçak noktaya ulaşmak için sisli bir dağdan aşağıya inmeye çalışan bir dağcı olarak gözünde canlandırabilirsin. Optimizasyon algoritması, loss function değerinin en aza indirildiği ve modelin tahmin accuracy değerinin maksimize edildiği duruma karşılık gelen tabana ulaşmak için dağcının atması gereken adımın yönünü ve büyüklüğünü belirleyen rehber görevi görür.
Optimizasyon Algoritmaları Nasıl Çalışır#
Bir neural network eğitimi; tahmin, hata hesaplaması ve parametre güncellemelerinden oluşan tekrarlayan bir döngüyü içerir. Optimizasyon algoritması, bu döngünün "güncelleme" aşamasını kontrol eder. Bir parti training data işlendikten sonra sistem, backpropagation adı verilen bir yöntemi kullanarak hatadaki en dik artış yönünü gösteren bir vektör olan gradyanı hesaplar.
Optimizör, hatayı azaltmak için model parametrelerini gradyanın zıt yönünde günceller. Bu güncellemenin büyüklüğü, learning rate olarak bilinen çok önemli bir hiperparametre tarafından belirlenir. Adım çok büyükse model global minimum değerini geçebilir; çok küçükse eğitim aşırı derecede yavaşlayabilir veya bir local minimum içinde sıkışıp kalabilir. Stanford CS231n optimization notes gibi gelişmiş kaynaklar, bu dinamikler hakkında daha derin teknik bilgiler sunar.
Yaygın Optimizasyon Algoritması Türleri#
Farklı problemler farklı stratejiler gerektirir. Birçok varyasyon olsa da, modern yapay zeka geliştirmede birkaç temel algoritma öne çıkar:
- Stochastic Gradient Descent (SGD): Tüm veri seti yerine tek bir örnek veya küçük bir batch kullanarak parametreleri güncelleyen klasik bir yaklaşım. Bu yöntem hesaplama açısından verimlidir ve Scikit-learn gibi kütüphanelerde yaygın olarak kullanılır.
- Adam Optimizer: Uyarlanabilir Moment Tahmini anlamına gelen Adam, her parametre için öğrenme oranını ayrı ayrı ayarlar. Kingma ve Ba tarafından kaleme alınan ufuk açıcı Adam research paper by Kingma and Ba belgesinde ayrıntılı olarak açıklanmıştır ve hızı ile yakınsama özellikleri sayesinde genellikle genel amaçlı eğitim için varsayılan tercihtir.
- AdamW: Ağırlık azaltımını (weight decay) gradyan güncellemesinden ayıran ve daha iyi genelleştirme sağlayan bir Adam varyasyonu. Bu, Transformers ve yüksek performanslı Ultralytics YOLO26 modelleri gibi son teknoloji mimarileri eğitmek için sıklıkla tercih edilen optimizördür.
Gerçek Dünya Uygulamaları#
Optimizasyon algoritmaları, verileri eyleme dönüştürülebilir istihbarata çevirerek neredeyse her başarılı AI solution arkasında sessizce çalışır.
-
Autonomous Vehicles: Otonom sürüş teknolojisinde, object detection sistemleri yayaları, trafik ışıklarını ve diğer arabaları anında tanımalıdır. Bu sistemler AI in Automotive için eğitilirken bir optimizasyon algoritması milyonlarca yol görüntüsünü işler ve tespit hatalarını en aza indirmek için ağı hassas bir şekilde ayarlar. Bu, bir insan gördüğünde arabanın güvenilir bir şekilde durmasını sağlayarak kazaları önler.
-
Medical Image Analysis: MRI taramalarındaki tümörlerin tanımlanması gibi AI in Healthcare uygulamalarında hassasiyet tartışılamaz bir konudur. Optimizörler, kritik teşhislerde yanlış negatif sonuç riskini azaltarak kötü huylu dokuyu sağlıklı dokudan yüksek duyarlılıkla ayırt etmek üzere Convolutional Neural Networks (CNNs) eğitimine rehberlik eder.
İlgili Kavramları Ayırt Etme#
İş akışını etkili bir şekilde anlamak için optimizasyon algoritmasını öğrenme sürecinin diğer bileşenlerinden ayırmak önemlidir.
- Optimization Algorithm vs. Loss Function: Kayıp fonksiyonu, modelin tahminlerinin ne kadar yanlış olduğunu temsil eden sayısal bir değer (Mean Squared Error gibi) hesaplayan bir "skor tabelası" görevi görür. Optimizasyon algoritması ise ağırlıkları ayarlamak ve bir sonraki turda performansı artırmak için bu skoru kullanan "stratejisttir".
- Optimization Algorithm vs. Hyperparameter Tuning: Optimizasyon algoritması eğitim döngüleri sırasında dahili parametreleri (ağırlıkları) öğrenir. Hiperparametre ayarı ise eğitelime başlamadan önce optimizörün kendisi, parti boyutu veya başlangıç öğrenme oranı gibi en iyi harici ayarların seçilmesini içerir. Ray Tune gibi otomatik araçlar, genellikle bu harici ayarların en uygun kombinasyonunu bulmak için kullanılır.
Python ile Optimizasyonu Uygulama#
Modern çerçevelerde bir optimizasyon algoritması seçmek genellikle tek bir argüman aracılığıyla yapılır. Aşağıdaki örnek, ultralytics paketi içinde AdamW optimizörünü kullanarak bir YOLO26 modelinin nasıl eğitileceğini göstermektedir. Ayrıca kullanıcılar, bu eğitim oturumlarını yönetmek için kodsuz bir yaklaşım amacıyla Ultralytics Platform avantajından yararlanabilirler.
from ultralytics import YOLO
# Load the latest YOLO26 model (recommended for new projects)
model = YOLO("yolo26n.pt")
# Train the model using the 'AdamW' optimization algorithm
# The optimizer iteratively updates weights to minimize loss on the dataset
results = model.train(data="coco8.yaml", epochs=5, optimizer="AdamW")Daha alt düzey mekanizmalarla ilgilenenler için PyTorch Optimizers ve TensorFlow Keras Optimizers gibi çerçeveler, özel araştırma mimarileri için bu algoritmaların nasıl uygulanacağı ve özelleştirileceği konusunda kapsamlı belgeler sunar.






