Denemeler

Denemeler, projenin uygulanabilirliğini artırır. Bunlar test edilebilir ve yeniden üretilebilir hipotezlerdir. Deneme yaparken amaç, çeşitli model mimarilerini ve özelliklerini değerlendirerek sürekli ve artımlı iyileştirmeler yapmaktır. Deneme yaparken aşağıdakileri yapmanız gerekir:

  • Referans performansı belirleyin. 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, mevcut makine öğrenimi dışı çözüm ilk temel metriği sağlayabilir. Şu anda mevcut bir çözüm yoksa basit bir mimariye ve birkaç özelliğe sahip bir makine öğrenimi modeli oluşturun ve bu modelin metriklerini referans olarak kullanın.

  • Tek ve küçük değişiklikler yapın. Tek seferde yalnızca tek bir küçük değişiklik yapın (ör. hiper parametreler, mimari veya özellikler). Değişiklik modeli iyileştirirse söz konusu modelin metrikleri, gelecekteki denemelerle karşılaştırılacak yeni referans olur.

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

    • X özelliğini içerir.
    • İlk gizli katmanda 0,5 bırakma oranı kullanın.
    • Y özelliğinin doğal logaritma dönüşümünü alır.
    • öğrenme hızını 0,001 olarak değiştirin.
  • Denemelerin ilerleme durumunu kaydedin. Büyük olasılıkla çok sayıda deneme yapmanız gerekir. Referans değere kıyasla düşük (veya nötr) tahmin kalitesine sahip denemeler izlemek için yine de yararlıdır. Hangi yaklaşımların işe yaramayacağını gösterirler. İlerleme genellikle doğrusal olmadığından, temel kaliteyi artırma konusundaki ilerlemenizin yanı sıra işe yaramadığını tespit ettiğiniz tüm yöntemleri vurgulayarak sorun üzerinde çalıştığınızı göstermeniz önemlidir.

Gerçek dünyadaki bir veri kümesinde her tam eğitim saatler (veya günler) sürebileceğinden, alanı hızlıca keşfetmek için aynı anda birden fazla bağımsız deneme çalıştırabilirsiniz. İterasyona devam ettikçe, üretim için ihtiyaç duyacağınız kalite seviyesine yaklaşırsınız.

Deneysel sonuçlarda gürültü

Deneme sonuçlarında, modelde veya verilerde yapılan değişikliklerden kaynaklanmayan ve yaptığınız bir değişikliğin modeli gerçekten iyileştirip iyileştirmediğini belirlemeyi zorlaştıran gürültülerle karşılaşabileceğinizi unutmayın. Aşağıda, deneysel sonuçlarda gürültü oluşturabilecek durumlara örnekler verilmiştir:

  • Verilerin karıştırılması: Verilerin modele sunulma sırası, modelin performansını etkileyebilir.

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

  • Asenkron paralellik: Model, asenkron paralellik kullanılarak eğitildiyse modelin farklı bölümlerinin güncellenme sırası da performansını etkileyebilir.

  • Küçük değerlendirme grupları: Değerlendirme grubu çok küçükse modelin genel performansını temsil etmeyebilir ve modelin kalitesinde eşit olmayan varyasyonlar oluşabilir.

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

Deneme uygulamaları konusunda uyumlu olun

Ekibiniz, "deneme"nin tam olarak ne olduğunu net bir şekilde anlamalı ve belirli bir uygulama ve yapı grubuna sahip olmalıdır. Aşağıdakileri özetleyen dokümanlar sağlamanız gerekir:

  • Yapılar. Bir denemenin yapıları nedir? Çoğu durumda deneme, genellikle denemeler arasındaki değişiklikleri ve bunların model kalitesini nasıl etkilediğini gösteren meta verileri (özellikler ve hiper parametreler gibi) günlüğe kaydederek yeniden üretilebilecek test edilmiş bir hipotezdir.

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

  • Yinelenebilirlik ve izleme. Yinelenebilirlik standartları nelerdir? Örneğin, ekibin aynı veri ardışık düzenini ve sürüm oluşturma uygulamalarını kullanması gerekir mi yoksa yalnızca grafiklerin gösterilmesi uygun mu? Deneysel veriler nasıl kaydedilecek: SQL sorgusu olarak mı yoksa model anlık görüntüleri olarak mı? Her denemeden gelen günlükler nerede belgelenecek: dokümanda, e-tabloda veya denemeleri yönetmek için bir içerik yönetim sisteminde mi?

Yanlış tahminler

Gerçek hayattan hiçbir model mükemmel değildir. Sisteminiz yanlış tahminleri nasıl ele alacak? Bu sorunlarla nasıl başa çıkacağınızı erkenden 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ı, kullanıcıların spam klasörüne taşıdıkları e-postaları ve bunun tam tersini günlüğe kaydederek yanlış sınıflandırılmış e-postaları yakalar. Kullanıcılardan kesin referans etiketleri toplayarak 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 yakalasa da verilerin genellikle niteliksel olduğunu ve yeniden eğitim verilerine dahil edilemeyeceğini unutmayın.

Uçtan uca bir çözüm uygulama

Ekibiniz model üzerinde deneme yaparken nihai ardışık düzenin bazı bölümlerini oluşturmaya başlamak iyi bir fikirdir (bunu yapacak kaynaklara sahipseniz).

Veri girişi ve modelin yeniden eğitilmesi gibi ardışık düzenin farklı parçalarını oluşturmak, nihai modeli üretime taşımayı kolaylaştırır. Örneğin, verileri beslemek ve tahminleri sunmak için uçtan uca bir ardışık düzen elde etmek, ekibin modeli ürüne entegre etmeye ve erken aşamada kullanıcı testi yapmaya başlamasına yardımcı olabilir.

Durdurulan projelerle ilgili sorunları giderme

Projenin ilerlemesinin durduğu senaryolarla karşılaşabilirsiniz. Ekibiniz, umut verici bir deneme üzerinde çalışıyor olabilir ancak modelin iyileştirilmesi konusunda haftalardır başarılı olamamaktadır. Bu durumda ne yapmanız gerekir? Aşağıda, olası bazı yaklaşımlar belirtilmiştir:

  • Stratejik. Sorunu yeniden çerçevelendirmeniz gerekebilir. Deneme aşamasında zaman geçirdikten sonra sorunu, verileri ve olası çözümleri daha iyi anlamış olabilirsiniz. Alan hakkında daha fazla bilgi sahibi olarak sorunu daha net bir şekilde tanımlayabilirsiniz.

    Örneğin, başlangıçta bir sayısal değeri tahmin etmek için doğrusal regresyon kullanmak isteyebilirsiniz. Maalesef veriler, uygulanabilir bir doğrusal regresyon modeli eğitmek için yeterince iyi değildi. Daha ayrıntılı bir analiz, sorunun bir örneğin belirli bir değerin üzerinde mi yoksa altında mı olduğunu tahmin ederek çözülebileceğini gösterebilir. Bu sayede sorunu ikili sınıflandırma problemi olarak yeniden çerçevelendirebilirsiniz.

    İlerleme beklenenden yavaşsa pes etmeyin. Sorunu çözmenin tek yolu zaman içinde kademeli iyileştirmeler yapmak olabilir. Daha önce de belirtildiği gibi, haftadan haftaya aynı miktarda ilerleme elde edemeyeceğinizi unutmayın. Bir modelin üretime hazır sürümünü elde etmek genellikle çok zaman alır. Model iyileştirmesi düzensiz ve öngörülemez olabilir. Yavaş ilerleme dönemlerinin ardından ani iyileştirmeler görülebilir veya bunun tam tersi de olabilir.

  • Teknik. Yanlış tahminleri teşhis edip analiz etmek için zaman harcamayın. Bazı durumlarda, birkaç yanlış tahmini ayırıp bu örneklerde modelin davranışını teşhis ederek sorunu bulabilirsiniz. Örneğin, mimari veya verilerle ilgili sorunları tespit edebilirsiniz. Diğer durumlarda ise daha fazla veri elde etmek yardımcı olabilir. Doğru yolda olduğunuzu gösteren daha net bir sinyal alabilirsiniz veya yaklaşımda başka sorunlar olduğunu gösteren daha fazla gürültü oluşabilir.

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

Çözüm olmayabilir. Yaklaşımınızı zamana göre planlayın ve zaman aralığı içinde ilerleme kaydedemezseniz durdurun. Ancak güçlü bir sorun beyanınız varsa muhtemelen bir çözüme ihtiyaç vardır.

Öğrendiklerinizi test etme

Bir ekip üyesi, temel model metriğini iyileştiren bir hiper parametre kombinasyonu buldu. Ekibin diğer üyeleri ne yapmalı?
Belki bir hiper parametre ekleyin ancak denemelerinize devam edin.
Doğru. Hiperparametrelerinden biri makul bir seçim gibi görünüyorsa deneyin. Ancak tüm hiper parametre seçimleri her deneme bağlamında anlamlı olmayabilir.
Mevcut denemelerindeki tüm hiper parametreleri, iş arkadaşlarınınkilerle eşleşecek şekilde değiştirir.
Bir modeli iyileştiren hiperparametrelerin farklı bir modeli de iyileştirdiği anlamına gelmez. Diğer ekip üyeleri de denemelerine devam etmelidir. Bu sayede, temel değer daha da iyileştirilebilir.
Modeli uygulamak için kullanılacak uçtan uca bir ardışık düzen oluşturmaya başlayın.
Referans değeri iyileştiren bir modelin, nihayetinde üretimde kullanılacağı anlamına gelmez. Denemelerine devam etmeleri gerekiyor. Bu sayede, temel değer daha da iyileştirilebilir.