FYI.

This story is over 5 years old.

Tech

Het is moeilijk om te leren koken, vooral als je een robot bent

Onderzoekers hebben een manier gevonden om met deep learning robots te leren koken door ze te laten kijken naar YouTube-tutorials.

Onderzoekers van Maryland University en het Australische nationale ICT-onderzoeksteam, NICTA, hebben vorige week bekend gemaakt dat ze een methode hebben bedacht om robots zelf te laten leren hoe ze moeten koken. Dit alles met behulp van een leermiddel waar iedereen die wel eens problemen heeft met de basisprincipes van koken gebruik van maakt – het kijken van YouTube tutorials.

Sommige krantenkoppen berichten dat robots net als mensen hebben leren koken, maar in werkelijkheid is het werk van de onderzoekers iets minder sensationeel – maar niettemin steeds erg indrukwekkend. Het team zal hun paper op 29 januari presenteren tijdens de 29e jaarlijkse conferentie van de vereniging voor de bevordering van kunstmatige intelligentie.

Advertentie

Ze maakten gebruik van nieuw ontwikkelde deep learning-technieken en ingewikkelde neurale netwerken – programma's die de rekencapaciteit van het menselijk brein nabootsen met behulp van netwerken gemaakt van kunstmatige neuronen. De onderzoekers gaven het programma 88 YouTube kooktutorials om mee te werken. Het programma was vervolgens in staat om objecten te identificeren die robotkoks nodig zouden kunnen hebben bij het koken.

De onderzoekers bedachten daarom een systeem dat de robot in staat zou stellen om meest basale taken in de keuken uit te voeren – het herkennen, pakken en manipuleren van objecten. Robots kunnen dus leren hoe ze een hele maaltijd moeten leren koken door simpelweg naar YouTube-video's te kijken. Het blijkt alleen dat het erg moeilijk is om een robot te leren om uit zichzelf te laten koken. Robots duiken steeds vaker op in de keuken, maar een robot die zichzelf kan leren koken is heel iets anders dan eentje die voorgeprogrammeerd is.

Om erachter te komen hoe moeilijk dit is namen we contact op met Cornelia Fermüller, een universitair onderzoeker aan de Universiteit van Maryland en een van de auteurs van het paper.

Beeld   ​Anne/Flickr

Motherboard: Hoe leer je een robot zelf te koken?
Cornelia Fermüller: Er wordt veel onderzoek gedaan naar het pakken van dingen. Het is een behoorlijk goed gedekt probleem. Het meest werk is echter alleen gedaan op het kopiëren van een beweging – een beweging wordt voorgedaan aan de robot en deze moet hem dan nadoen. Het is lastiger in dagelijkse situaties; in dat geval moet de robot zich aanpassen aan verschillende scenario's. Er gebeuren andere dingen wanneer de pot en de spatel een andere grootte hebben, maar ook wanneer het op een andere plek ligt of de tafel vol ligt met allemaal voorwerpen. Dit alles maakt het veel moeilijker. De robot moet bewust zijn van de omgeving; misschien verstoort iemand wel de situatie. In echte situaties wordt het dus steeds moeilijker, omdat er veel variaties kunnen zijn. Wanneer een robot een pot pindakaas op moet pakken die altijd op dezelfde plek is, dan kan hij dat nog wel. Onderzoekers zijn momenteel zelfs zo ver dat je de pot op andere plekken zou kunnen plaatsen, maar een complexere situatie vereist interactie tussen zicht en de handeling.

Advertentie

Is deep learning ver genoeg ontwikkeld dat de informatie uit de YouTube-video's voldoende is om deze problemen te overkomen?
Het deep learning is op het lage niveau nog steeds niet makkelijk te verwerken. We kijken naar video's en niet naar laboratoriumopstellingen. Er zit zoveel variatie in de video's – verschillende kijkhoeken, totaal andere opstellingen en belichting. Een hand die in de weg zit of objecten die ergens voor staan kunnen bijvoorbeeld voor problemen zorgen. Hier hebben we deep learning technologie ingezet, iets waarin het afgelopen jaar ontzettend veel vooruitgang is geboekt. Er is goede software waarmee je objecten kunt herkennen, en we hebben dit ingezet om objecten en de positie van de hand op voorwerpen te herkennen.

Onze robots zijn nog niet aan het koken. Ik bedoel, wij werken wel in de robotica, maar we zijn vooral mensen die vertrouwen op ons zicht. We hebben alleen wel een paar eigenschappen die voor robots lastig zijn. We kunnen water uit de kranen halen en dingen mengen, maar we hebben geen autonome robots die in een echte omgeving alle verschillende dingen die kunnen leren die tijdens het koken kunnen gebeuren. We werken aan robots die in staat zijn om een maaltijd klaar te maken, maar we zijn er nog niet.

We can't wait for a housebot that could make these.

Wat voor technische barrières zijn er?
Allereerst moeten alle eerder genoemde problemen worden opgelost. We moeten robots al deze handelingen leren in compleet verschillende omstandigheden, locaties en situaties. Een ander ding is dat tijdens het koken er dingen op veel manieren kunnen gebeuren. Er kan iemand binnen komen en dingen kunnen mis gaan. Hier moet allemaal rekening mee worden gehouden.

Advertentie

De robot moet intelligent zijn en moet dus kunnen redeneren, daarbovenop moet hij in staat zijn om vooruit te denken – voor onverwachte gebeurtenissen. In andere woorden, de robot moet autonoom zijn. Het onderzoek loopt nog en we werken aan kunstmatige intelligentie, maar het is nog lang niet klaar. We komen met langzame stapjes vooruit.

En hoe zit het met jullie deep learning benadering – hoe hebben jullie de data uit de YouTube-video's gehaald zodat het gebruikt kon worden door een kookrobot?

Als je wilt begrijpen hoe wij handelingen uitvoeren dan moet je veel mensen bestuderen, en mensen doen dingen op heel veel verschillende manieren. Je kunt niet één mens bekijken en dan met de robot precies kopiëren wat ze doen. Jij en ik kunnen een pot pindakaas op een heel andere manier openen.

De wijze waarop we dit hebben opgelost is door niet alleen na te denken over de beweging, maar over wat het doel van de handeling is. Het komt er op neer dat er een bepaalde grammatica moet worden gedacht die de handeling in kleine behapbare brokken breekt, dat is onze belangrijkste bijdrage: de creatie van deze grammatica.

Voor het openen van een pot pindakaas zou het er ongeveer zo uitzien: De hand beweegt zich naar de pot, pakt het deksel, draait het deksel, beweegt de hand met het deksel van de pot af en nu heb je twee losse onderdelen. Het begrijpen van deze handelingsgrammatica is in een bepaald opzicht vergelijkbaar met het dat van een taal, hierbij kun je de zinnen opbreken in aparte delen.

Een ander nieuw aspect dat in het paper naar voren komt is dat we na denken over het punt waarop een handeling afgebroken kan worden. Normaal gesproken hebben computervisie-experts de handeling al in stukken opgedeeld wanneer deze in de robot programmeren. Wij kwamen met het concept van contact. Wanneer er iets in contact komt dan begint er een nieuw segment. De hand beweegt in de richting van de pot, dat is één segment. Wanneer de hand het deksel draait is dan weer een ander onderdeel.

Wanneer komen we op het punt in de ontwikkeling van kunstmatige intelligentie dat een robot net zoals wij een YouTube-video kan bekijken en een maaltijd kan koken?
Dat is lastig om te zeggen. Het zal zeker gebeuren, helemaal wanneer je een veilige omgeving hebt waar er bijvoorbeeld geen rennende kinderen zijn. Er is alleen meer tijd voor nodig. Je moet rekening houden met allemaal perceptiedingen. Wanneer de robot naar de koelkast loopt, dan moet hij kijken over wel of geen sla is en of hij naar de winkel moet gaan.

Je kan hier trouwens binnenkort stage komen lopen. Mail alejandro.tauber[@]vice.com voor meer info.