Makine öğretimi için benzetiminin doğrulanması
Eğitim altyapısı, Bonsai Brains Için makine öğretimi yapılandırmak için pekiştirmeye dayalı Learning (RL) kullanır. Simülasyonları, yinelemeli eğitim için verilerle ve etkileşimli bir ortamla pekiştirmeye dayalı öğrenmeyi destekler. Ancak tüm benzetimler makine öğretimi ile uyumlu değildir. Simülasyonun hazır olduğunu doğrulamak için, bir beyinle Bonsai başarılı bir şekilde eğitim
Önemli
Aşağıdaki adımlarda benzetim doğrulaması için temel ve en iyi yöntemler temsil etmektedir. Son olarak, kapsamlı, etki alanıyla ilgili bir doğrulama süreci geliştirmek, durum özel deneme ve gerçek dünya verilerine karşılaştırmalar gerektirir. Herhangi bir doğrulama planının amacı, sanal ortamınız ile bekribileceğiniz gerçek ortam arasındaki kritik boşlukları tanımlamak ve adreslendirilecektir.
Başlamadan önce
- Simülasyonu ile programlama yoluyla etkileşime girediğinizden emin olun. Seçtiğiniz programlama dilini kullanabilirsiniz.
- ' Nin benzetim platformunu (veya dilini) desteklediğinden emin Bonsai olun.
1. Adım: Adımlama işlevinizi doğrulama
Pekiştirmeye dayalı Learning 'i desteklemek için simülatörün yinelemeli bilgi değişikliklerine yanıt vermesi gerekir. Yinelemeli 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 bir Terminal koşulu gerçekleşmediği takdirde çıkış (durum) değerlerini döndürür.
- Giriş değişkenleri, önceki yineleme sırasında betiğinden alınan Bonsai eylemleri temsil eder.
- Çıktı değişkenleri, beyinin geçerli yineleme sırasında kullanacağı sonuç bilgilerini sağlar.
Örneğin, dolaşım olaylarını düzenleyerek sıcaklığın kontrol eden bir apiöğeli HVAC simülasyonu düşünün. Açık Vents sayısı ve konumu giriş değişkenleridir. Apıary 'deki 'in iç sıcaklığı çıkış durumudur. Makine öğretimi ile çalışmak için benzetim, açık Vents konumunda ve sayısında yinelemeli değişikliklere izin vermelidir ve her yinelemede yeni sıcaklığın döndürülmesini sağlamalıdır.
Adımlama işlevinizi doğrulamak için:
- Beklenen giriş denetimi eylemlerinin bir kümesini veya bir üst kümesidir, beyinlerinizin eğitim alacak eylem kümesini onaylayın.
- Adımlama işlevinizin belirleyici olduğunu onaylayın. Diğer bir deyişle, tüm olası girişlerin karşılık gelen bir çıkış durumu veya Terminal koşulu vardır.
- Çıkış durumu bilgisinin doğru birimleri kullandığını onaylayın. Örneğin, beyinde sıcaklık beklentilerini bekliyorsa, simülasyonun Kelvin içinde sıcaklık bilgisi göndermediğinden emin olun.
2. Adım: Terminal koşullarınızı doğrulama ve işlevi sıfırlama
Yinelemeli benzetim 'nin önemli bir parçası, işlemin ne zaman durdurulacağını ve sıfırlandığını bilmektir. Terminal koşulları,, beyinin, kurtarma 'nın kurtarmanın mümkün olmadığı bir noktaya ulaştığı durumlarda benzetim yapmasına izin verir. Örneğin, bir apıary 'deki içindeki sıcaklık, bej 'nin bulunduğu bir noktaya ulaştı.
Bir Terminal koşulu oluştuğunda, beyninizin yeniden deneyebilmesi için, başlatma işlevinizdeki ortamı simülasyonda beklenen başlangıç durumuna ayarlamanız gerekir.
Terminal koşullarınızı doğrulamak ve işlevi sıfırlamak için:
- Benzetim çıktısının bir parçası olarak, Terminal koşullarınızın gerçekten gerçekleşdiğini doğrulayın. Örneğin, apıary 'deki simülasyonu bir tropikal ortamında ayarlandıysa ve simülasyonu yalnızca sıcaklığın altına düştüğünde sonlandırılırsa, hiçbir zaman sonlandırılmayacaktır.
- Sıfırlama işlevinizin, Bonsai platform tarafından çağrılabilmesi için kullanıcılara açık olduğunu doğrulayın.
- Edge çalışmalarını doğru bir şekilde işlediğinizi doğrulayın. Örneğin, sıcaklıkların yineleme içinde 1 ' den fazla dereceye göre değiştirilmesi mümkün olursa eşitlik yerine kesme değerinden daha büyük değerler olup olmadığını kontrol edin.
3. Adım: yapılandırma değişkenlerinizi doğrulama
Simülatiniz, beyinlerinizin Bonsai çeşitli senaryolara karşı eğitebilmesi için ortam değişkenlerinin başlatılmasını desteklemelidir. Örneğin, bir apıary 'deki HVAC simülasyonu, makul başlangıç sıcaklığını desteklemelidir.
Yapılandırma değişkenlerinizi doğrulamak için:
- Kullanılabilir yapılandırma değişkenlerinin tüm ilgili başlangıç durumu bilgilerini kapsadığından emin olun.
- Yapılandırma değişkenlerinin sıfırlama işleviniz tarafından ayarlandıklarını onaylayın.
- Simülasyonu ve beyineşleşmesi arasındaki birimleri onaylayın veya uygun şekilde dönüştürülüyordu.
4. Adım: temel test protokolü tasarlama
Temel test protokolü basit (temel) bir durum oluşturur ve benzetim adımlarınızı önceden tanımlanmış sayıda yineleme için bir döngüde çalıştırır. Simülatörünü beklenen şekilde davrandığından emin olmak için, daha yakından analiz için oluşturulan çıkış verilerini kullanın.
Temel test protokolleriniz iki ölçüm 'e bağlıdır:
- Denetim sıklığı (CF): beyinin, genellikle Hertz (Hz) olarak belirtilen ölçüm başına olay ölçümü olarak, sanal ortamı denetlemek için harekete geçen işlem. Denetim penceresi ölçümü, eğitilen begiyi değerlendirirken ve gerçek dünya ortamının denetlenmesi için işlem yapmanız gereken gerçek dünyada ölçüyü (saat, uzaklık) yansıtmalıdır.
- Simülasyon süresi (St): istenen denetim penceresinin benzetimini yapmak için gereken gerçek dünya saati süresinin miktarı. Belirli bir yineleme için ST, benzetim karmaşıklığına göre değişir.
Uygun bir denetim sıklığını öğrenmek için, beyinünüzün denetim ölçümünüzün anlamlı bir biriminde işlemesi gereken denetim olayları sayısını hesaplayın. Zaman tabanlı denetim sistemleri, şehirlerarası tabanlı denetim sistemleri genellikle her bir ölçüm için olaylardaki CF hesaplarken, saniyedeki CF olaylarını hesaplar.
Örneğin, apıary 'deki HVAC beyininizi, apıary 'deki 'ın durumunu değerlendirmek ve dağıtıldığında her 100ms için işlem yapmak istediğinizi varsayalım. Üretim ortamınızı etkili bir şekilde taklit etmek için, her eğitim yinelemesinin yineleme başına bir denetim eylemiyle 100 ms bir pencere benzetimi yapması gerekir.
1 olay, her 100 ms → 1 olay / 100 ms
1000 ms/saniye → (1 olay / 100 ms) × (1000 ms / 1 saniye) → hedef sıklığı saniyede 10 denetim olayıdır
Tanımına göre:
1 Hz = 1 olay/saniye
Bu nedenle, benzetiminin ortamı uygun şekilde çoğaltmakta olduğunu doğrulamak için, temel test protokolizin 10 Hz 'in denetim sıklığını kullanmalıdır.
Not
Denetim sıklığınızı tanımlamak Hertz 'dir, ancak gerekli değildir. Sonuç olarak, belirli bir ölçüm için kaç denetim olayı istediğinizi belirlemeniz gerekir. Denetim olaylarınızın ne sıklıkla olacağını öğrendikten sonra, test değişkenlerinin geri kalanını belirleyebilirsiniz.
Denetim sıklığını hesapladıktan sonra, simülasyonınızın özelliklerine uyarlayabileceğiniz bir genel temel protokol tasarlamak için aşağıdaki adımları kullanabilirsiniz:
- Genel bir günlük dosyası oluşturmak için simülasyoninizi varsayılan yapılandırmayla çalıştırın.
- CF ve günlük dosyanız temelinde, eğitim bölümleri için izin vermek istediğiniz en fazla yineleme sayısını saptayın.
- Testin her yinelemesi için aşağıdaki bilgileri hesaplayabilmeniz ve günlüğe oturum açabildiğinizden emin olun:
- Simülatör tarafından belirtilen tüm çıkış durumları.
- Simülasyonu tarafından elde edilen gerçek CF değeri.
- Yineleme için ST değeri.
- Bir basit yapılandırma (test) senaryosunu tanımlamak için günlük dosyanızın girişleri ve çıkışları arasındaki ilişkiyi çözümleyin.
- 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ı) belirleyin.
- 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.
- Her yineleme için istenen giriş (sabit veya rastgele) ile Adımlama işlevini çağırmak için test kodu yazın ve bir Terminal koşuluna veya daha önce belirlediğiniz en fazla yineleme sayısına ulaşıncaya kadar işlemi tekrarlayın.
5. Adım: temel test protokolünü çalıştırma
Simülasyon doğrulaması yinelemeli bir işlemdir. Farklı başlangıç yapılandırmalarında test protokolünü birden çok kez çalıştırmayı ve simülasyonda ayarlamalar yaparken protokolü yeniden çalıştırmayı beklemelisiniz.
İpucu
En iyi sonuçlar için, sabit ve rastgele ilkelerinize yönelik birden fazla yapılandırmaya sahip olmanız gerekir.
Her test çalıştırması için:
- Test senaryonuz için ilk durum simülatörünü ayarlayın.
- Benzetimi, sabit test senaryosu için değişen girişlerle çalıştırın.
- Simülasyonu rastgele test senaryosunda değişen girişlerle çalıştırın.
- Bir sıfırlama gerçekleşebilmesi için simülasyonu çok sayıda yineleme için çalıştırın.
- Simülasyonu çalıştırın ve rastgele bir noktada sıfırlamayı zorlayın.
- Benzetimi, sıfırlamayı zorlayan bir ilk yapılandırmayla çalıştırın.
6. Adım: testinizin sonuçlarını analiz etme
Simülasyon testinin sonuçlarını çözümlemenin doğru bir yolu yoktur. Aşağıda belirtilen bazı en iyi yöntemler aşağıda belirtilmiştir, ancak simülasyonunuzu değerlendirmek için yaratıcıya ve konu uzmanlığınızdan da yararlanmalısınız. Sonuçlarınızı giriş çıkışları olarak çizmek, simülatör davranışını çözümlemeyi ve sonuçları diğer kullanıcılarla iletişim kurmayı kolaylaştırır.
Güvenilirliği değerlendir
Benzetiminizin güvenilirliği, doğrudan temel protokolüzde giriş-çıkış (eylem-durumu) ilişkisiyle ilgilidir. Aynı senaryoyu sabit denetim ilkesi ve rastgele denetim ilkesiyle çalıştırma, güvenilirliğin belirlenmesini kolaylaştırır:
- Sabit ilke iyi anlaşılmış bir sonuçla sonuçlandır.
- Rastgele ilke, simülatörde beklenmeyen koşullar üretir.
Sabit ilke iyi davranışı doğrulamanıza yardımcı olurken, rastgele ilke simülasyonun yavaş olduğu, takılı kaldı veya diğer sorunları tespit etmeye yardımcı olur.
Örneğin, apiary HVAC benzetimsinde bir menfez açmak, apiary'de sıcaklığı düşürmeli. Sıcaklık bunun yerine yükselirse benzetimin buggy olduğunu gösterir.
Esnekliği değerlendirme
Benzetiminizin esnekliği, çeşitli yapılandırmaları ne kadar iyi işleyeli olduğuyla doğrudan ilgilidir. Sabit ve rastgele denetim ilkelerinizin günlüklerini gözden geçirme. Başlangıç yapılandırmalarının her biri için, simülasyon ortamındaki ilgili değişikliklerin anlamlı olup olmadığını belirler.
Örneğin, apiary'de yer alan menfezlerin boyutunu ve sayısını değiştirmek, menfezler açıldığında sıcaklığın ne kadar hızlı veya yavaş değişerek değişerek değişmesi gerektiğini gösterir.
Kurtarmayı değerlendirme
Makine öğretmenin önemli bir parçası, gerektiğinde eğitim ortamını sıfırlamaktır. Terminal koşulu oluştu ve ortam sıfırlandı tüm yerler için test günlüklerinizi kontrol edin. Simülatör durumunu, sıfırlamanın ne zaman meydana geldiğine ve bu bağlamda davranışın anlamlı olup olara geldiğine dikkat olun.
Önemli
Hatalı pozitif veya hatalı negatif bir terminal koşulu fark ediyorsanız simülasyonun hatalı olduğunu gösterir.
Örneğin, iç sıcaklık ortamdaki tüm bitkilerin kuruyacak ve kuruyacak bir noktaya ulaştığı zaman apiary HVAC sıfırlandı mı? Sıfırlama sonrasındaki yeni iç sıcaklık başlangıç sıcaklığı olarak anlamlı mı?
Sanal denetim sıklığını değerlendirme
Beyninizi yazılım olarak yüklemek yerine donanıma dağıtmayı planlıyorsanız, sanal denetim sıklığınız üretimde görmeyi beklediğiniz gerçek dünya denetim sıklığına eşit veya bir faktör olabilir. Bu şekilde adımlamanız, simülasyon CF'lerini beklenen donanım CF'leri ile aynı şekilde tutmak için gereken sayıda döngüye sahip olabilir.
Örneğin, beyninizin donanımının CF değeri 100Hz ise simülasyonun gerçek dünya simülasyonlarının her 10 ms'sinde girişlere izin vermesi gerekir.
1Hz = saniye başına 1 olay → 100 Saniye = saniye başına 100 olay
1000 ms/saniye → 1000ms100 / olay = olay başına 10 ms
1 ms, 2 ms ve 5 ms'de simülasyon denetimleri de çalışır. Her durumda simülatör, istenen denetim sıklığını elde etmek için adımlama işlevinde ek kez döngü gerçekleştirebiliyor.
|Sanal denetim penceresi||Gerekli döngüler||Simüle cf|
|1ms||10||1000 Sona|
|2 sn||5||500Hz|
|5ms||2||200Hz|
Benzetim zamanlarını değerlendirme
Tüm test çalıştırmaları genelinde tüm yinelemeler için ortalama ST değerini hesap. Makine öğretmesi ve ile güvenilir bir şekilde çalışmak Bonsaiiçin benzetim için ortalama ST'nin 20 ≤ gerekir.
Ortalama ST'niz desteklenen eşiğin üzerinde ise yavaş bir simülatör olarak kabul edilir ve beyninize eğitim için gerçekçi bir model sağamaz.
Sonraki adımlar
Simülatörünü doğrulandıktan sonra, ile tümleştirmeye başlamak için bunu temel bir Inkling dosyasında yerel olarak çalıştırmayı deneyin Bonsai.