Zauberwürfel mit einer Roboterhand lösen

Foto: Eric Haines
Wir haben ein Paar neuronaler Netzwerke darauf trainiert, den Zauberwürfel mit einer menschenähnlichen Roboterhand zu lösen. Die neuronalen Netzwerke werden vollständig in der Simulation trainiert, wobei derselbe Reinforcement-Learning-Code wie bei OpenAI Five verwendet wird, gepaart mit einer neuen Technik namens Automatic Domain Randomization (ADR). Das System kann mit Situationen umgehen, die es während des Trainings nie erlebt hat, wie etwa von einer ausgestopften Giraffe angestoßen werden. Dies zeigt, dass Reinforcement Learning nicht nur ein Werkzeug für virtuelle Aufgaben ist, sondern auch Probleme der physischen Welt lösen kann, die beispielloses Geschick erfordern.
Menschliche Hände ermöglichen es uns, vielfältige Aufgaben zu lösen. In den vergangenen 60 Jahren war es in der Robotik für die Bewältigung schwieriger Aufgaben, die Menschen mit ihren Händen bewältigen mussten, erforderlich, für jede Aufgabe(wird in einem neuen Fenster geöffnet) einen eigenen Roboter zu entwerfen. Als Alternative hat man jahrzehntelang versucht, universelle Roboterhardware einzusetzen(wird in einem neuen Fenster geöffnet), allerdings aufgrund der hohen Freiheitsgrade dieser Hardware mit begrenztem Erfolg. Die Hardware, die wir hier einsetzen, ist nicht neu – die Roboterhand, die wir verwenden, gibt es schon seit 15 Jahren. Der Softwareansatz ist es hingegen schon.
Seit Mai 2017 versuchen wir, eine menschenähnliche Roboterhand darauf zu trainieren, einen Zauberwürfel(wird in einem neuen Fenster geöffnet) zu lösen. Wir haben uns dieses Ziel gesetzt, weil wir überzeugt sind, dass das erfolgreiche Trainieren einer solchen Roboterhand zur Ausführung komplexer Manipulationsaufgaben den Grundstein für Allzweckroboter legt. Wir haben den Zauberwürfel im Juli 2017 in einer Simulation gelöst. Aber seit Juli 2018 konnten wir nur noch einen Block auf dem Roboter manipulieren. Jetzt haben wir unser ursprüngliches Ziel erreicht.
Eine vollständige Lösung des Zauberwürfels. Dieses Video wird in Echtzeit abgespielt und wurde in keiner Weise bearbeitet.
Einen Zauberwürfel mit einer Hand zu lösen, ist selbst für Menschen eine anspruchsvolle Aufgabe und Kinder brauchen mehrere Jahre, um die nötige Geschicklichkeit dafür zu meistern. Unser Roboter hat seine Technik allerdings immer noch nicht perfektioniert, da er den Zauberwürfel in 60 % der Fälle löst (und bei einem maximal schwierigen Rätsel(wird in einem neuen Fenster geöffnet) nur in 20 % der Fälle).
Wir trainieren neuronale Netzwerke, um den Zauberwürfel in einer Simulation(wird in einem neuen Fenster geöffnet) zu lösen, indem wir Reinforcement Learning und Kociembas Algorithmus(wird in einem neuen Fenster geöffnet) zur Auswahl der Lösungsschritte verwenden.A Durch Domain(wird in einem neuen Fenster geöffnet)Randomization(wird in einem neuen Fenster geöffnet) können ausschließlich in der Simulation trainierte Netzwerke auf einen echten Roboter übertragen werden.

Die größte Herausforderung bestand für uns darin, in der Simulation Umgebungen zu schaffen, die vielfältig genug sind, um die Physik der realen Welt einzufangen. Faktoren wie Reibung, Elastizität und Dynamik sind bei so komplexen Objekten wie Zauberwürfeln oder Roboterhänden unglaublich schwer zu messen und zu modellieren. Und wir haben festgestellt, dass die Domain Randomization allein nicht ausreicht.
Um dies zu überwinden, haben wir eine neue Methode namens Automatic Domain Randomization (ADR) entwickelt, die in der Simulation endlos immer schwierigere Umgebungen generiert.B So sind wir nicht mehr auf ein genaues Modell der realen Welt angewiesen und können in der Simulation erlernte neuronale Netzwerke auf die reale Welt übertragen.
ADR beginnt mit einer einzelnen, nicht randomisierten Umgebung, in der ein neuronales Netzwerk lernt, den Zauberwürfel zu lösen. Wenn das neuronale Netzwerk die Aufgabe besser bewältigt und eine Leistungsschwelle erreicht, wird der Grad der Domain Randomization automatisch erhöht. Dies erschwert die Aufgabe, da das neuronale Netzwerk nun lernen muss, auf zufälligere Umgebungen zu verallgemeinern. Das Netzwerk lernt weiter, bis es die Leistungsschwelle erneut überschreitet. Dann greift eine stärkere Randomisierung ein und der Prozess wird wiederholt.
Einer der Parameter, die wir zufällig festlegen, ist die Größe des Zauberwürfels (oben). ADR beginnt mit einer festen Größe des Zauberwürfels und erhöht den Zufallsbereich im Verlauf des Trainings schrittweise. Wir wenden die gleiche Technik auf alle anderen Parameter an, wie etwa die Masse des Würfels, die Reibung der Roboterfinger und die sichtbaren Oberflächenmaterialien der Hand. Das neuronale Netzwerk muss also lernen, den Zauberwürfel unter all diesen zunehmend schwierigeren Bedingungen zu lösen.
Für Domain Randomization mussten wir die Randomisierungsbereiche manuell angeben, was schwierig ist, da zu viel Randomisierung das Lernen erschwert, zu wenig Randomisierung jedoch die Übertragung auf den echten Roboter behindert. ADR löst dieses Problem, indem es die Zufallsbereiche im Laufe der Zeit automatisch und ohne menschliches Eingreifen erweitert. ADR macht Domainwissen überflüssig und vereinfacht die Anwendung unserer Methoden auf neue Aufgaben. Im Gegensatz zur manuellen Domain Randomization bleibt die Aufgabe bei ADR auch immer anspruchsvoll, da das Training nie konvergiert.
Wir haben ADR bei der Block-Wende-Aufgabe mit Domain Randomization verglichen, bei der wir bereits über einen starken Basiswert verfügten. Zu Beginn schneidet ADR im Hinblick auf die Anzahl der Erfolge auf dem echten Roboter schlechter ab. Da ADR jedoch die Entropie erhöht, die ein Maß für die Komplexität der Umgebung ist, verdoppelt sich die Übertragungsleistung letztendlich gegenüber dem Basiswert – ohne menschliche Feinabstimmung.
Mithilfe von ADR können wir in einer Simulation neuronale Netzwerke trainieren, die den Zauberwürfel auf der echten Roboterhand lösen können. Dies liegt daran, dass ADR das Netzwerk einer endlosen Vielfalt randomisierter Simulationen aussetzt. Diese Auseinandersetzung mit der Komplexität während des Trainings bereitet das Netzwerk auf den Übergang von der Simulation in die reale Welt vor, da es lernen muss, die physische Welt, mit der es konfrontiert wird, schnell zu erkennen und sich darauf einzustellen.
Um die Grenzen unserer Methode zu testen, experimentieren wir mit verschiedenen Störungen, während die Hand den Zauberwürfel löst. Dadurch wird nicht nur die Robustheit unseres Kontrollnetzwerks getestet, sondern auch unser Vision-Netzwerk, das wir hier verwenden, um die Position und Ausrichtung des Würfels zu schätzen.
Wir stellen fest, dass unser mit ADR trainiertes System überraschend robust gegenüber Störungen ist, obwohl wir nie mit ihnen trainiert haben: Der Roboter kann die meisten Wendungen und Seitendrehungen unter allen getesteten Störungen erfolgreich ausführen, allerdings nicht mit Spitzenleistung.
Wir glauben, dass Meta-Lernen(wird in einem neuen Fenster geöffnet), oder lernen, um zu lernen, eine wichtige Voraussetzung für den Aufbau allgemeiner Systeme ist, da es ihnen ermöglicht, sich schnell an veränderte Bedingungen in ihrer Umgebung anzupassen. Die Hypothese hinter ADR ist, dass ein Netzwerk mit erweitertem Memory in Kombination mit einer ausreichend randomisierten Umgebung zu aufstrebendem Meta-Lernen führt, bei dem das Netzwerk einen Lernalgorithmus implementiert, der es ihm ermöglicht, sein Verhalten schnell an die Umgebung anzupassen, in der es eingesetzt wird.C
Um dies systematisch zu testen, messen wir die Zeit bis zum Erfolg pro Würfelwendung (Wenden des Würfels, sodass eine andere Farbe nach oben zeigt) für unser neuronales Netzwerk unter verschiedenen Störungen, wie z. B. dem Zurücksetzen des Netzwerk-Memorys, dem Zurücksetzen der Dynamik oder dem Brechen einer Verbindung. Wir führen diese Experimente in einer Simulation durch, wodurch wir die durchschnittliche Leistung über 10.000 Versuche in einer kontrollierten Umgebung ermitteln können.
Wenn das neuronale Netzwerk zu Beginn mehr Wendungen erfolgreich durchführt, verringert sich die Zeitspanne bis zum Erfolg mit jeder weiteren Wendung, da das Netzwerk lernt, sich anzupassen. Wenn Störungen angewendet werden (vertikale graue Linien im obigen Diagramm), sehen wir einen Anstieg der Zeit bis zum Erfolg. Dies liegt daran, dass die vom Netzwerk verfolgte Strategie in der veränderten Umgebung nicht funktioniert. Das Netzwerk lernt dann die neue Umgebung erneut und wir sehen, dass die Zeit bis zum Erfolg im Vergleich zu dem vorherigen Basiswert abnimmt.
Wir messen auch die Wahrscheinlichkeit des Scheiterns und haben dieselben Experimente für Seitendrehungen durchgeführt (Drehung der oberen Seite um 90 Grad im oder gegen den Uhrzeigersinn). Dabei stellten wir dasselbe Anpassungsmuster fest.D
Durch die Visualisierung unserer Netzwerke können wir verstehen, was sie im Memory speichern. Dies wird umso wichtiger, je komplexer die Netzwerke werden.
Das Memory unseres neuronalen Netzwerks ist oben visualisiert. Wir verwenden einen Baustein aus der Interpretierbarkeits-Toolbox(wird in einem neuen Fenster geöffnet), nämlich die nicht-negative Matrixfaktorisierung, um diesen hochdimensionalen Vektor auf 6 Gruppen zu reduzieren und jeder eine eindeutige Farbe zuzuweisen. Wir zeigen dann für jeden Zeitschritt die Farbe der derzeit dominanten Gruppe an.
Wir stellen fest, dass mit jeder Memory-Gruppe ein semantisch bedeutsames Verhalten verbunden ist. Wenn wir uns beispielsweise nur die dominante Gruppe des Netzwerk-Memorys ansehen, können wir vorhersagen, ob der Würfel gewendet oder die Oberseite im Uhrzeigersinn gedreht wird, bevor dies geschieht.
Das Lösen des Zauberwürfels mit einer Roboterhand ist immer noch nicht einfach. Unsere Methode löst den Zauberwürfel derzeit in 20 % der Fälle, wenn wir ein maximal schwieriges Rätsel(wird in einem neuen Fenster geöffnet) anwenden, das 26 Seitendrehungen erfordert. Bei einfacheren Rätseln, die zum Rückgängigmachen 15 Drehungen erfordern, liegt die Erfolgsrate bei 60 %. Wenn der Zauberwürfel fallen gelassen wird oder die Zeit abgelaufen ist, betrachten wir den Versuch als fehlgeschlagen. Unser Netzwerk ist jedoch in der Lage, den Zauberwürfel aus jeder beliebigen Anfangsbedingung heraus zu lösen. Wenn der Würfel also fallen gelassen wird, ist es möglich, ihn wieder in die Hand zu legen und mit dem Lösen fortzufahren.
Wir stellen im Allgemeinen fest, dass unser neuronales Netzwerk bei den ersten Seitendrehungen und Wendungen viel eher versagt. Dies ist der Fall, weil das neuronale Netzwerk während dieser frühen Drehungen und Wendungen ein Gleichgewicht zwischen dem Lösen des Zauberwürfels und der Anpassung an die physische Welt finden muss.
Um unsere Fortschritte zu messen und das Problem lösbar zu machen, haben wir benutzerdefinierte Versionen von Würfeln gebaut und entworfen, die als Einstieg für die letztendliche Lösung eines regulären Zauberwürfels dienen sollen.E

Zauberwürfel-Prototypen, von links nach rechts: Gesperrter Würfel, Seiten-Würfel, vollständiger Würfel, Giiker(wird in einem neuen Fenster geöffnet)-Würfel, regulärer Zauberwürfel
Prototyp | Position + Ausrichtung | Interne Freiheitsgrade (Sensor) |
Gesperrter Würfel | Vision | 0 (Kein Sensor) |
Seiten-Würfel | PhaseSpace | 2 (PhaseSpace) |
Kompletter Würfel | PhaseSpace | 6 (PhaseSpace) |
Giiker-Würfel | Vision | 6 (Eingebaute Sensoren) |
Regulärer Zauberwürfel | Vision | 6 (Vision) |
Wir glauben, dass das menschliche Geschick ein Teil des Baus universeller Roboter ist, und wir freuen uns, in dieser Richtung voranzuschreiten.
Wenn du dazu beitragen möchtest, immer allgemeinere KI-Systeme zu entwickeln, ob robotergestützt oder virtuell: Wir stellen ein!
Fußnoten
- A
Wir konzentrieren uns auf die Probleme, die für Maschinen derzeit nur schwer zu meistern sind: Wahrnehmung und geschickte Manipulation. Daher trainieren wir unsere neuronalen Netzwerke, um die erforderlichen Seitendrehungen und Würfelwendungen zu erreichen, wie sie von Kociembas Algorithmus generiert werden.
- B
Unsere Arbeit ist eng mit POET(wird in einem neuen Fenster geöffnet) verbunden, das automatisch 2D-Umgebungen generiert. Unsere Arbeit erlernt jedoch eine gemeinsame Richtlinie für alle Umgebungen, die auf jede neu generierte Umgebung übertragen wird.
- C
Konkreter gesagt gehen wir von der Hypothese aus, dass ein neuronales Netzwerk mit begrenzter Kapazität, das in Umgebungen mit unbegrenzter Komplexität trainiert wird, das Netzwerk zwingt, einen speziellen Lernalgorithmus zu erlernen, da es sich nicht für jede einzelne Umgebung Lösungen merken kann und es keine einzige robuste Strategie gibt, die bei allen Randomisierungen funktioniert.
- D
Die vollständigen Ergebnisse findest du in unserem Artikel(wird in einem neuen Fenster geöffnet).
- E
Die einzige Änderung, die wir vorgenommen haben, bestand darin, aus dem bunten Aufkleber jedes mittleren Würfels ein kleines Stück herauszuschneiden. Dies war notwendig, um die Drehsymmetrie(wird in einem neuen Fenster geöffnet) zu brechen.
Autoren
Anerkennungen
Vielen Dank an die folgenden Personen für ihr Feedback zu den Entwürfen dieses Beitrags und Dokuments: Josh Achiam, Greg Brockman, Nick Cammarata, Jack Clark, Jeff Clune, Ruben D’Sa, Harri Edwards, David Farhi, Ken Goldberg, Leslie P. Kaelbling, Hyeonwoo Noh, Lerrel Pinto, John Schulman, Ilya Sutskever und Tao Xu.
Video: Peter Jordan (Regisseur), Yvette Solis (Produzentin), Brooke Chan (Produzent)
Editor: Ashley Pilipiszyn
Design: Justin Jay Wang und Ben Barry
Fotografie: Eric Haines


