WhatsApp Facebook Twitter LinkedIn Mail

Deep Learning: kunnen machines geprogrammeerd worden om net als mensen te denken?

Inhoudsopgave

  1. Definitie
  2. Neurale netwerken
    1. Convolutional Neural Networks
    2. Recurrent Neural Networks
    3. Generative Adversarial Networks
  3. Gebruik
    1. Fraudedetectie
    2. Gezondheidszorg
    3. Klantenloyaliteit
    4. Ander gebruik
  4. Geschikt voor elk bedrijf?

Wat is deep learning?

Deep learning (DL) is een vergevorderde vorm van machine learning. De technologie is gebaseerd op de werking van het menselijke brein en bestaat uit neurale netwerken. Deep learning verwerkt en analyseert data voor diverse doeleinden, onder andere: de herkenning van objecten, de interpretatie van gesprekken en de vertaling van documenten. Net als andere vormen van machine learning zorgt deze technologie ervoor dat artificial intelligence steeds breder kan ingezet worden.

Het verschil met ‘gewone’ machine learning is dat deep learning zelfstandiger te werk gaat. Bij machine learning moet een mens het systeem bepaalde dingen aanleren, zoals het herkennen van objecten. Deze objecten kunnen heel verschillend zijn: van een fiscaal gegeven tot een afbeelding van een hond. Een medewerker (een mens dus) voert de eigenschappen van het object in. Bij het voorbeeld van de hond zijn deze eigenschappen bijvoorbeeld: vier poten, een staart, twee oren bovenop het hoofd, grote hoektanden en de manier van bewegen. Aan de hand van deze eigenschappen zal het systeem de volgende afbeelding of video van een hond zelf herkennen.

Deep learning heeft minder initiële aanwijzingen nodig. Als het systeem gevoed wordt met afbeeldingen of video’s van een hond, en erbij gezet wordt dat het een hond is, dan zal het systeem zelf de eigenschappen achterhalen. Afhankelijk van de software, de complexiteit van het te herkennen object en de kwaliteit van de originele input heeft een DL-systeem meer of minder ‘training’ nodig om het object te herkennen. In sommige gevallen zullen er maar vijf initiële foto’s nodig zijn om ervoor te zorgen dat de volgende hond automatisch herkend wordt, in andere software moeten 20 afbeeldingen of video’s geüpload worden. Om op deze manier te kunnen werken, heeft het systeem met DL overigens wel een sterke grafische kaart en veel opslaggeheugen nodig.

artificial intelligence machine learning deep learning

Bovenstaand voorbeeld met de hond is een erg eenvoudige toepassing van deep learning. Het systeem kan door middel van het vinden van eigenschappen en patronen echter ook op een complexere manier ‘denken’. Enkele voorbeelden van deep learning in het echte leven zijn slimme stemassistenten (zoals Siri of Alexa), de luister- of kijktips op streamingplatformen (zoals Spotify of Netflix) en zelfs de prototypen van zelfrijdende auto’s.

In de volgende video (3:18 min) ziet u hoe zelfrijdende auto’s worden ontwikkeld. In deze simulatie leren auto’s een weg met bochten te volgen, zonder dat een bestuurder aan het stuur draait. Ze leren de afstanden en bochten inschatten op basis van neurale netwerken en algoritmes.

Waarvoor worden neurale netwerken gebruikt bij deep learning?

Om de werking van het menselijke brein te imiteren moet deep learning continu data analyseren aan de hand van een logische structuur. Deze logische structuur wordt verschaft door kunstmatige neurale netwerken (artificial neural networks, ANN’s). Neurale DL-netwerken zijn opgebouwd uit verschillende lagen met algoritmes.

Door de algoritmes kunnen neurale netwerken patronen herkennen en verschillende soorten informatie classificeren. De verschillende lagen zijn een soort filters, waarbij er van grof naar fijn gewerkt wordt. De eerste laag ‘filtert’ de meest algemene elementen, en elke volgende laag past een fijner filter toe. Als voorbeeld weer de hond: de eerste laag kan bepalen dat het een viervoeter is, de tweede laag kan detecteren dat het om een vleeseter gaat, de derde dat het een hondachtige is, enzovoort.

Elk van de lagen gebruikt voorbeelden uit het verleden om de filter op te baseren. Anders dan bij gewone machine learning, zorgen de neurale netwerken ervoor dat DL zélf verbanden ziet, en zo steeds beter kan bepalen om wat voor een object het gaat, of hoe het zich zal gedragen. Bijvoorbeeld: aan de hand van enkele voorbeelden kan deep learning de letter ‘a’ herkennen, hoe ze maar ook geschreven is (lettertype, handschrift, verschillende kleuren). Een persoon hoeft hiervoor niet alle mogelijke manieren in het systeem beschreven te hebben. Net als het menselijke brein haalt DL de gemeenschappelijke eigenschappen uit de letter, om te bepalen dat het om een ‘a’ gaat.

Er bestaan verschillende soorten kunstmatige neurale netwerken. De keuze voor het gebruik van het ene of het andere systeem zal afhangen van het doel dat het bedrijf ermee wil bereiken.

Convolutional neural networks (CNN’s)

Convolutional neural networks zijn ontwikkeld om gestructureerde nuances te onderscheiden, zoals die in afbeeldingen. Met CNN’s kunnen deze geclassificeerd worden op basis van patronen en objecten die erop te zien zijn, zoals lijnen, cirkels, ogen, gezichten etc.

CNN’s worden vaak ingezet bij computer vision. Ze kunnen namelijk gebruik maken van raw images, die niet op voorhand bewerkt hoeven te worden. Hierdoor zijn deze netwerken erg geschikt voor de classificatie van afbeeldingen en de identificatie van voorwerpen. Maar ze worden ook ingezet voor natural language processing (nlp, natuurlijke taalverwerking), waarbij deep learning teksten in een natuurlijke taal classificeert. Via nlp kan het systeem bijvoorbeeld bepalen voor welke afdeling binnen het bedrijf een ontvangen mail bedoeld is, ook al staat de naam van de afdeling zelf er niet in.

Gemiddeld gebruiken CNN’s 20 tot 30 lagen voor de interpretatie van een object. Naarmate de CNN’s meer lagen gebruiken, zal de classificatie preciezer worden. Elke laag past namelijk een nieuw, fijner, filter toe. Niet elk object heeft evenveel filters nodig. Cijfers die met de hand geschreven zijn, worden bijvoorbeeld vaak al na het toepassen van drie tot vier lagen herkend, terwijl er voor menselijke gezichtsherkenning meestal minstens 25 lagen nodig zijn.

Recurrent neural networks (RNN’s)

Recurrent neural networks worden gebruikt voor de interpretatie van semi- of ongestructureerde data. Ze kunnen bijvoorbeeld worden ingezet voor het maken van vertalingen of spraakherkenning (speech recognition). Door deze technologie kunnen spraakassistenten de stem en het accent van hun ‘eigenaar’ herkennen. Hierdoor zullen ze steeds beter reageren op de commando’s, en kan de gebruiker steeds natuurlijker gaan spreken tegen het apparaat.

Een belangrijk element bij RNN’s is het geheugen van het systeem. Dit geheugen slaat vergaarde informatie op en past de input en output erop aan. In het voorbeeld van de spraakassistent zien we bijvoorbeeld dat deze na een tijdje ook regionale bewoordingen begrijpt en zelfs gebruikt. Een ander voorbeeld zijn de suggesties die verschijnen als de gebruiker een bericht typt op een mobiele telefoon. Op basis van voorgaande berichten die met de telefoon geschreven zijn, worden bij het typen van een woord meteen de volgende woorden of zelfs zinnen voorgesteld.

Generative adversarial networks (GAN’s)

Generative adversarial networks worden ingezet voor de creatie van beelden die echt lijken, maar dat niet zijn, zoals gezichten van mensen die niet bestaan, of video’s waarin bewegingen worden gemaakt die in het echt niet gemaakt zijn (deep fakes). Ook worden er met behulp van GAN’s vaak 3D-modellen gemaakt van zaken waarvan alleen 2D-tekeningen bestaan; of helpen deze netwerken een standaardbeeld te maken van een bepaald soort melkwegstelsel, op basis van de (weinige) eigenschappen en afbeeldingen die als voorbeeld voorhanden zijn.

GAN’s bestaan eigenlijk uit twee netwerken. Het eerste netwerk creëert de beelden. Het tweede netwerk analyseert ze. Dit tweede netwerk is de ‘antagonist’. Het is getraind op het herkennen van echte beelden, en zal alles wat niet echt lijkt rapporteren. Zo zorgen GAN’s ervoor dat de gecreëerde beelden niet te onderscheiden zijn van echte beelden.

Hoe ziet deep learning er in de dagelijkse praktijk uit?

Deep learning klinkt misschien nog als hooginnovatieve toekomstmuziek, maar is eigenlijk al aanwezig in ons dagelijkse leven. We vinden de technologie bijvoorbeeld in:

Detectie van financiële fraude

Banken en andere financiële instellingen moeten tegenwoordig grote technologische inspanningen leveren op het gebied van fraudebestrijding. Een belangrijke taak is bijvoorbeeld het opsporen van fraude bij digitale geldtransacties. Hiervoor worden, onder andere, patronen opgemaakt van het gedrag van cliënten. Zodra deze patronen duidelijk zijn, kan namelijk veel eenvoudiger worden gesignaleerd of er sprake is van afwijkend gedrag is, dat mogelijk op fraude wijst. Voor het identificeren van patronen en ongebruikelijke activiteit worden machine learning en deep learning gebruikt.

Ongebruikelijke activiteit detecteren is op zich niet het moeilijkste. Bepalen of er sprake is van fraude, is een andere zaak. Vaak krijgen klanten een ‘vals positief’ voor fraude. Bijvoorbeeld als iemand voor een feest eenmalig grote betalingen doet aan cateraars, zaalverhuurder, kledingzaken, etc. Maar ook hieraan wordt gewerkt. BBVA heeft in 2018 bijvoorbeeld samengewerkt met een onderzoeksteam van de Massachusetts Institute of Technology (MIT) om die vals-positieven zo veel mogelijk kwijt te raken. Door deep learning verder te ontwikkelen, is men erin geslaagd om de valse meldingen van fraude met zo’n 54% terug te brengen.

Wist je dat? Deep learning is niet de enige technologie die zich bezighoudt met de tracering van financiële fraude. Ook blockchain wordt veelvuldig ingezet. Deze technologie baseert zich niet op artificial intelligence, maar legt elk detail vast in een database waarin niets meer gewijzigd kan worden. Hierdoor kan een frauduleuze transactie niet verdoezeld worden.

Snelle detectie van gezondheidsproblemen

Een van de sectoren waar deep learning erg veel impact heeft gehad is de gezondheidszorg. Door het systeem kunnen nu heel wat pathologieën sneller of eenvoudiger gedetecteerd worden. Denk hierbij aan bepaalde kankers, osteoporose, spraakstoornissen bij kinderen, de ziekte van Alzheimer, etc.

In 2018 deed NVIDIA, een producent van computerhardware, een studie waarbij ze een convolutional neural network trainden om tumoren te classificeren aan de hand van afbeeldingen. De bedoeling was dat dit netwerk de tumoren indeelde aan de hand van hun ernst, en dus de op basis van de fase waarin de kanker zich bevond. Na een controle via traditionele studiemethodes (zoals een fysiek onderzoek door een dokter of een analyse van een staal in het laboratorium), werd duidelijk dat het netwerk in 82% van de gevallen de ernst van de situatie correct had ingeschat.

Personalisatie om klanten te binden

Online winkels moeten steeds innovatiever zijn, en de klant de beste service bieden. Alleen zo komt die klant weer terug voor een nieuwe aankoop. Veel webwinkels maken gebruik van deep learning om de interesses en smaak van klanten te leren kennen. Zo kunnen ze hen op een gepersonaliseerde manier producten aanbieden. Amazon toont zijn klanten suggesties gebaseerd op de zoekgeschiedenis, of op de items die ooit op de wensenlijst zijn gezet. Als een klant bijvoorbeeld een wensenlijst heeft die ‘huis’ heet en er staat veel keukengerei op, dan stuurt de webwinkel af en toe een mailtje met suggesties voor huishoudelijke apparatuur. Als daar enthousiast op gereageerd wordt (er wordt op de link geklikt, het item wordt toegevoegd aan de wensenlijst of het item wordt gekocht), dan snapt het systeem dat huishoudelijke apparaten interessant zijn voor de klant. Als de klant er niets mee doet, dan houdt deep learning het weer bij keukengerei.

Streamingplatformen zoals Netflix, HBO, Prime, Disney of Spotify werken op dezelfde manier. Ze stellen muziek, series of films voor en als je er als gebruiker positief op reageert, gaan ze in deze stijl verder met de voorstellen. Zo wordt het platform steeds persoonlijker en daardoor aantrekkelijker voor de klant.

Andere veelvoorkomende toepassingen van deep learning

Naast de bovengenoemde toepassingen zijn er nog een aantal andere zaken waarbij deep learning van groot nut kan zijn. Bijvoorbeeld:

  • De vertaling van tekst in afbeeldingen of video’s: deep learning herkent tekst in een afbeelding en kan deze eruit lichten en vertalen. Daarna kan het systeem ook gebruikt worden om de vertaling weer mooi te doen passen in het originele beeld. Dit mechanisme wordt bijvoorbeeld gebruikt bij de vertaling van animatiefilms.
  • De zoektocht naar foto’s aan de hand van zoektermen: via deep learning kan een foto gevonden worden op basis van een tekstuele zoekterm, zonder dat er aan de afbeelding attributen of metadata hoeven te worden toegekend. Deep learning herkent namelijk objecten of gezichten op de foto’s. Google Foto’s maakt hier bijvoorbeeld gebruik van. Als een gebruiker in de applicatie zoekt op een persoonsnaam, krijgt hij de foto’s met die persoon te zien. Ook kan hij of zij zoeken op een term zoals ‘strand’, en alle foto’s genomen op het strand zullen gevonden worden. Hetzelfde mechanisme wordt gebruikt voor de (semi-)automatische etikketering van personen op Facebook of Instagram.
  • Het ontwerp van zelfrijdende auto’s: bij de ontwikkeling van dit soort wagens wordt zwaar ingezet op deep learning. Het idee is dat deep learning alle relevante data verzamelt met behulp van camera’s en sensoren. Op basis hiervan neemt de de auto beslissingen. Een wagen die 100% autonoom is bestaat nog niet, maar er worden serieuze stappen gezet. Zo bestaan er al heel wat auto’s die automatisch afstand houden van de voorganger, zelf parkeren of ervoor zorgen dat er niet van het rijstrook wordt afgeweken.

Heeft elk bedrijf baat bij deep learning?

Als een softwareleverancier deep learning aanbiedt bij zijn pakket voor artificial intelligence, is deze techniek meestal ontwikkeld en getraind voor één specifiek doel. Platformen zoals WordPress, Magento en Woocommerce bieden de functionaliteit bijvoorbeeld aan om een klant online producten te kunnen tonen die bij hun interesses passen. Als een bedrijf DL breder wil inzetten, dan zal het systeem verder ontwikkeld en getraind moeten worden. Dat is geen eenvoudige opgave, en veel leveranciers bieden deze mogelijkheid dan ook niet.

Ook bij productiesoftware komt deep learning steeds vaker voor. Zo kunnen onderdelen bijvoorbeeld automatisch herkend en geclassificeerd worden bij binnenkomst in het magazijn. Maar, als het bedrijf verder gebruik wil maken van de mogelijkheden van deep learning, is er meteen erg veel technische kennis nodig. Zo zal er een programmeur bij nodig zijn die kennis heeft van Python en de bijbehorende bibliotheken (Numpy en Pandas). Bovendien komen er ontwikkeltools voor deep learning bij kijken, zoals Anaconda notebook en Jupyter notebook. Bovendien moeten ook specifieke frameworks gebruikt worden, zoals Tensorflow, Pythorch. Keras, DL4J, Café of Microsoft Cognitive Toolkit.

Naast de technische kennis is ook de voortdurende toegang tot een grote hoeveelheid data van essentieel belang. Deep learning heeft deze data nodig om te blijven leren. Maar niet alle hardware kan grote hoeveelheden data aan. De investering in hardware met een serieuze opslagcapaciteit, en idealiter met verschillende GPU’s (Graphic Processing Units), is niet voor elk bedrijf realistisch.

Ten slotte moet een systeem voor deep learning ook getraind worden. Er is weinig menselijke interventie nodig, maar het systeem moet wel de tijd krijgen om te ‘leren’. Afhankelijk van wat er verwacht wordt van het systeem, kan de training een paar uur tot een paar maanden duren. Ook de hoeveelheid data en lagen hebben een invloed op de trainingsduur. Sommige bedrijven kunnen zich deze investering niet veroorloven, omdat ze niet zo lang kunnen wachten op de return on investment (ROI).

Dit artikel als bron gebruiken? Klik en kopieer:

European Knowledge Center for Information Technology. (2021, 19 oktober). Deep Learning: kunnen machines geprogrammeerd worden om net als mensen te denken? ICT Portal. https://www.ictportal.nl/ict-lexicon/deep-learning