MuZero ist ein Software-Muster der Google-Tochter DeepMind aus dem Bereich des Reinforcement Learning, das in den letzten Jahren wesentliche Durchbrüche erzielt hat. Es befähigt einen Agenten, allein durch Beobachtung seiner Umgebung und motiviert durch Belohnungsanreize, sein Verhalten von Grund auf zu lernen. Beispiele sind Go oder Schach, wo der Agent allein durch das Spiel gegen sich selbst ein übermenschliches Niveau erreicht, ohne vorher die Regeln zu kennen und ohne von menschlichen Spielern zu lernen. Nach dem gleichen Muster erlernt der Agent 50 Atari-Spiele oder als kommerzielle Anwendung die Kompression von YouTube-Videostreams für Google. Besonders spannend ist dabei, dass der Agent wie wir Menschen sowohl intuitiv (durch neuronale Netze) als auch rational (auf Basis algorithmischer Planung) agiert.

In meinem Vortrag möchte ich in die Thematik einführen und am Beispiel von Tic-Tac-Toe skizzieren, wie man den Agenten rein auf Java-Basis implementieren kann, wobei von Java/Spring Boot per Bibliothek DeepJavaLibrary (DJL) über JNI und PyTorch Grafikkarten zur massiven Parallelisierung der neuronalen Netzwerkoperationen eingesetzt werden. Als Schmankerl zeige ich, wie der Braindump in Form von ONNX (Open Neural Network Exchange) visualisiert und mittels WebAssembly im Browser zum Laufen gebracht werden kann.