Mainkan permainan papan melawan agen, yang dilatih menggunakan pembelajaran penguatan dan diterapkan dengan TensorFlow Lite.
Memulai
Jika Anda baru menggunakan TensorFlow Lite dan bekerja dengan Android, sebaiknya jelajahi contoh aplikasi berikut yang dapat membantu Anda memulai.
Jika Anda menggunakan platform selain Android, atau Anda sudah terbiasa dengan TensorFlow Lite API , Anda dapat mengunduh model terlatih kami.
Bagaimana itu bekerja
Model ini dibuat untuk agen game untuk memainkan permainan papan kecil yang disebut 'Plane Strike'. Untuk pengenalan singkat tentang game ini dan aturannya, silakan merujuk ke README ini.
Di bawah UI aplikasi, kami telah membangun agen yang bermain melawan pemain manusia. Agen adalah MLP 3-lapisan yang mengambil status papan sebagai input dan mengeluarkan skor prediksi untuk masing-masing dari 64 kemungkinan sel papan. Model dilatih menggunakan gradien kebijakan (REINFORCE) dan Anda dapat menemukan kode pelatihan di sini . Setelah melatih agen, kami mengonversi model menjadi TFLite dan menerapkannya di aplikasi Android.
Selama bermain game yang sebenarnya di aplikasi Android, ketika giliran agen untuk mengambil tindakan, agen melihat status papan pemain manusia (papan di bagian bawah), yang berisi informasi tentang serangan yang berhasil dan gagal sebelumnya (hit dan miss) , dan menggunakan model terlatih untuk memprediksi di mana harus menyerang berikutnya, sehingga dapat menyelesaikan permainan sebelum pemain manusia melakukannya.
Tolok ukur kinerja
Angka tolok ukur kinerja dihasilkan dengan alat yang dijelaskan di sini .
Nama model | Ukuran model | Perangkat | CPU |
---|---|---|---|
Gradien Kebijakan | 84 Kb | Piksel 3 (Android 10) | 0,01 ms* |
Piksel 4 (Android 10) | 0,01 ms* |
* 1 utas digunakan.
masukan
Model menerima Tensor float32
3-D (1, 8, 8) sebagai status papan.
Keluaran
Model mengembalikan bentuk Tensor float32
2-D (1,64) sebagai skor yang diprediksi untuk masing-masing dari 64 kemungkinan posisi strike.
Latih model Anda sendiri
Anda dapat melatih model Anda sendiri untuk papan yang lebih besar/kecil dengan mengubah parameter BOARD_SIZE
dalam kode pelatihan .