Sinir ağının veriyi nasıl ayırdığını görmek için TensorFlow Playground'da önce bir veri kümesi seçin, ardından özellikleri, gizli katmanları ve öğrenme ayarlarını tek tek değiştirip eğitimi yeniden çalıştırın. Karar sınırının nasıl oluştuğunu, eğitim ve test kaybının nasıl değiştiğini karşılaştırarak modelin ne öğrendiğini ve ne zaman aşırı uyum yaptığını gözlemleyebilirsiniz. TensorFlow Playground, özellikle hiperparametrelerin sinir ağı eğitimini nasıl etkilediğini görselleştirmek için kullanılır.
TensorFlow Playground, gerçek bir uygulamayı üretime almak için değil, küçük veri kümelerinde sinir ağının çalışma mantığını incelemek için uygundur. Eğitim verileri modelin ağırlıklarını günceller; test verileri ise modelin daha önce görmediği örneklerde nasıl davrandığını anlamaya yardım eder.
Ekrandaki noktalar veri örneklerini, renkler sınıfları, çizgiler ise bağlantı ağırlıklarını temsil eder. Bir bağlantının rengi ve yoğunluğu, modelin ilgili özelliği kararında ne kadar kullandığı hakkında görsel bir ipucu verir. Bu görüntü tek başına nedensellik kanıtlamaz; yalnızca modelin mevcut eğitim sırasında hangi örüntülere yöneldiğini gösterir.
İlk deneyi mümkün olduğunca az değişkenle yapın. Böylece sonucu hangi ayarın değiştirdiğini ayırt edebilirsiniz.
Aşağıdaki karşılaştırma, deneyi planlarken hangi ayarı neden değiştireceğinizi seçmenize yardımcı olur.
Bu ayarların etkisini anlamak için önce spiral veya iç içe sınıflar gibi doğrusal olmayan bir veri kümesine geçin. Basit bir ağ bu örüntüyü ayıramıyorsa gizli katman sayısını veya nöron sayısını kademeli artırın. Karar sınırı eğitim noktalarını çok iyi izlemeye başladığı hâlde test kaybı kötüleşirse ağın kapasitesi veri miktarına göre fazla olabilir.
Varsayımsal olarak önce iki sınıfı düz bir çizgiyle ayırmanın mümkün olduğu veri kümesini seçin. Küçük bir ağla eğitim başlattığınızda karar sınırının kısa sürede yerleşmesi beklenir. Eğitim ve test kayıpları birlikte düşüyorsa ağ, bu basit ayrımı yeterli kapasiteyle öğrenmiştir.
Sonra yalnız veri kümesini iç içe halkalar veya spiral biçimindeki bir örüntüyle değiştirin; diğer ayarları aynı bırakın. Aynı küçük ağ yeterli olmayabilir. Karar sınırı kaba kalır, kayıp yüksek seyredebilir veya bazı bölgelerde sınıfları sürekli karıştırabilir. Bu sonuç, ağın mutlaka hatalı kurulduğunu kanıtlamaz; mevcut mimarinin bu veri biçimini temsil etmekte yetersiz olabileceğini gösterir.
Bu durumda gizli katman veya nöron sayısını birer adım artırıp eğitimi baştan başlatın. Test kaybı da düşüyorsa kapasite artışı yararlı olmuş olabilir. Eğitim kaybı düşmeye devam ederken test kaybı yükseliyorsa yalnızca daha büyük ağ kullanmak çözüm değildir; daha az nöron, düzenlileştirme veya daha uygun özelliklerle yeni bir karşılaştırma yapın.
Düşük eğitim kaybı tek başına başarı değildir. Model eğitim örneklerini ezberleyebilir. Bu nedenle test kaybını ve karar sınırının test noktalarındaki davranışını birlikte değerlendirin; test noktalarını görmek için Show test data seçeneğini açın.
Karar sınırı düzgün görünse bile modelin gerçek dünyada aynı başarıyı göstereceği sonucu çıkarılamaz. Playground küçük ve önceden hazırlanmış veri kümeleriyle çalışır; gerçek projelerde veri kalitesi, sınıf dengesizliği, ölçüm hataları ve veri sızıntısı gibi sorunlar ayrıca incelenmelidir.
Bir deneyi anlamlı biçimde kaydetmek için veri kümesini, açık özellikleri, katman yapısını, öğrenme oranını, düzenlileştirmeyi ve eğitim ile test sonuçlarını not edin. Ardından yalnızca bir ayarı değiştirerek aynı deneyi tekrarlayın. Böylece gözlediğiniz farkı rastlantısal bir eğitim sonucundan ayırmaya daha iyi yaklaşabilirsiniz.
Deneye başlamadan önce bilinmesi gerekenler
TensorFlow Playground, gerçek bir uygulamayı üretime almak için değil, küçük veri kümelerinde sinir ağının çalışma mantığını incelemek için uygundur. Eğitim verileri modelin ağırlıklarını günceller; test verileri ise modelin daha önce görmediği örneklerde nasıl davrandığını anlamaya yardım eder.
Ekrandaki noktalar veri örneklerini, renkler sınıfları, çizgiler ise bağlantı ağırlıklarını temsil eder. Bir bağlantının rengi ve yoğunluğu, modelin ilgili özelliği kararında ne kadar kullandığı hakkında görsel bir ipucu verir. Bu görüntü tek başına nedensellik kanıtlamaz; yalnızca modelin mevcut eğitim sırasında hangi örüntülere yöneldiğini gösterir.
Temel deneyi kurma
İlk deneyi mümkün olduğunca az değişkenle yapın. Böylece sonucu hangi ayarın değiştirdiğini ayırt edebilirsiniz.
- TensorFlow Playground'ı açın. Veri kümelerinin ve ağ yapısının gösterildiği çalışma ekranına geçin. Hesap oluşturmanız veya yerel bir proje kurmanız gerekmez.
- Basit bir veri kümesi seçin. Başlangıç için iki sınıfın doğrusal bir çizgiyle ayrılabildiği veri kümesini tercih edin. Bu seçim, ağın karmaşık bir karar sınırına neden ihtiyaç duymadığını görmenizi sağlar.
- Girdi özelliklerini kontrol edin. Özellikler bölümünde yalnızca temel koordinat özelliklerini açık bırakın. Bir özelliği kapattığınızda modelin karar sınırı değişiyor veya başarı düşüyorsa, modelin bu girdiden yararlandığını anlarsınız.
- Ağı küçük tutun. Bir veya iki gizli katman ve her katmanda az sayıda nöronla başlayın. Küçük ağ, öğrenmenin görsel olarak izlenmesini kolaylaştırır; başlangıçta gereğinden fazla katman eklemek hangi bölümün etkili olduğunu belirsizleştirir.
- Eğitimi başlatın. Çalıştırma düğmesiyle eğitimi ilerletin veya adım adım çalıştırma seçeneğini kullanın. Her adımda karar sınırının, bağlantı ağırlıklarının ve kayıp değerlerinin nasıl değiştiğini gözlemleyin.
- Eğitimi durdurup sonucu karşılaştırın. Eğitim kaybı ile test kaybını birlikte inceleyin. İkisi de azalıyor ve birbirine yakın kalıyorsa modelin örüntüyü genelleme ihtimali artar; yalnızca eğitim kaybı azalıyor, test kaybı yükseliyorsa aşırı uyumdan şüphelenin.
Hangi ayar neyi gösterir?
Aşağıdaki karşılaştırma, deneyi planlarken hangi ayarı neden değiştireceğinizi seçmenize yardımcı olur.
| Değiştirilen ayar | Gözlenen sonuç | Yorum |
|---|---|---|
| Veri kümesi | Karar sınırının şekli ve öğrenme zorluğu değişir | Sorunun doğrusal mı yoksa eğrisel mi olduğunu anlamaya yardım eder |
| Girdi özellikleri | Modelin kullandığı bilgi değişir | Bir özelliğin yararlı, gereksiz veya yanıltıcı olabileceğini gösterir |
| Gizli katman ve nöron sayısı | Modelin ifade gücü artar veya azalır | Karmaşık örüntüler için kapasitenin yeterli olup olmadığını gösterir |
| Öğrenme oranı | Ağırlıkların güncellenme adımı değişir | Çok yüksek değer kararsız, çok düşük değer yavaş öğrenmeye yol açabilir |
| Düzenlileştirme | Modelin karmaşıklığı sınırlanır | Aşırı uyumu azaltabilir; ancak fazla uygulanırsa model yetersiz kalabilir |
Somut bir deney: doğrusal ve doğrusal olmayan örüntü
Varsayımsal olarak önce iki sınıfı düz bir çizgiyle ayırmanın mümkün olduğu veri kümesini seçin. Küçük bir ağla eğitim başlattığınızda karar sınırının kısa sürede yerleşmesi beklenir. Eğitim ve test kayıpları birlikte düşüyorsa ağ, bu basit ayrımı yeterli kapasiteyle öğrenmiştir.
Sonra yalnız veri kümesini iç içe halkalar veya spiral biçimindeki bir örüntüyle değiştirin; diğer ayarları aynı bırakın. Aynı küçük ağ yeterli olmayabilir. Karar sınırı kaba kalır, kayıp yüksek seyredebilir veya bazı bölgelerde sınıfları sürekli karıştırabilir. Bu sonuç, ağın mutlaka hatalı kurulduğunu kanıtlamaz; mevcut mimarinin bu veri biçimini temsil etmekte yetersiz olabileceğini gösterir.
Bu durumda gizli katman veya nöron sayısını birer adım artırıp eğitimi baştan başlatın. Test kaybı da düşüyorsa kapasite artışı yararlı olmuş olabilir. Eğitim kaybı düşmeye devam ederken test kaybı yükseliyorsa yalnızca daha büyük ağ kullanmak çözüm değildir; daha az nöron, düzenlileştirme veya daha uygun özelliklerle yeni bir karşılaştırma yapın.
Sonuçları nasıl yorumlamalı?
Düşük eğitim kaybı tek başına başarı değildir. Model eğitim örneklerini ezberleyebilir. Bu nedenle test kaybını ve karar sınırının test noktalarındaki davranışını birlikte değerlendirin; test noktalarını görmek için Show test data seçeneğini açın.
Karar sınırı düzgün görünse bile modelin gerçek dünyada aynı başarıyı göstereceği sonucu çıkarılamaz. Playground küçük ve önceden hazırlanmış veri kümeleriyle çalışır; gerçek projelerde veri kalitesi, sınıf dengesizliği, ölçüm hataları ve veri sızıntısı gibi sorunlar ayrıca incelenmelidir.
Bir deneyi anlamlı biçimde kaydetmek için veri kümesini, açık özellikleri, katman yapısını, öğrenme oranını, düzenlileştirmeyi ve eğitim ile test sonuçlarını not edin. Ardından yalnızca bir ayarı değiştirerek aynı deneyi tekrarlayın. Böylece gözlediğiniz farkı rastlantısal bir eğitim sonucundan ayırmaya daha iyi yaklaşabilirsiniz.
Son düzenleme: