Bir nesne tespit modeli eğitildiği gün kadar iyidir. Sahaya çıktığında kamera açıları değişir, mevsim değişir, ışık değişir; eğitim verisinde hiç görmediği nesnelerle karşılaşır. Her yeni durum için modeli bütün veriyle baştan eğitmek hem pahalıdır hem de uçtaki küçük cihazlarda mümkün değildir. Artırımlı öğrenme (incremental learning), modeli yalnızca yeni gelen verilerle güncellemeyi hedefler.
Unutmanın adı neden "katastrofik"?
Bir sinir ağını yeni örneklerle eğittiğinizde ağırlıklar o örneklere uyacak şekilde değişir. Sorun şu ki eski bilgiyi taşıyan da aynı ağırlıklardır. Model yalnızca yeni verilerle eğitilirse eskiden çok iyi tanıdığı bir sınıfı birkaç tur içinde tanıyamaz hâle gelebilir. Bu yavaş bir aşınma değil, çoğu zaman ani bir çöküştür; literatürde bu yüzden katastrofik unutma denir.
Doktora çalışmasında ne gördük?
Doktora tezimde silah ve bıçak tespiti yapan YOLOv8-nano modelini, uçtaki ajanların gönderdiği ve merkezde doğrulanan örneklerle beş tur boyunca güncelledik. Hazır veri setleriyle yapılan denemelerde başarım her turda arttı. Gerçek sahadan toplanan verilerle denediğimizde ise model önceki turlarda öğrendiklerini kaybetmeye başladı.
Çözüm, her eğitim turunu yalnızca yeni örneklerle değil, önceki turlardan seçilen örneklerle karıştırarak yapmaktı. Bu karma eğitimle unutma giderildi; Computers'taki makalemizde raporladığımız gibi, veri setinde az örneği bulunan bıçak sınıfında başarım yaklaşık üç katına çıktı ve toplam eğitim süresi tek seferlik eğitime göre %74 kısaldı.
Unutmayı nasıl ölçmeli?
Unutmayı ölçmek sanıldığı kadar kolay değil. Yaygın bir yöntem, modelin görüntülere yapay bozulmalar (bulanıklık, gürültü, parlaklık değişimi) eklenmiş hâlleri üzerindeki başarımına bakmaktır. Devam eden çalışmalarımızda bu sentetik stres testlerinin gerçek dünyadaki unutmayı ne kadar iyi temsil ettiğini sorguluyoruz: farklı kaynaklardan gelen veri setleri ve sınıfların farklı sıklıkta görünmesi, sentetik testlerin sonuçlarını yanıltıcı hâle getirebiliyor.
Aynı konunun iki uzantısı daha var. Birincisi unutturma (machine unlearning): bir veri sahibi verisinin modelden çıkarılmasını istediğinde, artırımlı eğitilmiş bir dedektörden o veriyi seçerek unutturmak. İkincisi mahremiyet: eski örnekleri tekrar oynatmak için tutulan tamponlar, modelin hangi görüntüleri gördüğü konusunda bilgi sızdırabilir. Bu çalışmaların kodları ve ham sonuçları açık bilim paketleri olarak paylaşıldı; makaleleri değerlendirme sürecinde.
Pratik bir sonuç
Sahada öğrenen bir sistem kuruyorsanız iki şeyi baştan tasarlayın: eski verilerden hangilerini saklayacağınızı (ve bunun mahremiyet bedelini) ve unutmayı hangi testle izleyeceğinizi. İkisi de sonradan eklendiğinde, sorun çoğu zaman ancak model sahada yanılmaya başladığında fark ediliyor.