Pekiştirmeli Öğrenim

Takviyeli öğrenme kullanılarak eğitilen ve TensorFlow Lite ile konuşlandırılan bir temsilciye karşı masa oyunu oynayın.

Başlamak

TensorFlow Lite'ta yeniyseniz ve Android ile çalışıyorsanız, başlamanıza yardımcı olabilecek aşağıdaki örnek uygulamayı incelemenizi öneririz.

Android örneği

Android dışında bir platform kullanıyorsanız veya TensorFlow Lite API'lerine zaten aşina iseniz eğitimli modelimizi indirebilirsiniz.

Modeli indir

Nasıl çalışır

Model, bir oyun temsilcisinin 'Plane Strike' adlı küçük bir masa oyununu oynaması için tasarlandı. Bu oyuna ve kurallarına hızlı bir giriş için lütfen bu README dosyasına bakın.

Uygulamanın kullanıcı arayüzünün altında, insan oyuncuya karşı oynayan bir ajan oluşturduk. Aracı, tahta durumunu girdi olarak alan ve 64 olası tahta hücresinin her biri için tahmin edilen puanı çıkaran 3 katmanlı bir MLP'dir. Model, politika gradyanı (REINFORCE) kullanılarak eğitilir ve eğitim kodunu burada bulabilirsiniz. Aracıyı eğittikten sonra modeli TFLite'a dönüştürüp Android uygulamasına dağıtıyoruz.

Android uygulamasında gerçek oyun sırasında, harekete geçme sırası temsilciye geldiğinde, temsilci, önceki başarılı ve başarısız vuruşlar (isabetler ve ıskalamalar) hakkında bilgi içeren insan oyuncunun tahta durumuna (alttaki tahta) bakar. ve bir sonraki vuruşun nereye yapılacağını tahmin etmek için eğitilmiş modeli kullanır, böylece oyunu insan oyuncudan önce bitirebilir.

Performans kıyaslamaları

Performans kıyaslama numaraları burada açıklanan araçla oluşturulur.

Model adı Modeli boyutu Cihaz İşlemci
Politika Gradyanı 84 Kb Piksel 3 (Android 10) 0,01 ms*
Piksel 4 (Android 10) 0,01 ms*

* 1 konu kullanıldı.

Girişler

Model, kart durumu olarak (1, 8, 8)'in 3 boyutlu float32 Tensörünü kabul eder.

çıktılar

Model, 64 olası vuruş pozisyonunun her biri için tahmin edilen puanlar olarak 2 boyutlu float32 şekil Tensörünü (1,64) döndürür.

Kendi modelinizi eğitin

Eğitim kodundaki BOARD_SIZE parametresini değiştirerek kendi modelinizi daha büyük/daha küçük bir tahta için eğitebilirsiniz.