Active Learning ve Veri Etiketlemedeki Rolü -Bölüm 1/2
Active Learning’e Giriş
Uçtan uca bir makine öğrenmesi projesi hayal edelim. Aklımıza, veri seti üzerinde ön işleme aşamalarıyla başlanılan ve devamında modelin oluşturulup ayağa kaldırıldığı (deploy) bir süreç gelecektir.
Bir nesne tanıma (object detection) senaryosu örneği ile bu süreci gözümüzde canlandıralım. Mağaza raflarının kamera görüntüleri üzerinden raflardaki ürünlerin tanınıp, adetlerinin de elde edildiği bir proje düşünelim. Mağaza, ürünleri içeren kamera görüntülerini sizinle paylaştı ve projeye başlanacak. Bu noktada, girişte bahsettiğimiz süreç farklı bir adımla başlamış olacaktır. Bu aşama veri etiketleme (data annotation) aşamasıdır. Görsellerin eğitilmek üzere modele verilmesi için üzerinde taşıdığı objelerin, pixel koordinatlarıyla sınırlanan “bounding box” değerlerine ve bu sınırlar içinde kalan nesnenin kategorilerinin belirtilmesine yani etiketlerine ihtiyacı vardır. Aksi takdirde çözülmek istenen problemi tanımlayamayız. Bu aşamada etiketlememiz gereken yüzlerce, binlerce veya milyonlarca görselimiz olabilir ve proje sürecinde kayda değer bir efor da bu aşamaya ait olacaktır.
Görsel-1: Etiketli Veri [1]
Peki bu etiketlemeleri kim yapacak? Etiketlenecek veriler arasında önceliklendirme olmalı mıdır? Nasıl olmalıdır? Bilgisayarlardan ve makine öğrenmesi modellerinden de destek alabilir miyiz?
İnsan gücü, etiketleme süreci için önemli bir kaynaktır fakat bu kaynağın mevcut tüm görselleri etiketlemesi de oldukça maliyetlidir. İşte tam bu aşamada Active Learning devreye giriyor ve modeller ve insanların etkileşimli bir şekilde çalışmasını sağlayarak etiketleme sürecindeki eforun çeşitli strateji ve yöntemlerle minimize edilmesini sağlıyor.
Active Learning ile Veri Etiketleme Süreci
Görsel-2: Active Learning Döngüsü
Active learning’in çalışma mekanizmasını Görsel-2’deki döngü üzerinden anlayabiliriz. Başlangıçta elimizde hiçbir etikete sahip olmayan bir veri var. İlk aşama, döngüdeki “expert” yani etiketleyici ile başlayan aşamadır. Etiketleyicinin düşük bir miktarda veri etiketlemesi ile süreç başlıyor. Ardından model etiketlenmiş veriler ile eğitiliyor. Sonrasında model, verideki diğer etiketsiz örnekler için tahminler üretiyor. Bu örneklerdeki sınıf tahminleri arasında bazı sınıfların olasılık değerleri yüksek ve bazı sınıfların olasılıklarıysa düşüktür. Görsellerin bu olasılıkları üzerinde çeşitli stratejiler ile beraber uygulanan sorgu (query) yöntemleri, etiketlenecek verileri bir sıraya göre seçer. Etiketleyici de her iterasyonda bu sıraya göre verileri etiketleyerek devam edecektir. Önceliklendirmeye dayalı olan bu seçim mekanizması sorgu olarak belirtiliyor. Bu aşamada model, tahmin ürettiği örneklere dair farklı olasılıklarda tahminlerde bulunur. Sonuçlar kaydedilir. Etiketleyici, bu bilgiler üzerine seçtiği örnekleme stratejiyle beraber bir sorgu uygular ve etiketleyeceği verileri bir sıraya göre seçmiş olur.
Görsel-3: Görseldeki Nesneye Dair Tahminlerin Sınıflar Özelinde Değerleri
Döngü bu şekilde işlediğinde sürekli olarak model için bilgi kazancı en yüksek veriler etiketlenmiş olacaktır ve model başarıya en hızlı sürede ulaşmış olacaktır. Etiketlenen veri sayısı da sürekli olarak bu şekilde artmış oluyor. Buradaki örnekleme stratejisi ve sorgu yöntemi en başta etiketleyici tarafından belirlenmiştir.
Görsel-4 Smart Selection [2]
Görsel-4’te görüldüğü üzere, active learning iterasyon’u uygulandığında, etiketlenen veri miktarı %100’e ulaşana kadar başlangıçtan itibaren rastgele iterasyona göre daha yüksek başarı gösteriyor. Verilerin tamamı etiketlendiğinde active learning’in herhangi bir avantajı kalmayacaktır. Dolayısıyla active learning iterasyonu uygun bir noktada sonlanmadıkça anlamsızdır.
Bir soruyla devam edelim. Peki iterasyonlar ne zamana kadar devam etmeli? Görsel-2 üzerinden anlatılan süreçte en başta düşük miktarda bir verinin insan kaynağı tarafından etiketlenmesi gerek. Bu verilerin bir kısmını da test verisi olarak ayırdığımızı varsayabiliriz. Model iterasyonlarla eğitilmeye devam ettikçe test seti üzerindeki performansını izleyerek başarılı görülen oran yakalandığında süreci durdurabiliriz. Ardından etiketlenmemiş veriler de eğitilmiş modelin tahminleriyle etiketlenebilir.
Active Learning sayesinde akıllı seçim yaklaşımıyla tüm görselleri insan kaynağı ile etiketleme maliyetinden kurtularak hem finansal hem de zamandan tasarruf etmek mümkündür. Bu süreç insanların ve modelin interaktif bir şekilde çalışmasıyla mümkündür. Sürecin sonunda etiketleme aşaması geçilmiş ve tahmin modeli için de iyi bir başlangıç elde edilmiş oluyor.
Active Learning, sadece bir veri etiketleme yöntemi olarak düşünülmemelidir. Gözetimli Öğrenmenin (Supervised Learning) özel bir durumudur. Veriyi rastgele kümelerle eğitime dahil eden süreç yerine akıllı bir şekilde veri örneklerini seçen iterasyonlarla ilerlenilen bir yöntemdir. Çok küçük veri setlerinde aşırı öğrenmeyi (overfitting) engelleyebilir, devasa veri setlerinde kısıtlı işleme kapasitesi sorununa çözüm olabilir. Veri etiketleme süreçlerinde oldukça kullanışlıdır.
Notlar
Süreç, zaman zaman nesne tanıma kurgusu üzerinden anlatılmıştır fakat tablo veri ve diğer veri setleri üzerinde de uygulanabileceğini belirtmekte fayda var.
Crowdsourcing, Human-in-the-loop (HITL) ve Society-in-the-loop (SITL) kavramları araştırarak alana hakimiyet artırılabilir.
Sonuç
Active learning işleyişi ve veri etiketlemedeki önemi, süreç üzerinden değerlendirilmiştir.
Bu bölümün devamı olarak, etiketlenecek verinin seçim yöntemleri ve ilgili hesaplamaları ikinci bölümde ele alınmıştır.
Kaynaklar
[1] https://becominghuman.ai/how-data-labeling-accelerate-application-scenarios-in-the-new- retail-field-5b80349fd273
[2] https://humanloop.com/_next/image?url=%2Fblog%2Fwhy-you-should-be-using-active- learning%2Factive-learning-graph.png&w=3840&q=75