Machine learning

Tijdens de Europese Scratch Conferentie in augustus presenteerde Dale Lane Machine Learning for Kids. Dit is een website waar kinderen zelf aan de slag kunnen met machine learning. Ik was direct enthousiast en heb het o.a. getest bij de CoderDojo waar ik vrijwilliger ben.

Er zijn verschillende gratis omgevingen waar kinderen kunnen kennismaken met machine learning. We vergelijken Machine Learning for Kids en Cognimates.

Wat is machine learning?

Om dit uit te leggen is het handig om eerst naar een paar toepassingen te kijken:

  • Google gebruikt machine learning om foto’s te herkennen.
  • Spraakassistenten als Siri, Alexa en Bixby worden getraind met machine learning.
  • Spotify stelt persoonlijke afspeellijsten samen op basis van jouw voorkeuren en speellijsten van anderen.
  • Spamfilters leren welke mail als spam moet worden behandeld.

Het achterliggende principe is telkens hetzelfde:

1 Er is een datamodel met verschillende categorieën Bijvoorbeeld een categorie Blij en een categorie Verdrietig. Bij het opzetten van dit model geef je aan wat voor soort data wordt gebruikt: Tekst, geluid, afbeeldingen of getallen.
2 Iedere categorie wordt gevoed met voorbeelden De twee oefenomgevingen die ik hierna vergelijk hebben per categorie ongeveer 10 voorbeelden nodig. Het zal duidelijk zijn dat de modellen die bijvoorbeeld Google gebruikt werken met databases met miljoenen voorbeelden.
3 Het model krijgt de opdracht om te leren (trainen) Dit gaat net neurale netwerken (net als in je eigen brein) en een flinke dosis statistiek. Machine Learning for Kids en Cognimates blijken eigenlijk portalen zijn naar andere machine learning platformen. Machine Learning for Kids maakt gebruik van IBM Watson Machine LearningCognimates heeft voor beeldherkenning koppeling met Clarify en met uClassify voor het herkennen van tekst.
4 Het model wordt gebruikt Zodra het model heeft geleerd om de data te herkennen, kan je er een toepassing mee bouwen. Beide oefenomgevingen hebben in ieder geval een koppeling met Scratch.

Machine Learning for Kids en Cognimates in de praktijk

Beide omgevingen zijn 100% online en er hoeft dus niets op de computer te worden geïnstalleerd. Voor de eenvoudige opdrachten en voorbeelden kan je ook zonder gebruikersnaam en wachtwoord aan de slag. Als je echter meer wilt dat ontkom je niet aan het invoeren van een gebruikersnaam en wachtwoord.

Zoals gezegd werken beide omgevingen samen grote machine learning platformen en hiervoor heb je als leerkracht/begeleider aparte gebruikersnamen en wachtwoorden nodig. Voor de koppeling tussen de oefenomgeving die de kinderen zien en met de machine learning platformen wordt gebruik gemaakt van API’s (je spreekt dit uit als ee-pie-ais).

Een API (Application Programming Interface) is een set afspraken waarin is vastgelegd hoe verschillende websites (toepassingen) onderling met elkaar communiceren. Zie het als stekkers. De beveiliging tussen de verschillende applicaties is geregeld met API-sleutels. Deze sleutels zijn niets anders dan een cijfer of tekenreeks die worden uitgegeven door het machine learning platform.

Zodra je je hebt geregistreerd op Machine Learning for Kids of Cognimates moet je de API-sleutel voor het gebruikte machine learning platform invoeren. Voor de eerste is dat alleen IBM Watson en voor Cognimates zijn dat er dus Clarify en uClassify. Op de sites staan duidelijke stap-voor-stap instructies over de aanmelding bij de platformen en de API-sleutels.

Machine Learning for Kids

Cognimates

 

Scratch

Nadat de kinderen een datamodel hebben gebouwd en het met voorbeelden hebben getraind kunnen ze dit model gebruiken voor het bouwen van een toepassing. In beide omgevingen kan dit in Scratch en Machine Learning for kids heeft ook de mogelijkheid om een Python toepassing te bouwen of een (Android) App met AppInventor.

Omdat het in de laatste versie van Scratch niet mogelijk is om eigen extensies te gebruiken werken ze ieder met een eigen Scratchkloon. Cognimates noemt haar kloon Codelab, de kloon van Machine Learning for Kids is beschikbaar via machinelearningforkids.co.uk/scratch3/. Het leuke is dat ze allebei een uitbreiding Spraak naar Tekst hebben, die je ook kan gebruiken in andere Scratch projecten.

De integratie met Scratch ziet er bij Cognimates beter uit dan bij Machine Learning for Kids. Niet vreemd als je bedenkt dat het uit dezelfde hoek komt als Scratch: het MIT Medialab.

Spraak of geluid herkennen?

Machine Learning for kids kan worden getraind om geluiden te herkennen, bijvoorbeeld verschillende muziekinstrumenten of soorten muziek. Cognimates kan dit niet, maar heeft in Scratch wel de Spraak naar Tekst blokken. De ingesproken tekst kan hierna als tekst worden herkend.

 

 

Organisatie

In Machine Learning for Kids kan je als beheerder een klas toevoegen, waarbij de leerlingen eigen wachtwoorden krijgen en hun projecten kunnen beheren. Dit kan niet in Cognimates.

Naast elkaar

Vergelijk Machine Learning for Kids Cognimates
Te gebruiken zonder gebruikersnaam en wachtwoord. Ja, leerlingen kunnen het model opbouwen Ja, maar alleen met vooraf getrainde dataset
Herkent
  • Getypte tekst
  • Getallen
  • Afbeeldingen
  • Spraak
  • Geluid
  • Getypte tekst
  • Spraak (via Speech-to-text)
  • Afbeeldingen
Maximum gratis aanvragen voor tekst Watson Assistant (afbeeldingen)

1.000 per maand (plan Lite)

uClassify (tekst)

500 per dag (plan Free)

Maximum gratis aanvragen voor afbeeldingen Watson Assistant 

10.000 per maand (plan Lite)

Clarify (afbeeldingen)

5.000 per maand (plan Community)

Meer aanvragen? Scholen kunnen bij Watson Assistant gratis overstappen naar het plan Standard waarmee er geen beperkingen zijn. Alleen tegen betaling bij uClassify en/of Clarify.
API-sleutels Moeten in beheersomgeving van Machine Learning for kids worden ingevoerd. Leerlingen hebben verder niets te maken met de API-sleutels. Moeten door leerling in Scratch worden ingevoerd. De API-sleutel is hiermee niet echt geheim meer.
API nodig voor herkennen
  • Tekst
  • Afbeeldingen
  • Tekst (wordt in Scratch ook gebruikt voor herkennen spraak).
  • Afbeeldingen
API NIET nodig voor herkennen
  • Getallen
  • Geluid
  • Voorbeeldprojecten die werken met al gedefinieerde dataset.
Toepassing datamodel mogelijk in …
  • Scratch 3.0
  • Verschillende robots via speciale Scratch-uitbreidingen.
Dashboard voor begeleider Ja Nee
Ontwikkeld door Dale Lane (software ontwikkelaar bij IBM) Oorspronkelijk MIT Media Lab