AI en Apps: zo zet je algoritmes in voor je eigen app

Apps en AI, twee relatief nieuwe technologieën die de mogelijkheid bieden om elkaar te versterken. Maar hoe zorg je ervoor dat AI een succesfactor wordt in jouw app-verhaal? En hoe start je er concreet mee?

Lees het artikel of bekijk de livestream opnieuw:

video een eigen app maken

We vragen het Chris van Aart (rechts), oprichter en technisch directeur van Bolesian. Hij werkt sinds de jaren '90 met AI. Destijds stond het nog in de kinderschoenen, maar nu is het een hot topic. Waar men eerst weinig begreep van computers, rekenkracht minimaal was en het met data en geld niet veel beter was gesteld, is het nu een gouden tijd voor AI. Met Bolesian houdt hij zich nu zo'n 4 jaar bezig met het automatiseren van menselijke kennis. Onmenselijk grote taken — 1 miljoen documenten doorlezen of 100 miljoen foto's analyseren — maken ze menselijk met AI, samen met zo'n 40 specialisten. Chris, wat kan AI betekenen voor het succes van een app?

Verschil tussen AI, machine learning en algoritmes

AI

AI is een paraplutherm: kort gezegd, wanneer een computer iets slims doet of menselijk gedrag kopieert, noemen we dat kunstmatige intelligentie, AI.

Machine Learning

Machine Learning (ook wel: ML) is een variant hiervan. Je leert een computer om zelf te leren. Bijvoorbeeld om gezichten, handschriften of verkeersborden te herkennen. Dat doet de computer aan de hand van de voorbeelden die je voedt.

Algoritmes

Aan de andere kant hebben we algoritmes. Deze zet je in als je meer nodig hebt dan herkenning, bijvoorbeeld afleiding of beredenering. Aan de hand van gegeven input gaat de computer dus redeneren.

Voorbeeld van Machine Learning en Algoritmes

Een voorbeeld van de toepassing van beide varianten is de artificial inspector die we voor Rijkswaterstaat hebben ontwikkeld. Dit systeem werkt op een smartphone die aan de binnenkant van kajuiten van binnenvaartschepen worden geplaatst. De camera vangt beelden op en herkent de boeien die in het water liggen: machine learning. De plaatsing van de boeien op de beelden vergelijkt deze met de data van Rijkswaterstaat waar de boeien zouden moeten liggen: algoritmes. Dit is belangrijk om accurate en actuele data te genereren voor de gehele binnenvaart.

Het idee is dat deze app het werk doet van een inspecteur, maar dan elke dag en mogelijk op elk binnenvaartschip. Dit helpt om de vaarroutes veilig te houden; de boeien geven aan waar de vaarroute ligt. Hiermee voorkom je ongelukken zoals schepen die botsen of een brug rammen. En hier is AI een stuk goedkoper dan het inzetten van een inspecteur.

Hoe zet je AI in voor apps?

Wat je je misschien niet realiseert is dat er al aardig veel AI op een smartphone zit. Gezichtsherkenning, bijvoorbeeld. Denk aan gezichten zoeken in foto's. Games hebben te maken met AI in de vorm van een computergestuurde vijand. En social media zet AI in om ervoor te zorgen dat je zolang mogelijk gebruik maakt van de app. Streamingdiensten geven kijk- of luisteradviezen gebaseerd op AI. Ook dicteersoftware maakt gebruik van AI. Apps als Shazam gebruiken het weer om de muziek die je hoort op te zoeken in een database. Tot slot ook filters in apps als SnapChat, die jouw gezicht er anders uit laat zien dan het echt is.

De belangrijkste sensoren voor AI op smartphones zijn de camera voor beeldherkenning, tracking via GPS en herkenning van geluid via de microfoon. Daarnaast komen er steeds meer fysiologische trackers, zoals voor je hartslag, bloeddruk en zuurstof in je bloed via de smartwatch.

Voorbeeld van AI

Voorbeelden van AI? Je ziet steeds meer toepassingen voor personal health. Zo kun je zien:

  • Of je huid verbrand is.
  • Wanneer er huidkanker zichtbaar is.
  • Je hartslag meten met een camera.
  • Zien hoe je ademt.

Wie weet komen er apps die je motivatie van je gezicht af kunnen lezen!

Veel van deze AI wordt al aangeboden door de grootste techbedrijven, Google en Apple. Ga maar eens na welke functies er allemaal al zijn en welke AI daarvoor wordt ingezet.

Gebruiken wat bestaat of zelf een AI ontwikkelen

Als je zelf met AI wil gaan werken voor je app, heb je de keuze om bestaande AI in te zetten, of om zelf een AI te ontwikkelen. Uiteraard is de tweede optie meer wendbaar voor jouw idee, maar kost je dat ook meer tijd en geld.

Er is ook een limiet voor wat je met AI kan. Zo kan een neuraal netwerk (de toepasbare vorm van AI) bijvoorbeeld getraind worden om honden of katten te herkennen, maar als je het een afbeelding van een eend laat zien, slaat 'ie op tilt of geeft het alsnog antwoord in de vorm van 'hond' of 'kat'. En waarom dat het die keuze maakt, kan het netwerk niet uitleggen.

Gelukkig zijn er al veel beschikbare neurale netwerken op de markt die als goede basis kunnen werken voor je app-idee.

Kosten van AI

En wat het mag kosten? Stel jezelf eerst een aantal vragen om de complexiteit van de benodigde AI te bepalen. Bijvoorbeeld:

  • Is het er al? Is de AI die jij zoekt al eerder gemaakt?
  • Heb je een goede dataset als je met machine learning aan de gang gaat?
  • Kan je het netwerk zelf programmeren, laat je dat een professional doen en doe je dat in binnen- of buitenland?
  • Hoeveel stappen zijn er nodig om op het gewenste antwoord te komen?

Stel, je wil een app zoals SnapChat hebben, met filters om een gezicht te veranderen. Dan heb je de mogelijkheid om gebruik te maken van de bestaande AI van Google en Apple. Die neurale netwerken zijn al zover getraind dat je daar weinig ontwikkelingswerk voor hoeft te doen.

Het nadeel hiervan is dat je native aan de slag moet gaan. Oftewel, je moet die AI in de native omgeving van Android of iOS verwerken. Wil je dat niet, of zoek je een AI die (nog) niet bestaat? Dan gaan de kosten gegarandeerd omhoog.

Voor het kostenplaatje ligt het er dus geheel aan hoe goed je het wil hebben en de taken die je wil laten uitvoeren. Dat kan variëren van € 5.000,— voor kleine projecten tot wel € 10.000.000,— voor grootschalige projecten. Afhankelijk van je financiële situatie zullen bepaalde opties al dan niet voor je werken.

Ontwikkel je een app met bestaande maar ongetrainde AI, dan is dat vrij goedkoop. Daar is vrij gemakkelijk aan te komen. Maak je liever gebruik van getrainde netwerken, dan kun je die inkopen. Elke keer dat die wordt aangeroepen, betaal je dan bijvoorbeeld € 0,01. Voor grotere projecten moet je op z'n minst het labelen van het netwerk meerekenen. Dit is het werk dat gedaan moet worden als deel van de training van je neurale netwerk. Je voert de AI afbeeldingen en leert wat het moet gaan herkennen. Stel, je gaat uit van een uurprijs van € 100,— dan zit je al gauw aan de € 10.000,—.

Nadelen van AI?

Er zijn een aantal dingen waar je voor moet opletten, vooral als je nooit eerder met AI hebt gewerkt. Dit betekent niet dat je AI nooit moet gebruiken, maar dat een onbezonnen begin later voor problemen kan zorgen. Dus ga de volgende punten goed na!

  • Machine learning: je bent afhankelijk van de kwaliteit van je dataset, oftewel de data waarop je systeem traint. Zo werd er een systeem getraind om Amerikaanse presidenten te herkennen. Je zou denken dat je dan kijkt naar iemands houding of uitdrukking. Maar nee, het systeem keek vooral naar vlaggen! Want bij veel foto's zijn de Amerikaanse vlaggen te zien. Dus, geen vlag, geen president, aldus het systeem.   
     
  • Daarnaast zie je dat als systemen leren van mensen, ze ook slechte eigenschappen aanleren. Discriminatie bijvoorbeeld. Bij de recruitment van Amazon werd een AI gemaakt op basis van hun recruitment. En daarmee bleek dat de AI ging discrimineren, waarbij bleek dat de recruiters dit zelf dus ook doen. Oei! Je kan dus lastig voorspellen hoe het systeem leert.   
     
  • Ook wordt AI vaak overschat. Zo'n trainingset van data is fijn, vooral als je hoge percentages van positieve herkenningen behaalt. Top! Maar met een nieuwe dataset kan dit enorm kelderen.   
     
  • Er is een systeem dat Covid19 zou kunnen detecteren op basis van beelden van de borstkas. Echter bleek dit systeem beter in het herkennen van het aantal ribben. Zo kwam het systeem alsnog regelmatig in de knel. Het systeem is dus nooit slimmer dan dat je het maakt.   
     
  • Tot slot zie je ook bij discussies zoals bij de toeslagenaffaire dat men niet meer weet hoe het systeem tot een bepaald antwoord is gekomen; waarom worden bepaalde keuzes gemaakt? Transparantie is vrij lastig met AI.

 

Starten met AI voor je app?

Google eens op "Apple Core ML", "Azure Cloud ML" of "Google ML kit" dan kom je gelijk op de bestaande AI services van grote leveranciers. Daar krijg je onder andere de technologie om een app te maken die werkt als een 'derde oog'. Bijvoorbeeld, een app die je helpt met het beste product in het schap uitzoeken voor je dieet.  Of met andere tech zoals 'derde oor' dat je gebruikt als app die je tips geeft voor in je gesprek.

Dit soort technologie kan je ook combineren met Augmented Reality, waarmee je ook een beeld krijgt van de input die je krijgt uit de app. Zo'n aanpak voor een app-idee noemen we "technology driven", oftewel: je denkt vanuit de techniek. Dus dan kijk je vanuit de mogelijkheden van de technologie naar een toepassing. Er zijn in ieder geval nog veel mogelijkheden die (nog) niet zijn uitgewerkt.

Tip voor starters met een app-idee

In tegenstelling tot technologie driven, dat vaak wordt gebruikt, zou een beter aanpak zijn om te zien wat dat idee oplevert voor een gebruiker. Dus of je de app zelf ook zou willen gebruiken? Los je er een probleem mee op, verbeter je de wereld ermee? Dus de app meot niet alleen AI bevatten omdat het kán, het moet ook nuttig zijn voor anderen.

Ten tweede moet je app de belofte ook waarmaken. Als jouw app met de camera huidkanker kan detecteren op een huid, wil je als gebruiker ook wel dat de app het echt goed doet. Dus wat je bedenkt, kán de techniek dit wel?

Tot slot is het gemakkelijker om eerst 20 verschillende ideeën te bedenken en daaruit bijvoorbeeld 3 beste te selecteren en vandaaruit verder te gaan, dan in 1x de beste app te bedenken. Denk niet gelijk vanuit de technologische mogelijkheden, maar vooral naar de toegevoegde waarde. Die techniek komt daarna wel.

Beluister het volledige interview met Chris over AI en apps hieronder:

video een eigen app maken

Stap voor stap

Chris, ontzettend bedankt voor het delen van je kennis over AI voor apps! Hopelijk helpt het lezers op de goede weg als ze overwegen om AI in te zetten voor hun app-idee.

Heb jij zo'n app-idee, maar weet je niet zo goed waar je moet beginnen? Maak dan gebruiken van het Stappenplan, dat je hieronder kunt aanvragen. Laat je mailgegevens achter en voor je 't weet belandt het Stappenplan in je mailbox.

-David van AppSpecialisten