Eğitim Aşaması - Bölüm 2/3

Bu rehber, YOLO projelerinde rastgele denemeler yerine veriden edge cihaza kadar ölçülebilir ve bilimsel bir yol haritası sunar. Amacımız, kontrollü adımlarla model başarısını ve donanım verimliliğini en üst düzeye çıkarmanızı sağlamaktır.

Eğitim Aşaması - Bölüm 2/3

YOLO mimarisiyle nesne tespiti rehberimizin ikinci bölümüne hoş geldiniz. İlk yazımızda projemizi tanımlamış, veri setimizi analiz etmiş ve doğru modeli seçerek sağlam bir temel atmıştık. Artık teoriyi pratiğe dökme vakti geldi. Bu yazıda kolları sıvayıp; güvenilir bir baseline model eğitmeyi, elde ettiğimiz sonuçları bilimsel bir gözle yorumlamayı, kontrollü hiperparametre optimizasyonu yapmayı ve son olarak eğittiğimiz modeli hedef edge cihazda çalışmaya hazır hale getirmeyi adım adım inceleyeceğiz.


6. Baseline Eğitim

Hiperparametre optimizasyonundan önce standart ve mümkün olduğunca güvenilir bir baseline eğitim yapılmalıdır. Baseline'ın amacı en iyi modeli bulmak değil, sonraki deneylerin karşılaştırılabileceği referans noktayı oluşturmaktır.

  1. Veriyi kontrol et ve temizle.

  2. Train / val / test ayrımını oluştur.

  3. Uygun YOLO26 varyantını seç.

  4. Kurulu Ultralytics sürümünü doğrula.

  5. Varsayılan veya önerilen eğitim ayarlarıyla baseline çalıştır.

  6. Sonuçları kaydet: loss, mAP50, mAP50-95, precision, recall, F1.

  7. Confusion matrix ve PR curve'ü incele.

  8. Baseline sonuçlarını deney günlüğüne kaydet.

6.1 Örnek: Bir Baseline Sonucunun Yorumlanması

Bu bölümdeki grafik örnekleri tamamen temsili ve rastgele oluşturulmuş sonuçlardır; gerçek bir eğitim çıktısını temsil etmezler. Amaç; loss, precision-recall, F1-confidence ve confusion matrix grafiklerinin birbirleriyle birlikte nasıl yorumlanacağını öğretmektir. Örnek senaryoda üç sınıf (A, B ve C) bulunmaktadır; burada önemli olan sayısal değerlerden çok grafiklerin şeklinin ve sınıflar arasındaki farkların nasıl okunacağıdır.

  • Loss grafiğinde train loss'un epoch'lar ilerledikçe düzenli biçimde azalması öğrenmenin gerçekleştiğini gösterir. Validation loss da başlangıçta azalıyor ve daha sonra yataylaşıyorsa modelin genelleme performansı belirli bir noktada doygunluğa ulaşmış olabilir. Validation loss yükselmeye başlarsa overfitting ihtimali araştırılmalıdır.

  • Precision-recall eğrisinde eğrinin mümkün olduğunca sağ üst bölgede kalması istenir. Yüksek recall seviyelerinde precision'ın hızlı düşmesi, modelin daha fazla nesneyi yakalamaya çalışırken yanlış pozitif üretmeye başladığını gösterebilir. F1-confidence eğrisinde ise en yüksek F1 değerinin bulunduğu confidence seviyesi, uygulamaya göre eşik seçimi için başlangıç noktası olarak değerlendirilebilir.

  • Confusion matrix sınıf bazındaki hataların nerede yoğunlaştığını gösterir. Köşegendeki yüksek değerler doğru sınıflandırmaları, köşegen dışındaki değerler ise sınıflar arası karışmaları ifade eder. Örneğin B sınıfının önemli bir kısmı C olarak tahmin ediliyorsa, bu iki sınıfın görsel olarak birbirine benzeyen özellikleri ayrıca incelenmelidir.

Sonuç: Tek bir metriğe bakarak karar verilmemelidir. Loss grafiklerinin öğrenme davranışını, precision-recall eğrisinin hata dengesini, F1-confidence eğrisinin eşik davranışını ve confusion matrix'in sınıf bazındaki hataları göstermesi birlikte değerlendirilmelidir. Yüksek mAP tek başına yeterli değildir.

7. İlk Eğitimi Mümkün Olduğunca Optimum Hâle Getirmek

Baseline eğitim çoğu zaman elde edilebilecek en yüksek skoru bulmak için değil, sonraki bütün deneylerin karşılaştırıldığı güvenilir bir referans noktası oluşturmak için yapılır. Buna karşın, ilk eğitimin baştan itibaren mümkün olduğunca sağlıklı kurulması hem zaman kazandırır hem de sonraki yorumların doğru bir temele dayanmasını sağlar. Aşağıdaki maddeler, ilk eğitimi mümkün olduğunca optimum hâle getirmek için izlenebilecek pratik bir kontrol listesidir.

  • Önceden eğitilmiş ağırlıklarla başlayın: rastgele başlatılmış ağırlıklara göre transfer learning neredeyse her zaman daha hızlı ve daha kararlı bir yakınsama sağlar.

  • Görüntü boyutunu doğru seçin: görüntü boyutu (image size), veri setindeki nesnelerin gerçek boyutuna ve hedef cihazın işlem gücüne göre belirlenmelidir; gereksiz yere büyük bir boyut eğitim süresini uzatırken, gereğinden küçük bir boyut küçük nesnelerin görünürlüğünü azaltabilir.

  • Grup büyüklüğünü donanıma göre ayarlayın: grup büyüklüğü (batch size), kullanılan grafik kartının belleğine (VRAM) göre kararlı biçimde çalışabilecek en büyük değerde tutulmalıdır; aşırı küçük gruplar gradyanların gürültülü olmasına yol açabilir.

  • Öğrenme oranını değiştirmeden başlayın: öğrenme oranı (learning rate) ve ısınma (warmup) ayarlarını önerilen varsayılan değerlerle başlatın; ilk eğitimde bu ayarlarla oynamamak, sonucun neden değiştiğini daha sonra anlamayı kolaylaştırır.

  • Erken durdurmayı açık bırakın: epoch sayısını yeterince yüksek tutup erken durdurma (early stopping) mekanizmasını açık bırakın; böylece kaç epoch'un yeterli olduğu sorusuna varsayım yerine ölçümle cevap verilmiş olur.

  • Rastgelelik tohumunu sabitleyin: rastgelelik tohumu (seed) sabitlendiğinde, sonraki deneylerle yapılan karşılaştırmalar daha adil olur.

  • Karma hassasiyetli eğitimi değerlendirin: donanım destekliyorsa karma hassasiyetli eğitimi (mixed precision) açık tutmak, hem eğitim süresini kısaltır hem de bellek kullanımını azaltır.

  • Doğrulama ve kayıt sıklığını düzenli tutun: en iyi model her zaman doğrulama metriğine göre otomatik olarak kaydedilmelidir; bu sayede eğitim sırasında en iyi ara nokta kaybedilmez.

  • Augmentation ayarlarını ilk eğitimde sabit bırakın: augmentation ayarlarını önerilen varsayılan değerlerde bırakmak, baseline aşamasında hangi değişikliğin performansı etkilediğini daha sonra ayırt etmeyi kolaylaştırır.

  • Eğitim öncesinde kısa bir deneme çalıştırın: veri setinin küçük bir alt kümesiyle yapılan kısa bir deneme, veri yükleme, etiket eşleşmesi ve kod hatalarını, eğitim saatlerce sürmeden önce ayarlamanızı sağlar.

  • Donanım ve yazılım sürümlerini kayıt altına alın: kullanılan işlem kartı, işlemci ve yazılım sürümlerini (CUDA, PyTorch, Ultralytics) not almak, ileride yapılacak karşılaştırmalarda sürüm farkının etkisini göz ardı edebilmemizi sağlar.

Amaç: İlk eğitimde hedef en yüksek skoru elde etmek değil, güvenilir, tekrarlanabilir ve üzerine inşa edilebilir bir referans nokta oluşturmaktır. Bu referans olmadan yapılacak hiperparametre değişikliklerinin gerçekte bir iyileşme sağlayıp sağlamadığı anlaşılamaz.

8. Loss Grafiklerini Okuma

Loss grafikleri modelin öğrenme davranışını anlamak için önemlidir; ancak model kalitesi yalnızca loss değerine bakılarak belirlenmemelidir.

Gözlem

Olası Yorum

Train loss ↓ ve validation loss ↓

Genellikle sağlıklı öğrenme.

Train loss ↓ ve validation loss ↑

Overfitting ihtimali.

Train ve validation loss yüksek ve yatay

Underfitting, yetersiz kapasite veya uygun olmayan eğitim ayarları.

Loss çok dalgalı

Learning rate, batch size, veri kalitesi veya augmentation incelenmeli.

Loss düşüyor fakat mAP platoya giriyor

Modelin optimizasyon hedefi ile gerçek performans arasında doygunluk oluşmuş olabilir.

Kural: Loss azalması tek başına daha iyi model anlamına gelmez. mAP, precision, recall, F1 ve gerçek test performansı birlikte değerlendirilmelidir.

9. Overfitting ve Underfitting

9.1 Overfitting Belirtileri

  • Train performansı sürekli yükselirken validation performansı geriliyor.

  • Train loss düşerken validation loss yükseliyor.

  • Train mAP çok yüksek, validation mAP belirgin biçimde düşük kalıyor.

  • Model belirli görüntü koşullarında çok iyi, farklı koşullarda belirgin biçimde kötü çalışıyor.

9.2 Overfitting İçin Olası Çözümler

  • Daha çeşitli veri toplamak

  • Ortama uygun augmentation kullanmak

  • Early stopping uygulamak

  • Daha küçük model denemek

  • Eğitim süresini azaltmak

  • Weight decay ve diğer regularization seçeneklerini kontrollü incelemek

  • Train/validation ayrımını ve data leakage riskini tekrar kontrol etmek

9.3 Underfitting Belirtileri

  • Train ve validation performanslarının ikisi de düşük.

  • Loss değerleri yeterince iyileşmiyor.

  • Model eğitim verisinde dahi görevi yeterince öğrenemiyor.

Yaklaşım: Problemin nedenini belirlemeden model büyütmek veya augmentation artırmak doğru değildir.

10. Veri Artırma (Augmentation)

Augmentation'ın amacı veri sayısını yapay olarak artırmaktan çok, modelin gerçek dünyadaki değişkenliklere karşı daha dayanıklı olmasını sağlamaktır.

  • Mosaic: Farklı görüntüleri birleştirerek nesne ve bağlam çeşitliliği oluşturabilir.

  • MixUp: Görüntüleri karıştırarak regularization sağlayabilir; ancak her ortam için uygun değildir.

  • HSV: Aydınlatma ve renk değişimlerine karşı dayanıklılığı artırabilir.

  • Scale: Nesne boyutu değişimlerine karşı dayanıklılık sağlayabilir.

  • Translate: Nesnenin görüntü içindeki konumunun değişmesini simüle eder.

  • Rotation: Gerçek sistemde oluşabilecek açı değişimlerine uygun seviyede kullanılmalıdır.

  • Flip: Sadece gerçek kullanım senaryosunda fiziksel olarak mümkünse kullanılmalıdır.

  • Close Mosaic: Eğitimin son bölümünde gerçek görüntü dağılımına daha fazla yaklaşmak için değerlendirilebilir.

Ortam uyumu: Gerçek sistemde hiç görülmeyecek dönüşümleri agresif biçimde uygulamak, modelin gerçek dağılımla arasındaki farkı artırabilir.

10.1 Temel Augmentation Teknikleri ve Önerilen Değer Aralıkları

Aşağıdaki tablo, en sık kullanılan augmentation tekniklerini, tipik olarak kullanılan değer aralıklarını ve her birinin hangi amaca hizmet ettiğini özetlemektedir. Belirtilen aralıklar kesin kurallar değil, farklı görevlerde sıkça tercih edilen başlangıç noktalarıdır; kesin değerler her zaman veri setine ve hedef kullanım senaryosuna göre kontrollü deneylerle doğrulanmalıdır.

Teknik

Önerilen Değer / Aralık

Ne İşe Yarar

Mosaic (mozaik birleştirme)

Olasılık ~1,0; eğitimin büyük bölümünde açık

Birden çok görüntüyü tek karede birleştirerek nesne ve bağlam çeşitliliğini artırır.

Close Mosaic (mozaiği kapatma)

Eğitimin son 10-15 epoch'unda kapatılması önerilir

Eğitimin sonunda modelin gerçek görüntü dağılımına daha fazla yaklaşmasını sağlar.

MixUp

Olasılık ~0,0-0,2 arası

İki görüntüyü karıştırarak hafif bir düzenlileştirme etkisi sağlar; hassas sınıf ayrımı gereken görevlerde önerilmez.

Copy-Paste

Olasılık ~0,0-0,3 arası

Nesneleri farklı arka planlara yapıştırarak, örnek sayısı az olan sınıflarda çeşitliliği artırır.

HSV - Renk Tonu (Hue)

~0,0-0,02 arası

Küçük renk tonu kaymalarına karşı dayanıklılık sağlar.

HSV - Doygunluk (Saturation)

~0,4-0,9 arası

Farklı aydınlatma ve kamera koşullarındaki renk doygunluğu değişimlerini simüle eder.

HSV - Parlaklık (Value)

~0,2-0,5 arası

Aydınlatma şiddetindeki değişimlere karşı dayanıklılığı artırır.

Döndürme (Rotation)

Genel kullanımda 0-15 derece arası

Kameranın veya nesnenin açısındaki küçük değişimleri simüle eder; sabit açılı sistemlerde 0'a yakın tutulmalıdır.

Öteleme (Translate)

Görüntü boyutunun ~0,05-0,2'si kadar

Nesnenin görüntü içindeki konumunun değişmesini simüle eder.

Ölçek (Scale)

~0,3-0,9 arası

Nesnenin kameraya olan uzaklığına bağlı boyut değişimlerini simüle eder.

Eğme (Shear)

Genellikle 0'a yakın

Perspektif eğilmesi belirgin olan sahnelerde hafifçe artırılabilir.

Perspektif

Genellikle 0,0

Yalnızca kamera açısı belirgin biçimde değişen sistemlerde küçük değerlerle denenmelidir.

Yatay Çevirme (Fliplr)

Genellikle 0,5 olasılık

Yalnızca sahnenin sağ-sol simetrisi gerçek kullanımda da mümkünse uygulanmalıdır.

Dikey Çevirme (Flipud)

Genellikle 0,0; kapalı

Çoğu gerçek dünya sahnesinde yukarı-aşağı çevirme fiziksel olarak anlamlı değildir.

10.2 Veri Seti Büyüklüğüne Göre Augmentation Şiddeti

Augmentation şiddeti, veri setinin büyüklüğüne göre ayarlanmalıdır. Küçük veri setlerinde daha güçlü augmentation genellikle faydalıyken, büyük ve zaten çeşitli veri setlerinde aşırı augmentation öğrenmeyi yavaşlatabilir ve gereksiz hâle gelebilir.

Veri Seti Büyüklüğü

Augmentation Şiddeti

Açıklama

Çok küçük (1.000 görüntüden az)

Güçlü

Mosaic, HSV ve ölçek değişimleri önerilen aralığın üst sınırına yakın tutulabilir; MixUp ve Copy-Paste gibi teknikler de değerlendirilebilir.

Küçük - orta (1.000 - 10.000)

Orta

Önerilen aralığın orta noktasına yakın değerler makul bir başlangıç noktasıdır.

Büyük (10.000 - 100.000)

Hafif - orta

Veri zaten çeşitli olduğundan agresif augmentation genellikle gereksizdir; aşırı augmentation öğrenmeyi yavaşlatabilir.

Çok büyük (100.000'den fazla)

Hafif

Augmentation, gerçek dünyada karşılaşılması muhtemel küçük değişkenliklere odaklanacak şekilde sınırlı tutulabilir.

10.3 Ortama Özgü Seçim İlkeleri

  • Gerçek sistemde hiçbir zaman karşılaşılmayacak bir dönüşümü eğitime eklemeyin; örneğin sabit ve dik açıyla çekim yapan bir kamera sisteminde geniş açılı döndürme veya perspektif değişimi eklemek, modelin gerçek dağılımdan uzaklaşmasına yol açabilir.

  • Yeni bir augmentation eklerken tek seferde yalnızca bir değişiklik yapın ve doğrulama metriklerini bir önceki deneyle karşılaştırın; aynı anda birden fazla augmentation değiştirildiğinde hangi değişikliğin etkili olduğu anlaşılamaz.

  • Augmentation gücünü kademeli olarak artırın; düşük değerlerden başlayıp doğrulama performansını izleyerek adım adım yükseltmek, aşırı augmentation'ın öğrenmeyi bozduğu noktayı görünür kılar.

  • Augmentation uygulandıktan sonra oluşan görüntülerin bir kısmını gözle inceleyin; etiketlerin görüntüyle birlikte doğru dönüştüğünden ve nesnelerin kare dışına taşmadığından emin olun.

  • Augmentation yalnızca eğitim verisine uygulanan bir tekniktir; doğrulama ve test verisi, gerçek kullanım koşullarını olduğu gibi yansıtmalı ve augmentation'dan bağımsız tutulmalıdır.

Pratik kural: Augmentation ayarlarını değiştirirken aynı anda yalnızca bir parametreyi değiştirin ve sonucu doğrulama metrikleriyle karşılaştırın; aksi hâlde performans değişiminin hangi augmentation'dan kaynaklandığını ayırt etmek mümkün olmaz.

11. Hiperparametre Optimizasyonu

Hiperparametre optimizasyonu, aynı anda çok sayıda parametreyi rastgele değiştirmek yerine model performansını etkileyen parametreleri kontrollü biçimde aramaktır.

11.1 Öncelik Sırası

  1. Learning rate ve scheduler

  2. Image size ve batch size

  3. Augmentation gücü

  4. Optimizer ve ilgili parametreler

  5. Weight decay / regularization

  6. Warmup ayarları

  7. Diğer düşük etkili parametreler

11.2 HPO Yöntemleri

Yöntem

Uygun Kullanım

Manuel / Grid Search

Az sayıda parametreyi hızlı karşılaştırmak için.

Random Search

Orta büyüklükte arama alanlarında basit ve etkili başlangıç için.

Ultralytics Tune

Hızlı ve entegre başlangıç için.

Optuna

Deneme sayısını verimli kullanmak ve Bayesian/TPE tabanlı arama yapmak için.

Ray Tune

Çoklu GPU veya paralel deney ortamlarında.

Öneri: Küçük ve orta veri setlerinde önce az sayıda anlamlı deney yapılmalı; geniş arama ancak baseline ve problem davranışı anlaşıldıktan sonra uygulanmalıdır.

12. Deney Tasarımı ve Experiment Log

Her eğitim deneyi kayıt altına alınmalıdır.

Baseline

Varsayılan ayarlar

Referans oluşturmak

Metrikler kaydedilir

En etkili problemi belirle

Exp-01

LR değişikliği

Yakınsamayı iyileştirmek

Baseline ile karşılaştır

Devam / geri dön

Exp-02

Augmentation değişikliği

Genelleme

Val performansını incele

Devam / geri dön

Exp-03

imgsz değişikliği

Küçük nesne performansı

mAP + latency

Accuracy/FPS dengesi

Deney kuralı: Bir deneyde mümkün olduğunca az değişken değiştirin. Böylece performans değişiminin hangi etkenden kaynaklandığı anlaşılabilir.

Modelimizi eğittik, metrikleri doğru okumayı öğrendik ve hiperparametreleri optimize ettik! Peki bu harika sonuçlar veren modeli gerçek bir donanıma nasıl aktaracağız? Model dışa aktarma (export) ve donanım hızlandırma adımlarıyla projemizi sahaya indireceğimiz 3. bölümü kaçırmamak için takipte kalın.