De kubus van Rubik oplossen met leren en zoeken naar diepe versterking
Abstract Hoofd Meer in het algemeen is een belangrijk doel van kunstmatige intelligentie het creëren van algoritmen die in staat zijn om te leren omgaan met verschillende omgevingen zonder te vertrouwen op domeinspecifieke menselijke kennis. De klassieke 3 × 3 × 3 Rubiks kubus is slechts één vertegenwoordiger van een grotere familie van mogelijke omgevingen die in grote lijnen de hierboven beschreven kenmerken delen, inclusief (1) kubussen met langere randen of hogere afmetingen (bijvoorbeeld 4 × 4 × 4 of 2 × 2 × 2 × 2), (2) schuifpuzzelpuzzels (bijvoorbeeld de 15 puzzel, 24 puzzel, 35 puzzel en 48 puzzel), (3) Lights Out en (4) Sokoban. Naarmate de omvang en afmetingen toenemen, neemt de complexiteit van de onderliggende combinatorische problemen snel toe. Bijvoorbeeld, terwijl het vinden van een optimale oplossing voor de puzzel van 15 op een moderne desktop minder dan een seconde duurt, kan het vinden van een optimale oplossing voor de puzzel van 24 dagen duren, en het vinden van een optimale oplossing voor de puzzel van 35 is over het algemeen onhandelbaar9. De bovengenoemde puzzels zijn niet alleen relevant als wiskundige spellen, maar ze kunnen ook worden gebruikt om planningsalgoritmen10 te testen en om te beoordelen hoe goed een machine learning-benadering kan generaliseren naar verschillende omgevingen. Bovendien, omdat de werking van de Rubiks kubus en andere combinatorische puzzels diep geworteld zijn in de groepentheorie, roepen deze puzzels ook bredere vragen op over de toepassing van machine learning-methoden op complexe symbolische systemen, waaronder wiskunde. Kortom, om al deze redenen vormt de Rubiks kubus interessante uitdagingen voor machine learning. Om deze uitdagingen het hoofd te bieden, hebben we DeepCubeA ontwikkeld, dat diep leren11,12 combineert met klassiek leren van bekrachtiging13 (geschatte waarde-iteratie14,15,16) en methoden voor het vinden van paden (gewogen A * zoeken17,18). DeepCubeA kan combinatorische puzzels oplossen, zoals de Rubiks kubus, 15 puzzel, 24 puzzel, 35 puzzel, 48 puzzel, Lights Out en Sokoban (Fig. 1). DeepCubeA werkt met behulp van geschatte waarde-iteratie om een diep neuraal netwerk (DNN) te trainen om een functie te benaderen die de kosten oplevert om het doel te bereiken (ook bekend als de cost-to-go-functie). Aangezien het onwaarschijnlijk is dat willekeurig spelen eindigt in de doeltoestand, traint DeepCubeA op toestanden die worden verkregen door te beginnen vanuit de doeltoestand en willekeurig zetten in omgekeerde richting te nemen. Na de training wordt de aangeleerde cost-to-go-functie gebruikt als een heuristiek om de puzzels op te lossen met behulp van een gewogen A * -zoekopdracht17,18,19.
|
https://breinbrekers.be |