Pembelajaran Penguatan

Mainkan permainan papan melawan agen, yang dilatih menggunakan pembelajaran penguatan dan diterapkan dengan TensorFlow Lite.

Memulai

Jika Anda baru menggunakan TensorFlow Lite dan menggunakan Android, sebaiknya jelajahi contoh aplikasi berikut yang dapat membantu Anda memulai.

Contoh Android

Jika Anda menggunakan platform selain Android, atau sudah familiar dengan TensorFlow Lite API , Anda dapat mendownload model terlatih kami.

Unduh modelnya

Bagaimana itu bekerja

Model ini dibuat agar agen permainan dapat memainkan permainan papan kecil yang disebut 'Plane Strike'. Untuk pengenalan singkat tentang permainan ini dan peraturannya, silakan lihat README ini.

Di bawah UI aplikasi, kami telah membangun agen yang bermain melawan pemain manusia. Agen adalah MLP 3 lapis yang mengambil status papan sebagai masukan 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 permainan sebenarnya di aplikasi Android, saat giliran agen untuk mengambil tindakan, agen melihat status papan pemain manusia (papan di bagian bawah), yang berisi informasi tentang serangan sebelumnya yang berhasil dan tidak berhasil (terkena dan gagal) , dan menggunakan model terlatih untuk memprediksi di mana harus menyerang selanjutnya, sehingga model tersebut dapat menyelesaikan permainan sebelum pemain manusia menyelesaikannya.

Tolok ukur kinerja

Angka tolok ukur kinerja dihasilkan dengan alat yang dijelaskan di sini .

Nama model Ukuran model Perangkat CPU
Gradien Kebijakan 84Kb Piksel 3 (Android 10) 0,01 md*
Piksel 4 (Android 10) 0,01 md*

* 1 benang digunakan.

masukan

Model menerima Tensor float32 3-D (1, 8, 8) sebagai status papan.

Keluaran

Model ini mengembalikan Tensor bentuk float32 2-D (1,64) sebagai skor prediksi untuk masing-masing dari 64 kemungkinan posisi serangan.

Latih model Anda sendiri

Anda dapat melatih model Anda sendiri untuk papan yang lebih besar/lebih kecil dengan mengubah parameter BOARD_SIZE dalam kode pelatihan .