Adam Optimizer
Derin öğrenme için Adam optimize edicisini keşfet. Ultralytics YOLO26 gibi modellerde daha hızlı yakınsama için momentumu ve RMSProp'u nasıl birleştirdiğini öğren.
Adaptive Moment Estimation'ın kısaltması olan Adam optimizer, derin öğrenme modellerini eğitmek için yaygın olarak kullanılan gelişmiş bir optimizasyon algoritmasıdır. Stokastik gradyan inişi (SGD) yönteminin diğer iki popüler uzantısı olan Adaptive Gradient Algorithm (AdaGrad) ve Root Mean Square Propagation (RMSProp) avantajlarını birleştirerek bu alanda devrim yaratmıştır. Gradyanların birinci ve ikinci momentlerinin tahminlerinden farklı parametreler için bireysel uyarlanabilir öğrenme oranları hesaplayan Adam, sinir ağlarının geleneksel yöntemlere göre önemli ölçüde daha hızlı yakınsamasını sağlar. Sağlamlığı ve minimum ayar gereksinimi, onu yeni bir makine öğrenimi (ML) projesine başlayan birçok uygulayıcı için varsayılan seçenek haline getirir.
Link to this sectionAdam Nasıl Çalışır#
Özünde bir modeli eğitmek, modelin tahminleri ile gerçek veriler arasındaki farkı ölçen bir kayıp fonksiyonunu minimize etmeyi içerir. Standart algoritmalar genellikle minimum hataya doğru "kayıp peyzajından" inmek için sabit bir adım boyutu (öğrenme oranı) kullanır. Ancak bu peyzaj genellikle karmaşıktır ve daha basit algoritmaları tuzağa düşürebilecek vadiler ve platolar içerir.
Adam, her parametre için iki geçmiş arabelleği tutarak bu sorunu çözer:
-
Momentum (Birinci Moment): Tepeden aşağı yuvarlanan ağır bir topa benzer şekilde, ilgili yönde hızı korumak için geçmiş gradyanların hareketli ortalamasını izler.
-
Varyans (İkinci Moment): Bu, öğrenme oranını ölçeklendiren karesi alınmış gradyanların hareketli ortalamasını izler.
This combination allows the optimizer to take larger steps in flat areas of the landscape and smaller, more cautious steps in steep or noisy areas. The specific mechanics are detailed in the foundational Adam research paper by Kingma and Ba, which demonstrated its empirical superiority across various deep learning (DL) tasks.
Link to this sectionGerçek Dünya Uygulamaları#
Adam optimizer'ın çok yönlülüğü, yapay zeka (AI) sektörünün hemen hemen tüm alanlarında benimsenmesini sağlamıştır.
- Doğal Dil İşleme (NLP): Generative Pre-trained Transformers (GPT) gibi büyük dil modelleri, eğitim için büyük ölçüde Adam'a (veya onun varyantı olan AdamW'ye) güvenir. Algoritma, geniş kelime dağarcıkları ve devasa veri kümeleriyle ilişkili seyrek gradyanları verimli bir şekilde yöneterek güçlü sohbet botları ve çeviri sistemlerinin oluşturulmasını sağlar.
- Sağlık Hizmetlerinde Bilgisayarlı Görü: Tıbbi görüntü analizinde, modeller MR taramalarındaki tümörler gibi ince anomalileri tespit etmelidir. Adam, evrişimli sinir ağlarının (CNN'ler) yüksek doğruluklu çözümlere hızla yakınsamasına yardımcı olur; bu da Sağlık Hizmetlerinde Yapay Zeka için teşhis araçları geliştirirken kritik öneme sahiptir.
Link to this sectionAdam ve SGD Karşılaştırması#
Adam genellikle daha hızlı yakınsasada, onu Stokastik Gradyan İnişi (SGD)'den ayırmak önemlidir. SGD, model ağırlıklarını sabit bir öğrenme oranı kullanarak günceller ve test verilerinde bazen biraz daha iyi genelleme (nihai doğruluk) elde edebildiği için en son teknoloji nesne algılama modellerinin eğitiminin son aşamaları için genellikle tercih edilir.
Ancak Adam "uyarlanabilirdir", yani öğrenme oranının ayarlanmasını otomatik olarak yönetir. Bu, onu ilk deneyler ve SGD'yi ayarlamanın zor olacağı karmaşık mimariler için çok daha kullanıcı dostu hale getirir. Ultralytics Platform üzerinde deneyleri yöneten kullanıcılar için, performansı karşılaştırmak amacıyla bu optimizerlar arasında geçiş yapmak genellikle hiperparametre ayarlamasında önemli bir adımdır.
Link to this sectionUltralytics ile Uygulama#
PyTorch ve Ultralytics kütüphanesi gibi modern çerçeveler, Adam kullanımını kolaylaştırır. AdamW (Weight Decay ile Adam) adlı popüler bir varyant, orijinal Adam algoritmasındaki düzenlileştirme sorunlarını çözdüğü için sıklıkla önerilir. Bu, özellikle AdamW'nin sağladığı kararlılıktan yararlanan YOLO26 gibi en son mimariler için etkilidir.
Aşağıdaki örnek, AdamW optimizer kullanarak bir YOLO26 modelinin nasıl eğitileceğini göstermektedir:
from ultralytics import YOLO
# Load the cutting-edge YOLO26n model
model = YOLO("yolo26n.pt")
# Train the model using the 'AdamW' optimizer
# The 'optimizer' argument allows easy switching between SGD, Adam, AdamW, etc.
results = model.train(data="coco8.yaml", epochs=5, optimizer="AdamW")Daha derin teorik temellerle ilgilenen geliştiriciler için, Stanford CS231n Optimizasyon Notları gibi kaynaklar, Adam'ın RMSProp ve AdaGrad gibi diğer algoritmalarla nasıl karşılaştırıldığına dair mükemmel görselleştirmeler sunar. Ayrıca, PyTorch Optimizer Dokümantasyonu özelleştirme için mevcut olan argümanlar ve uygulama detayları hakkında teknik bilgiler sunar.






