Makine öğretmesi simülasyonunu doğrulama

Eğitim altyapısı, makine öğrenimini beyinler için yapılandıran Bonsai pekiştirerek öğrenme (RL) kullanır. Simülasyonlar, verilerle pekiştirme öğrenmesi ve itertif eğitim için etkileşimli bir ortamı destekler. Ancak tüm simülasyonlar Makine öğretmesi ile uyumlu değildir. Simülasyonun hazır olduğunu doğrulamak, ile bir beyni başarıyla eğitme açısından kritik öneme Bonsai sahip.

Önemli

Aşağıdaki adımlar simülasyon doğrulaması için temel ve en iyi yöntemleri temsil ediyor. Sonuç olarak, kapsamlı, etki alanıyla ilgili bir doğrulama süreci geliştirmek için duruma özgü denemeler ve gerçek dünya verileriyle karşılaştırmalar gerekir. Herhangi bir doğrulama planının amacı, sanal ortamınız ile beyninizin dağıtılacağı gerçek ortam arasındaki kritik boşlukları belirlemek ve ele etmektir.

Başlamadan önce

  • Benzetimle program aracılığıyla etkileşim kuraya sahip olduğundan emin olun. Tercihe göre programlama dilini kullanabilirsiniz.
  • Benzetim Bonsai platformunu (veya dili) desteklediğini emin olun.

1. Adım: Adımlama işlevinizi doğrulama

Pekiştirici öğrenmeyi desteklemek için simülatörün, bilgi değişikliklerine yanıt vermesi gerekir. Bu değişiklikleri işlemek için simülasyonun bir adımlama işlevi içermesi gerekir. Adımlama işlevi giriş (eylem) değişkenlerini kabul eder ve terminal koşulu oluşmadıkça çıkış (durum) değerlerini döndürür.

  • Giriş değişkenleri, bir önceki yineleme sırasında Bonsai beyin tarafından yapılan eylemleri Bonsai eder.
  • Çıkış değişkenleri, beyinin geçerli yineleme sırasında kullanabileceği sonuç bilgilerini sağlar.

Örneğin, sıcak havayı kontrol eden bir apiary HVAC simülasyonu düşünün. Açık menfezlerin sayısı ve konumu, giriş değişkenleridir. Apiary'nin iç sıcaklığı çıkış durumu olur. Simülasyon, makine öğretmesi ile çalışmak için açık menfezlerin konumunda ve sayısında yinelemeli değişikliklere izin vermeli ve her yinelemede yeni sıcaklığı iade etmek zorunda.

Adımlama işlevinizi doğrulamak için:

  1. Beklenen giriş denetimi eylemleri kümesiyle eş olduğunu veya bu eylemin bir üst kümesi olduğunu onaylayın. Bu, beyninizin eğiteceği eylem kümesidir.
  2. Adımlama işlevinizin belirlenmci olduğunu onaylayın. Başka bir deyişle, tüm olası girişler karşılık gelen bir çıkış durumuna veya terminal koşuluna sahip olur.
  3. Çıkış durumu bilgisinin doğru birimleri kullandığını onaylayın. Örneğin, beyin Santigrat derecesinde sıcaklık bekliyorsa benzetiminizin Celvins'te sıcaklık bilgisi göndermeyişini onaylayın.

2. Adım: Terminal koşullarınızı ve reset işlevinizi doğrulama

Tekrarlı simülasyonun önemli bir kısmı, işlemi ne zaman durduracak ve sıfırlamayacaklarını bilmektir. Terminal koşulları, beyin kurtarmanın artık mümkün olmadığı bir noktaya ulaştığında simülasyonu bilgisine sahip olur. Örneğin, bir apiary içindeki sıcaklık, arıların yok olduğu bir noktaya ulaştı.

Bir terminal koşulu oluştuğunda, sıfırlama işleviniz simülasyonu ortamınızı beklenen başlangıç durumuna geri ayarlamalıdır, böylece beyin yeniden deneyebilir.

Terminal koşullarınızı doğrulamak ve işlevi sıfırlamak için:

  1. Benzetim çıkışının bir parçası olarak terminal koşullarının gerçekten ortaya çıkabilir olduğunu onaylayın. Örneğin, apiary benzetiminiz soğuk bir ortamda ayarlanırsa ve benzetim yalnızca sıcaklık donma derecesini altına düştüğünde sonlandırılırsa, hiçbir zaman sonlandırılmaz.
  2. Sıfırlama işlevinizin platform tarafından çağrılmalarını sunun kullanıcılara açık olduğunu Bonsai onaylayın.
  3. Uç durumlarını doğru işleyecenizi onaylayın. Örneğin, bir yinelemede sıcaklıkların 1 dereceden fazla değişmesi mümkünse, eşitlik yerine kesme değerinden büyük değerleri kontrol edin.

3. Adım: Yapılandırma değişkenlerinizi doğrulama

Simülatör, beyninizin çeşitli senaryolara göre eğitilemesi Bonsai için ortam değişkenlerini başlatmayı desteklemeli. Örneğin, apiary HVAC benzetimi herhangi bir makul başlangıç sıcaklığını desteklemeli.

Yapılandırma değişkenlerinizi doğrulamak için:

  1. Kullanılabilir yapılandırma değişkenleri kümesi tüm ilgili başlangıç durumu bilgilerini kapsar.
  2. Yapılandırma değişkenlerinin sıfırlama işleviniz tarafından ayarlana olduğunu onaylayın.
  3. Simülasyon ve beyin eşleşmesi arasındaki birimleri onaylayın veya uygun şekilde dönüştürüldü.

4. Adım: Temel test protokolü tasarlama

Temel test protokolü basit (temel) bir olay belirler ve simülasyon adımlarınızı bu durum için önceden tanımlanmış sayıda yineleme döngüsünde çalıştırır. Simülatörün beklendiği gibi olduğunu onaylamak üzere daha yakın analiz için oluşturulan çıkış verilerini kullanın.

Temel test protokolü iki ölçüme bağlıdır:

  • Denetim sıklığı (CF): Genellikle Hertz 'de (Derece) not alan, ölçüm başına olay ölçümü olarak simülasyon ortamını kontrol etmek için beyinin ne sıklıkta eyleme geçmektedir? Denetim penceresi ölçümü, eğitilen beyni değerlendirirken ve gerçek dünya ortamını denetlemeye ilişkin eyleme geçerek kullanmayı beklediğiniz gerçek dünya ölçüsüne (zaman, mesafe) yansıtmalıdır.
  • Benzetim süresi (ST): İstenen denetim penceresinin benzetimini yapmak için gereken gerçek dünya saati süresi. Verilen yineleme için ST, simülasyonun karmaşıklığına bağlı olarak değişir.

Uygun bir denetim sıklığını belirlemek için, beyinnizin denetim ölçüm sürenizin anlamlı bir ünitesinde işlemesi gereken denetim olaylarının sayısını hesap olun. Zaman tabanlı denetim sistemleri genellikle saniye başına olay sayısı olarak CF hesaplarken mesafe tabanlı denetim sistemleri genellikle ölçüm başına olaylarda CF hesaplar.

Örneğin, apiary HVAC beyninizin apiary durumunu değerlendirmesini ve dağıtıldığında her 100 m'de bir eyleme geçerek bunu yapmak istediğinizi varsayalım. Üretim ortamınızı etkili bir şekilde taklit etmek için, her eğitim yinelemesi yineleme başına bir denetim eylemiyle 100 m'lik bir pencerenin benzetimini yapmak gerekir.

Her 100 ms'de 1 olay → 1olay 100 ms

Saniye başına 1000 ms → (1olay 100 ms) × (1000 ms1 saniye ) → hedef sıklık, saniye başına 10 denetim olayıdır

Tanımına göre:

1 Saniye = saniye başına 1 olay

Bu nedenle benzetiminizin ortamı uygun şekilde çoğaltarak doğrulamanız için temel test protokolünün 10Hz denetim sıklığı kullanması gerekir.

Not

Denetim sıklığınızı tanımlamak tipik bir durumdur ancak gerekli değildir. Sonuç olarak, belirli bir ölçüm için kaç denetim olaylarını istediğinizi belirlemeniz gerekir. Denetim olaylarının ne sıklıkta olacağını biliyor olduktan sonra test değişkenlerinin geri kalanını da tespit edersiniz.

Denetim sıklığını hesapladıktan sonra, simülasyonun özelliklerine uyarlayabilirsiniz genel bir temel protokol tasarlamak için aşağıdaki adımları kullanabilirsiniz:

  1. Tipik bir günlük dosyası oluşturmak için simülasyonu varsayılan yapılandırmayla çalıştırın.
  2. CF'nize ve günlük dosyanıza bağlı olarak, eğitim bölümleri için izin vermek istediğiniz yineleme sayısı üst sayısını belirler.
  3. Testin her yinelemesi için aşağıdaki bilgileri hesaplaya ve günlüğe kaydettirebilirsiniz:
    1. Simülatör tarafından sağlanan tüm çıkış durumları.
    2. Simülasyon tarafından elde edilen gerçek CF değeri.
    3. Yineleme için ST değeri.
  4. Basit bir yapılandırma (test) senaryosunu tanımlamak için günlük dosyanıza ilişkin girişler ve çıkışlar arasındaki ilişkiyi analiz etme.
  5. En az bir sabit test senaryosu tanımlayın. Uygun bir başlangıç yapılandırması seçin ve test senaryosunun her yinelemesi için beklenen denetim eylemlerini (ilke yanıtları) belirleme.
  6. En az bir rastgele test senaryosu tanımlayın. Rastgele bir başlangıç yapılandırması için, test senaryosunun her yinelemesi için kullanılabilir denetim eylemlerinden birini rastgele seçen test kodu yazın.
  7. Adımlama işlevini her yineleme için istenen girişle (sabit veya rastgele) çağıracak ve bir terminal koşuluna veya daha önce tespit edilen en fazla yineleme sayısına ulaşana kadar işlemi tekrarlamak için test kodu yazın.

5. Adım: Temel test protokolü çalıştırma

Benzetim doğrulaması, bir iterative işlemdir. Test protokolünü farklı başlangıç yapılandırmaları ile birden çok kez çalıştırmayı ve benzetimde ayarlamalar yapmak için protokolü yeniden çalıştırmayı beklemeniz gerekir.

İpucu

En iyi sonuçları elde etmek için sabit ve rastgele ilkeleriniz için tanımlanmış birden çok yapılandırmanız olmalıdır.

Her test çalıştırması için:

  1. Simülatörü test senaryonun başlangıç durumuyla ayarlayın.
  2. Simülasyonu sabit test senaryosu için farklı girişlerle çalıştırın.
  3. Rastgele test senaryosunda simülasyonu farklı girişlerle çalıştırın.
  4. Sıfırlamanın gerçekleşmesi için simülasyonu çok sayıda yineleme için çalıştırın.
  5. Simülasyonu çalıştırın ve rastgele bir noktada sıfırlamaya zorlayın.
  6. Simülasyonu sıfırlamayı başlatan bir başlangıç yapılandırmasıyla çalıştırın.

6. Adım: Test sonuçlarınızı analiz etme

Simülasyon testinin sonuçlarını analiz etmek için doğru bir yol yoktur. Bazı en iyi yöntemler aşağıda not alınmıştır, ancak simülasyonun davranışını değerlendirmek için yaratıcılığınıza ve konu uzmanlığınıza da güvenmeniz gerekir. Sonuçlarınızı girişler ve çıkışlar olarak çizerek simülatör davranışını analiz etmek ve sonuçları başkalarına ileterek daha kolay sonuç elde etmek mümkün olabilir.

Güvenilirliği değerlendirme

Simülasyonun güvenilirliği, temel protokolinizdeki giriş çıkış (eylem-durum) ilişkisine doğrudan ilişki kurar. Aynı senaryonun sabit bir denetim ilkesiyle çalıştırılması ve rastgele bir denetim ilkesi, güvenilirliği daha kolay hale getirir:

  • Sabit ilke iyi anlaşılmış bir sonuca neden olmalıdır.
  • Rastgele ilke benzeticide beklenmeyen koşullar oluşturur.

Düzeltilen ilke, rastgele ilke, benzetimin yavaş, takılmış veya diğer sorunları tespit ettiği uç durumları belirlemesine yardımcı olsa da iyi bir davranışı doğrulamanıza yardımcı olur.

Örneğin, apıary 'deki HVAC benzetiminde, bir Vent 'i açmak apıary 'deki 'teki sıcaklığın düşürülmesine sahip olmalıdır. Bunun yerine sıcaklığın olması durumunda simülasyonu 'nin Buggy olduğunu gösterir.

Esnekliği değerlendirin

Simülasyonun esnekliği, değişken yapılandırmaların ne kadar iyi işlediğini doğrudan ilgilidir. Sabit ve rastgele denetim ilkeleriniz için günlükleri gözden geçirin. Başlangıç yapılandırmalarının her biri için, sanal ortamdaki ilgili değişikliklerin anlamlı olup olmadığını saptayın.

Örneğin, apıary 'deki 'teki dolaşım ve sayı boyutunun değiştirilmesi, Vents açıldığında sıcaklığın ne kadar hızlı veya yavaş değişmesiyle ilgili bir değişikliğe sahip olmalıdır.

Kurtarmayı değerlendir

Machine öğretimi açısından önemli bir bölüm, gerektiğinde eğitim ortamını sıfırlamanıza olanak tanır. Terminal koşulunun gerçekleştiği tüm yerlerin ve ortam sıfırlamasının test günlüklerinizi denetleyin. Simülatör durumunu, sıfırlama oluştuğunda ortaya çıkan eylemleri ve davranışın bu bağlamda anlamlı olacağını unutmayın.

Önemli

Yanlış pozitif veya yanlış negatif Terminal koşulu fark ederseniz, simülasyonunuz hata olduğunu gösterir.

Örneğin, iç sıcaklık ortamdaki tüm bitkiler tarafından kullanıma hazır ve tamamen silinmediği bir noktaya ulaştığında, apıary 'deki HVAC sıfırlaması oldu mu? Sıfırlamadan başlangıç sıcaklığını anladıktan sonra yeni iç sıcaklık mı oldu?

Benzetimli denetim sıklığını değerlendirin

Beyininizi yazılım olarak yüklemek yerine donanımda dağıtmayı planlıyorsanız, sanal ortamda görmeyi düşündüğünüz gerçek dünya denetim sıklığınızı veya çarpanına eşit olmalıdır. Bu şekilde, adımlamanız, simülasyon CF 'yi beklenen donanım CF ile birlikte tutmak için gereken sayıda döngüye alabilir.

Örneğin, beyinizin donanımında 100 Hz 'e sahip bir CF varsa, simülasyonun her 10 MS de gerçek dünya simülasyonu için girdilere izin vermelidir.

1 Hz = saniyede 1 olay → 100 Hz = 100 olay/saniye

1000 ms/saniye → 1000 ms100 olayları = olay başına 10 MS

1 MS, 2 MS ve 5 MS 'de simülasyon denetimleri de çalışacaktır. Her durumda simülatör, istenen denetim sıklığının elde edilebilmesi için Adımlama işlevine ek olarak döngü gerçekleştirebilir.

Sanal denetim penceresi Gerekli döngüler Sanal CF
1 MS 10 1000 Hz
2ms 5 500 Hz
5 MS 2 200 Hz

Simülasyon süresini değerlendirin

Tüm test çalıştırmaları genelinde tüm yinelemelerin Ortalama ST değerini hesaplayın. Makine öğretimi ve ile güvenilir bir şekilde çalışmak için Bonsai simülasyonun ortalama St 'ı, bir saniyede

Ortalama ST 'niz desteklenen eşiğin üzerindeyse, yavaş bir simülatör olarak değerlendirilir ve eğitim için gerçekçi bir model ile beyininizi sağlayamaz.

Sonraki adımlar

Simülatınızı doğrulandıktan sonra, ile tümleştirmenize başlamak için temel bir Inkling dosyasında yerel olarak çalıştırmayı deneyin Bonsai .