Denemeler

Deneysel çalışmalar projenin başarılı olmasını sağlar. Test edilebilir ve tekrarlanabilir hipotezlerdir. Deneme çalıştırırken amaç, çeşitli model mimarilerini ve özelliklerini değerlendirerek sürekli ve artımlı iyileştirmeler yapmaktır. Deneme yaparken aşağıdakileri yapmak istersiniz:

  • Temel performansı belirleyin. Bir referans metriği oluşturarak başlayın. Referans değer, denemeleri karşılaştırmak için bir ölçüm çubuğu görevi görür.

    Bazı durumlarda ilk temel metriği, mevcut makine öğrenimi harici çözümle sağlayabilirsiniz. Şu anda herhangi bir çözüm yoksa basit bir mimariye ve birkaç özelliğe sahip bir ML modeli oluşturun ve bu modelin metriklerini temel alın.

  • Tek, küçük değişiklikler yapın. Bir defada hiperparametre, mimari veya özellikler üzerinde yalnızca küçük bir değişiklik yapın. Değişiklik modeli iyileştirirse bu modelin metrikleri, gelecekteki denemelerin karşılaştırılacağı yeni referans değer haline gelir.

    Aşağıda tek bir küçük değişiklik yapan deneme örnekleri verilmiştir:

    • X özelliğini dahil edin.
    • ilk gizli katmanda 0,5 ayrılma kullanın.
    • Y özelliğinin günlük dönüşümünü alın.
    • öğrenme hızını 0,001 olarak değiştirebilirim.
  • Denemelerin ilerleme durumunu kaydedin. Çok fazla deneme yapmanız gerekir. Referans değere kıyasla kötü (veya nötr) tahmin kalitesine sahip denemeleri izlemek yine de faydalıdır. Hangi yaklaşımların işe yaramayacağını işaret ederler. İlerleme genellikle doğrusal olmadığından, referans kaliteyi artırma sürecinde ilerlemenize ek olarak işe yaramayan tüm yolları vurgulayarak sorun üzerinde çalıştığınızı göstermeniz önemlidir.

Gerçek dünya veri kümesiyle ilgili her tam eğitim saatler (veya günler) sürebileceğinden, alanı hızla keşfetmek için aynı anda birden fazla bağımsız deneme çalıştırabilirsiniz. İlerlemeye devam ettikçe prodüksiyon için ihtiyaç duyduğunuz kalite seviyesine daha da yaklaşacağınızı umuyoruz.

Deneme sonuçlarında gürültü var

Deneme sonuçlarında, modelde veya verilerde yapılan değişikliklerden kaynaklanmayan gürültüyle karşılaşabilirsiniz. Bu durum, yaptığınız bir değişikliğin modeli gerçekten iyileştirip iyileştirmediğini belirlemeyi zorlaştırabilir. Aşağıda, deneysel sonuçlarda gürültüye neden olabilecek şeylere ilişkin bazı örnekler verilmiştir:

  • Veri karıştırma: Verilerin modele sunulma sırası modelin performansını etkileyebilir.

  • Değişken başlatma: Modelin değişkenlerinin başlatılma yöntemi de performansını etkileyebilir.

  • Eşzamansız paralellik: Model eşzamansız paralellik kullanılarak eğitilirse modelin farklı parçalarının güncellenme sırası, performansı da etkileyebilir.

  • Küçük değerlendirme grupları: Değerlendirme grubu çok küçükse bu küme, modelin kalitesinde eşit olmayan farklılıklara yol açarak modelin genel performansını temsil etmeyebilir.

Bir denemeyi birden çok kez çalıştırmak, deneme sonuçlarının onaylanmasına yardımcı olur.

Deneme uygulamalarını uyumlu hale getirme

Ekibiniz, tanımlanmış bir dizi uygulama ve yapıyla "denemenin" tam olarak ne olduğunu net bir şekilde anlayabilmelidir. Aşağıdakileri özetleyen belgeler isteyebilirsiniz:

  • Yapılar. Bir deneyde kullanılan yapılar nelerdir? Çoğu durumda deneme, genellikle denemeler arasındaki değişiklikleri ve bunların model kalitesini nasıl etkilediğini gösteren meta verilerin (özellikler ve hiperparametreler gibi) günlüğe kaydedilmesi yoluyla yeniden oluşturulabilen test edilmiş bir hipotezdir.

  • Kodlama uygulamaları. Herkes kendi deneysel ortamlarını mı kullanacak? Herkesin çalışmalarını paylaşılan kitaplıklarda birleştirmek ne kadar mümkün (veya kolay) olacak?

  • Yeniden oluşturulabilirlik ve izleme. Çoğaltılabilirlik standartları nedir? Örneğin, ekip aynı veri ardışık düzeni ve sürüm oluşturma uygulamalarını mı kullanmalı, yoksa yalnızca grafikler gösterebilir mi? Deneysel veriler SQL sorguları olarak mı yoksa model anlık görüntüleri olarak nasıl kaydedilir? Her bir denemeye ait günlükler nerede belgelenir: denemeleri yönetmek için bir doküman, e-tablo veya İYS'de mi?

Yanlış tahminler

Hiçbir gerçek model mükemmel değildir. Sisteminiz yanlış tahminleri nasıl ele alır? Bunlarla nasıl başa çıkacağınızı önceden düşünmeye başlayın.

En iyi uygulamalar stratejisi, kullanıcıları yanlış tahminleri doğru şekilde etiketlemeye teşvik eder. Örneğin posta uygulamaları, yanlış sınıflandırılan e-postaları, kullanıcıların spam klasörüne taşıdıkları veya spam klasörüne taşınan postaları günlüğe kaydederek yakalar. Kullanıcıların kesin referans etiketlerini alarak veri toplama ve model yeniden eğitimi için otomatik geri bildirim döngüleri tasarlayabilirsiniz.

Kullanıcı arayüzüne yerleştirilmiş anketler kullanıcı geri bildirimlerini toplasa da verilerin genellikle nitel olduğunu ve yeniden eğitim verilerine dahil edilemeyeceğini unutmayın.

Uçtan uca çözüm uygulamak

Ekibiniz model üzerinde denemeler yaparken nihai ardışık düzenin parçalarını oluşturmaya başlamak iyi bir fikirdir (kaynaklar varsa).

Ardışık düzenin farklı parçalarının (ör. veri girişi ve model yeniden eğitimi) oluşturulması nihai modelin üretime taşınmasını kolaylaştırır. Örneğin, verileri almak ve tahminler sunmak için uçtan uca bir ardışık düzen oluşturmak, ekibin modeli ürüne entegre etmesine ve erken aşamadaki kullanıcı testleri yapmaya başlamasına yardımcı olabilir.

Duran projelerle ilgili sorunları giderme

Projede ilerlemenin durduğu senaryolarla karşılaşabilirsiniz. Belki de ekibiniz gelecek vadeden bir deneme üzerinde çalışıyor ama haftalardır modeli iyileştirmekte başarısız olmuş olabilir. Bu durumda ne yapmanız gerekir? Aşağıda, uygulayabileceğiniz yaklaşımlardan bazıları verilmiştir:

  • Stratejik. Sorunu başka bir açıdan ele almanız gerekebilir. Deneme aşamasında zaman geçirdikten sonra sorunu, verileri ve olası çözümleri muhtemelen daha iyi anlarsınız. Alanla ilgili daha ayrıntılı bilgiye sahip olduğunuzda sorunu daha net bir şekilde belirleyebilirsiniz.

    Örneğin, başlangıçta sayısal bir değeri tahmin etmek için doğrusal regresyon kullanmak istemiş olabilirsiniz. Maalesef veriler, uygulanabilir bir doğrusal regresyon modeli eğitmek için yeterli değildi. Belki daha ayrıntılı analiz, bir örneğin belirli bir değerin üstünde mi yoksa altında mı olduğunu tahmin ederek sorunun çözülebileceğini ortaya çıkarır. Böylece, problemi ikili sınıflandırma olarak yeniden tanımlayabilirsiniz.

    İlerleme, beklenenden yavaşsa pes etmeyin. Zaman içinde artımlı iyileştirmeler bu sorunu çözmenin tek yolu olabilir. Daha önce belirttiğimiz gibi, haftadan haftaya aynı miktarda ilerleme beklenmeyin. Çoğu zaman, bir modelin üretime hazır bir sürümünü edinmek önemli ölçüde zaman gerektirir. Model iyileştirmesi düzensiz ve öngörülemez olabilir. Yavaş ilerleyen dönemleri iyileşmedeki ani artışlar veya tam tersi olabilir.

  • Teknik. Yanlış tahminleri teşhis edip analiz etmek için zaman ayırın. Bazı durumlarda, birkaç yanlış tahmini izole ederek ve modelin bu örneklerdeki davranışını teşhis ederek sorunu bulabilirsiniz. Örneğin, mimari veya verilerle ilgili sorunları ortaya çıkarabilirsiniz. Diğer durumlarda da daha fazla veri elde etmek işe yarayabilir. Doğru yolda olduğunuzu gösteren daha net bir sinyal alabilirsiniz veya daha fazla ses üreterek yaklaşımda başka sorunlar olduğunu gösterebilirsiniz.

    İnsan etiketli veri kümeleri gerektiren bir sorun üzerinde çalışıyorsanız model değerlendirmesi için etiketli veri kümesi edinmek zor olabilir. Değerlendirme için ihtiyaç duyacağınız veri kümelerini almanızı sağlayacak kaynakları bulun.

Belki de bunun çözümü mümkün değildir. Yaklaşımınızı zaman sınırlamasına tabi tutun. Söz konusu zaman aralığında ilerleme kaydedemezseniz durun. Ancak güçlü bir sorun beyanınız varsa muhtemelen buna bir çözüm bulmanız gerekir.