Atlas’ta ara

Keşfetmeye buradan başla

Öğren/Genelleme

Model ezberliyor mu, öğreniyor mu?

Eğitim hatası düşük olduğunda model neden hâlâ başarısız olabilir? Genelleme, aşırı öğrenme, veri bölme ve sızıntıyı tek bir deneyle öğren.

ÖN BİLGİ

Bu yazıyı rahat izlemek için şunlara önce bakmış olman iyi olur:

01Eğitim hatası seni kandırır#

Eğitim yazısında modelin amacını “hatayı azaltmak” olarak kurduk. Ama hangi hatayı? Modelin gördüğü örneklerdeki hatayı azaltmak kolaydır; yeterince esnek bir model, örneklerin hepsini mükemmel biçimde yakalayabilir. Oysa bizim istediğimiz, modelin henüz görmediği girdilerde de doğru davranmasıdır. Buna genelleme denir.

Aşağıdaki deneyde sekiz nokta, bir sinüs eğrisine gürültü eklenerek üretildi. Modelimiz bir polinom: derece arttıkça daha esnek bir eğri çizebiliyor. Karmaşıklığı artırırken iki hataya birlikte bak.

01

Ezberleyen mi, öğrenen mi?

Hesaplanan · temsili girdiler

Modelin karmaşıklığını (polinom derecesini) artır. Eğri noktalara yaklaştıkça iki hatanın nasıl ayrıştığını izle.

−2−1012girdi x
EĞİTİM HATASI (8 nokta)0,218
GÖRÜLMEMİŞ GİRDİLERDE HATA0,246

Model çok basit: eğri verideki dalgayı yakalayamıyor. İki hata da yüksek. Buna yetersiz öğrenme (underfitting) denir.

Tüm dereceleri karşılaştır
DereceEğitim hatasıGörülmemiş hata
10,2180,246
20,2180,246
30,0400,021
40,0390,022
50,0340,020
60,0010,110
7≈ 00,116

Vurgulu satır, bu veri kümesinde görülmemiş hatası en düşük olan derecedir (5). Sekiz noktaya derece 7 polinomu tam oturur: eğitim hatası sıfıra iner, ama bu kuralı değil örnekleri öğrenmesindendir. Hata, ortalama karesel hata olarak hesaplanır.

Sekiz nokta, bir sinüs eğrisine eklenmiş sabit gürültüyle uydurulmuştur. Polinom uydurma ve her iki hata tarayıcıda gerçekten hesaplanır. Görülmemiş girdilerdeki hata, gürültüsüz gerçek eğriye göre ölçülür. Bu bir sinir ağı değil, aynı fikri gösteren en basit modeldir.

Derece 1 ve 2’de eğri verideki dalgayı yakalayamıyor: iki hata da yüksek. Bu yetersiz öğrenmedir. Derece 3–5 arasında eğri hem noktalara yaklaşıyor hem de gerçek desenin biçimini koruyor: görülmemiş girdilerdeki hata düşüyor. Derece 6 ve 7’de ise eğitim hatası neredeyse sıfıra iniyor, ama görülmemiş hata yeniden yükseliyor. Eğri, gürültünün her dalgalanmasına uydu. Buna aşırı öğrenme (overfitting) denir. “Gürültüsüz gerçek eğriyi göster” kutusunu işaretlersen aradaki farkı gözünle de görürsün.

02Görülmemiş veri nereden gelir?#

Pratikte eldeki veri üçe bölünür:

  • Eğitim kümesi: Parametreleri ayarlamak için kullanılır.
  • Doğrulama kümesi: Model türünü, derecesini, öğrenme oranını gibi seçimleri karşılaştırmak için kullanılır.
  • Test kümesi: En sonda, bir kez, seçilmiş modelin gerçek başarısını ölçmek için kullanılır.

Test kümesine bakarak model seçmeye başlarsan, o küme artık “görülmemiş” sayılmaz: seçimlerin onun üzerinde iyi çıkana kaymış olur ve sonuç iyimser çıkar. Eğitim bilgisinin test kümesine sızmasına veri sızıntısı denir. Basit örnekler: aynı örneğin hem eğitimde hem testte bulunması, veriyi bölmeden önce tüm veriden bir istatistik hesaplamak ya da bir sınav sorusunun internette bulunup modelin eğitim verisine girmesi. Büyük dil modellerinde bu sorunun nasıl ölçülemez hâle geldiğini değerlendirme yazısında göreceksin.

03Aşırı öğrenmeyi azaltmanın yolları#

YöntemFikirDikkat
Daha çok veriGürültüyü ezberlemek zorlaşır; desen baskın çıkarVeri toplamak pahalıdır, yeni veri de yanlı olabilir
Daha basit modelEsnekliği sınırla: daha az parametreÇok basit olursa yetersiz öğrenme gelir
Düzenlileştirme (ör. ağırlık cezası)Büyük ağırlıkları cezalandırarak eğriyi yumuşatCeza gücü bir ayar parametresidir
DropoutEğitimde nöronları rastgele devre dışı bırakÇıkarımda kapatılır; eğitimi yavaşlatabilir
Erken durdurmaDoğrulama hatası yükselmeye başlayınca eğitimi bırakDoğrulama kümesine bağımlıdır

Dropout, 2012’de ImageNet’i kazanan AlexNet’te de aşırı öğrenmeyi azaltmak için kullanıldı (tarih yazısına bak). Genelleme üzerine açık bir ders anlatımı için d2l.ai ↗ iyi bir kaynaktır.

04Devasa modellerde hikâye daha karmaşık#

Yukarıdaki sezgi (“çok esnek model ezberler, genelleyemez”) küçük modeller için iyi çalışır, ama modern derin ağlar bunu zorlar:

  • Zhang ve diğerleri, standart görüntü ağlarının rastgele etiketlenmiş veriyi bile eğitimde mükemmel uydurabildiğini gösterdi. Yani bir ağın ezber kapasitesi vardır; yine de gerçek veride iyi genelleyebilir. Kapasite tek başına genellemeyi açıklamıyor. Zhang ve diğerleri ↗
  • Belkin ve diğerleri, modeller eğitim verisini tam uydurduğu noktanın ötesinde büyütüldüğünde görülmemiş hatanın tekrar düşebildiğini (“çift iniş”) gösterdi. Klasik U biçimli eğri, daha geniş bir resmin ilk kısmı. Belkin ve diğerleri ↗
  • Büyük dil modelleri bazı eğitim parçalarını kelimesi kelimesine ezberleyebilir. Carlini ve diğerleri, GPT-2’den sadece sorgulayarak yüzlerce eğitim dizisini çıkardı; bunların bazıları eğitim verisinde yalnızca tek bir belgede geçiyordu. Ortalama kayıp eğitimde ve testte belirgin farklı değildi: ezberlenen şey, en uç örneklerdi. Carlini ve diğerleri ↗

Bu ilkeler, sinir ağlarından dil modellerine kadar her ölçekte geçerli. Şimdi o modellerin yapı taşına bakalım: Sinir ağı aslında nedir?

KENDİNİ SINA

Bu yazıyı bitirdiğinde:

  • Eğitim hatasının neden tek başına kandırıcı olduğunu açıklayabilirsin.
  • Görülmemiş (test) verinin neden ayrı tutulduğunu anlatabilirsin.
  • Aşırı öğrenmeyi azaltmanın en az iki yolunu sayabilirsin.

Cümlelerden birini kendi sözlerinle anlatamıyorsan, ilgili bölüme dön ve demoyu yeniden dene.

İlerleme yalnızca bu tarayıcıda saklanır.
BAĞLANTILI KAVRAMLAR

Bir fikri diğerine bağla.

Rotanı gör: sıradaki adım ne? Bütün dersler