Active Learning
Aktif Öğrenmenin yapay zeka eğitimini nasıl optimize ettiğini keşfet. Bilgilendirici verileri tanımlamak, etiketleme maliyetlerini düşürmek ve doğruluğu artırmak için Ultralytics YOLO26'yı nasıl kullanacağını öğren.
Aktif Öğrenme (Active Learning), algoritmanın önceden etiketlenmiş bir veri setini pasif bir şekilde kabul etmek yerine, etiketleme için en bilgilendirici veri noktalarını proaktif olarak seçtiği machine learning (ML) alanında stratejik bir yaklaşımdır. Geleneksel supervised learning süreçlerinde modeller genellikle oluşturulması pahalı ve zaman alıcı olabilen devasa miktarda etiketlenmiş veriye ihtiyaç duyar. Aktif öğrenme; karar sınırına yakın olanlar veya modelin özgüveninin düşük olduğu "belirsiz" ya da "zor" örnekleri belirleyerek ve insan etiketleyicilerden yalnızca bu belirli örnekleri etiketlemelerini isteyerek bu süreci optimize eder. Bu yinelemeli döngü, modellerin çok daha az etiketli örnekle yüksek accuracy elde etmesini sağlayarak sınırlı bütçeye veya zaman kısıtlamalarına sahip projeler için son derece verimli hale getirir.
Aktif Öğrenme Döngüsü Nasıl Çalışır#
Aktif öğrenmenin özü, genellikle human-in-the-loop olarak adlandırılan bir geri bildirim döngüsüdür. Model, statik bir veri seti üzerinde bir kez eğitilmek yerine sorgu ve güncelleme döngüleri aracılığıyla evrimleşir.
-
Başlatma (Initialization): Süreç, Ultralytics YOLO26 gibi ilk bir modeli eğitmek için kullanılan küçük bir etiketli training data setiyle başlar.
-
Sorgu Seçimi: Model, etiketlenmemiş geniş bir veri havuzunu değerlendirir. En yaygın olan belirsizlik örneklemesi (uncertainty sampling) gibi bir sorgu stratejisi kullanarak, tahminlerinin en az güvenilir olduğu görüntüleri veya metinleri seçer.
-
Etiketleme (Annotation): Bu yüksek öncelikli örnekler, active learning literature içinde genellikle "kehanet" (oracle) olarak adlandırılan bir insan uzmana data labeling için gönderilir.
-
Yeniden Eğitme: Yeni etiketlenen veriler eğitim setine eklenir ve model yeniden eğitilir. Bu güncellenmiş model, bir sonraki karmaşık örnek grubunu seçmek için daha donanımlı hale gelir.
Gerçek Dünya Uygulamaları#
Aktif öğrenme, verinin bol olduğu ancak etiketlemenin uzmanlık gerektirdiği veya yüksek maliyetli olduğu endüstrilerde vazgeçilmezdir.
- Medical Image Analysis: Radyoloji gibi alanlarda etiketleme, zamanı son derece değerli olan kurul onaylı uzmanlar gerektirir. Bir doktordan binlerce net taramayı etiketlemesini istemek yerine, aktif öğrenme sistemi erken evre tümörler veya nadir anomaliler gibi belirsiz durumları filtreleyebilir ve uzmanın yalnızca modelin teşhis yeteneğini gerçekten iyileştiren görüntülere odaklanmasını sağlar.
- Autonomous Vehicles: Otonom araçlar petabaytlarca video verisi üretir. Her karenin etiketlenmesi imkansızdır. Aktif öğrenme; standart object detection modellerinin kaçırabileceği, kostüm giymiş yayalar veya yoğun karda sürüş gibi edge cases durumlarını mühendislerin belirlemesine yardımcı olur. Şirketler, bu nadir senaryolara öncelik vererek tekrarlayan otoyol görüntüleriyle kaynak harcamadan güvenliği artırır.
Python Örneği: Belirsiz Tahminleri Filtreleme#
Aşağıdaki örnek, Ultralytics YOLO26 kullanarak basit bir "belirsizlik örneklemesi" (uncertainty sampling) mantığını göstermektedir. Bir model yükler, görüntüler üzerinde çıkarım çalıştırır ve manuel inceleme için confidence puanının belirli bir eşiğin altında olduğu durumları işaretleriz.
from ultralytics import YOLO
# Load the latest YOLO26 model
model = YOLO("yolo26n.pt")
# List of unlabeled image paths
unlabeled_images = ["https://ultralytics.com/images/bus.jpg", "https://ultralytics.com/images/zidane.jpg"]
# Run inference
results = model(unlabeled_images)
# Identify samples with low confidence for active learning
uncertain_threshold = 0.6
for result in results:
# Check if any detection confidence is below the threshold
if result.boxes.conf.numel() > 0 and result.boxes.conf.min() < uncertain_threshold:
print(f"Active Learning Query: {result.path} needs human labeling.")İlgili Kavramları Ayırt Etme#
Aktif öğrenmeyi benzer eğitim paradigmalarından ayırt etmek önemlidir:
- Semi-Supervised Learning: Her iki yöntem de etiketlenmemiş verileri kullansa da, yarı denetimli öğrenme modelin yüksek özgüvenli tahminlerine dayanarak verilere otomatik olarak pseudo-labels atar. Buna karşılık aktif öğrenme, düşük özgüvenli tahminler için açıkça insan girdisi ister.
- Transfer Learning: Bu, önceden eğitilmiş bir modeli (ImageNet üzerinde eğitilmiş bir model gibi) alıp yeni bir göreve uyarlamayı içerir. Aktif öğrenme hangi verilerin etiketleneceğine odaklanırken, transfer öğrenmesi öğrenilen özelliklerin yeniden kullanımına odaklanır.
- Reinforcement Learning: Burada bir ajan, bir çevreyle etkileşime girerek ve ödüller alarak öğrenir. Aktif öğrenme farklıdır çünkü bir ödül için bir eylem dizisini optimize etmek yerine, bir kehanetten statik ground truth etiketleri arar.
MLOps ile Entegrasyon#
Aktif öğrenmeyi etkili bir şekilde uygulamak, sağlam bir Machine Learning Operations (MLOps) boru hattı gerektirir. Veri sürümlemeyi yönetmek, yeniden eğitim işlerini tetiklemek ve etiketleme arayüzünü kullanıcılara sunmak için altyapıya ihtiyacınız vardır. Ultralytics ecosystem ile entegre olan araçlar, kullanıcıların çıkarım, veri küratörlüğü ve eğitim arasında sorunsuz bir şekilde geçiş yapmasını sağlar. Örneğin, custom training scripts kullanmak, geliştiricilerin yeni aktif öğrenme veri gruplarını YOLO modellerine hızla dahil etmesine olanak tanır.
Örnekleme stratejileri hakkında daha fazla okuma yapmak için araştırmacılar genellikle active learning literature içindeki kapsamlı incelemelere başvururlar. Ek olarak, aktif öğrenme döngüsünün performansı gerçekten artırdığını doğrulamak için model evaluation metrics anlamak çok önemlidir.






