Erikvenneman
Image default
Cadeau

We hebben een paar neurale netwerken getraind om de Rubik’s Cube op te lossen

We hebben een paar neurale netwerken getraind om de Rubik’s Cube op te lossen met een mensachtige robothand. De neurale netwerken zijn volledig getraind in simulatie, met behulp van dezelfde versterkende leercode als OpenAI Five in combinatie met een nieuwe techniek genaamd Automatic Domain Randomization (ADR). Het systeem kan situaties aan die het tijdens de training nooit heeft gezien, zoals gepord worden door een opgezette giraf. Dit toont aan dat bekrachtigingsleren niet alleen een hulpmiddel is voor virtuele taken, maar dat het fysieke wereldproblemen kan oplossen die ongekende behendigheid vereisen.

Met menselijke handen kunnen we een breed scala aan taken oplossen. Gedurende de afgelopen 60 jaar van robotica, hebben zware taken die mensen met hun vaste paar handen kunnen uitvoeren, vereist dat voor elke taak een aangepaste robot moet worden ontworpen. Als alternatief hebben mensen tientallen jaren geprobeerd om robothardware voor algemeen gebruik te gebruiken, maar met beperkt succes vanwege hun hoge vrijheidsgraden. Met name de hardware die we hier gebruiken is niet nieuw – de robothand die we gebruiken bestaat al 15 jaar – maar de softwarebenadering is dat wel.

Sinds mei 2017 proberen we een mensachtige robothand te trainen om de Rubik’s Cube op te lossen. We hebben dit doel gesteld omdat we geloven dat het succesvol trainen van zo’n robothand om complexe manipulatietaken uit te voeren de basis legt voor robots voor algemeen gebruik. We hebben de Rubik’s Cube in simulatie opgelost in juli 2017. Maar vanaf juli 2018 konden we alleen een blok op de robot manipuleren. Nu hebben we ons oorspronkelijke doel bereikt.

Een volledige oplossing van de Rubik’s Cube. Deze video wordt in realtime afgespeeld en is op geen enkele manier bewerkt.
Het met één hand oplossen van een Rubik’s Cube is een uitdagende taak, zelfs voor mensen, en het kost kinderen meerdere jaren om de behendigheid te verwerven die nodig is om het onder de knie te krijgen. Onze robot heeft zijn techniek echter nog steeds niet geperfectioneerd, aangezien hij de Rubik’s Cube 60% van de tijd oplost (en slechts 20% van de tijd voor een maximaal moeilijke scramble).

Onze aanpak
We trainen neurale netwerken om de Rubik’s Cube in simulatie op te lossen met behulp van reinforcement learning en Kociemba’s algoritme voor het kiezen van de oplossingsstappen. [1]
We richten ons op de problemen die momenteel moeilijk te beheersen zijn voor machines: perceptie en behendige manipulatie. Daarom trainen we onze neurale netwerken om de vereiste gezichtsrotaties en kubusflips te bereiken, zoals gegenereerd door het algoritme van Kociemba.

Door de randomisatie van domeinen kunnen netwerken die uitsluitend in simulatie zijn getraind, worden overgedragen naar een echte robot.

Randomisatie van domeinen stelt het neurale netwerk bloot aan veel verschillende varianten van hetzelfde probleem, in dit geval het oplossen van een Rubiks kubus.
De grootste uitdaging waarmee we werden geconfronteerd, was om omgevingen in simulatie te creëren die divers genoeg waren om de fysica van de echte wereld vast te leggen. Factoren zoals wrijving, elasticiteit en dynamiek zijn ongelooflijk moeilijk te meten en te modelleren voor objecten die zo complex zijn als Rubiks kubussen of robothanden en we ontdekten dat het willekeurig maken van domeinen alleen niet voldoende is.

Om dit te verhelpen, hebben we een nieuwe methode ontwikkeld, Automatic Domain Randomization (ADR) genaamd, die eindeloos steeds moeilijkere simulaties genereert. [2]
Ons werk is sterk gerelateerd aan POET, dat automatisch 2D-omgevingen genereert. Ons werk leert echter een gemeenschappelijk beleid voor alle omgevingen, dat wordt overgedragen naar elke nieuw gegenereerde omgeving.

Dit bevrijdt ons van het hebben van een nauwkeurig model van de echte wereld en maakt het mogelijk om neurale netwerken die in simulatie zijn geleerd, over te dragen naar de echte wereld.

ADR begint met een enkele, niet-gerandomiseerde omgeving, waarin een neuraal netwerk leert Rubik’s Cube op te lossen. Naarmate het neurale netwerk beter wordt in de taak en een prestatiedrempel bereikt, wordt de hoeveelheid willekeurige domeinen automatisch verhoogd. Dit maakt de taak moeilijker, aangezien het neurale netwerk nu moet leren generaliseren naar meer willekeurige omgevingen. Het netwerk blijft leren totdat het weer de prestatiedrempel overschrijdt, wanneer er meer randomisatie plaatsvindt en het proces wordt herhaald.

 

rubiks kubus

 

https://breinbrekers.be

Gerelateerde artikelen

Leuke cadeaus om te geven

Het kerstpakket online maken

De mooiste cadeaus speciaal voor kersverse moeders