Verstärkungslernen

Spielen Sie ein Brettspiel gegen einen Agenten, der mit Reinforcement Learning trainiert und mit TensorFlow Lite bereitgestellt wird.

Loslegen

Wenn Sie neu bei TensorFlow Lite sind und mit Android arbeiten, empfehlen wir Ihnen, die folgende Beispielanwendung zu erkunden, die Ihnen den Einstieg erleichtern kann.

Android-Beispiel

Wenn Sie eine andere Plattform als Android verwenden, oder Sie sind bereits vertraut mit der TensorFlow Lite - APIs können Sie unser geschultes Modell herunterladen.

Modell herunterladen

Wie es funktioniert

Das Modell wurde für einen Spielagenten gebaut, um ein kleines Brettspiel namens 'Plane Strike' zu spielen. Für eine schnelle Einführung dieses Spiel und seine Regeln finden Sie in dieser Readme .

Unter der Benutzeroberfläche der App haben wir einen Agenten erstellt, der gegen den menschlichen Spieler spielt. Der Agent ist ein 3-Schicht-MLP, der den Platinenzustand als Eingabe verwendet und die vorhergesagte Punktzahl für jede der 64 möglichen Platinenzellen ausgibt. Das Modell wird abgerichtet Politik Gradienten (VERSTÄRKUNG) und Sie können den Trainingscode hier . Nach dem Training des Agenten konvertieren wir das Modell in TFLite und stellen es in der Android-App bereit.

Wenn der Agent während des eigentlichen Spiels in der Android-App an der Reihe ist, Maßnahmen zu ergreifen, sieht sich der Agent den Brettzustand des menschlichen Spielers (das Brett unten) an, der Informationen über frühere erfolgreiche und fehlgeschlagene Schläge (Treffer und Fehlschläge) enthält , und verwendet das trainierte Modell, um vorherzusagen, wo es als nächstes zuschlagen soll, damit es das Spiel beenden kann, bevor der menschliche Spieler es tut.

Leistungsbenchmarks

Performance - Benchmark - Nummern werden mit dem Werkzeug erzeugt beschrieben hier .

Modellname Modellgröße Gerät Zentralprozessor
Richtlinienverlauf 84 KB Pixel 3 (Android 10) 0,01 ms*
Pixel 4 (Android 10) 0,01 ms*

* 1 Threads verwendet.

Eingänge

Das Modell nimmt einen 3-D float32 Tensor (1, 8, 8) als Platine Zustand.

Ausgänge

Das Modell liefert eine 2-D float32 Tensor der Form (1,64) als die vorhergesagten Werte für jeden der 64 möglichen Positionen strike.

Trainiere dein eigenes Modell

Sie könnten Ihr eigenes Modell für eine größere / kleinere Brett durch Änderung der Zug BOARD_SIZE Parameter in der Trainingscode .