In de praktijk

Kunstmatige Intelligentie/ Achtergrond /In de praktijk

Creative Commons License
This work is licensed under a
Creative Commons Attribution-NonCommercial-ShareAlike 4.0
International License
.

Tegenwoordig zie je op steeds meer plekken kunstmatige intelligentie terug komen. Er zijn tal van fantastische voorbeelden die je misschien wel eens tegen bent gekomen, en elk jaar komen er tientallen nieuwe plekken bij! We zullen gaan kijken naar een klein aantal bekende en recente implementaties van AI.


AlphaGo


AlphaGo die een spel speelt tegen Lee Sedol.

In de sectie Geschiedenis en toekomst hebben we gelezen over de doorbraak van DeepMind's AlphaGo, een AI die gespecialiseerd is in het spelen van het gelijknamige spel Go. AlphaGo wist in 2015 voor het eerst de beste speler ter wereld te verslaan in een spelletje.

Het spel heeft enorm veel mogelijke zetten, waardoor het niet mogelijk is voor simpelere algoritmes om dit probleem op te lossen.

Technieken

AlphaGo maakt gebruik van een combinatie tussen "Monte Carlo Tree Search (MCTS) en "deep learning" neurale netwerken. Monte Carlo Tree search is een techniek die gebruik wordt om zo optimaal mogelijk te zoeken naar een oplossing. Het maakt hiervoor gebruik van heuristieken, zoals bijvoorbeeld ook gedaan wordt bij het zoekalgoritme A*.

Deep learning betekent dat er meerdere "lagen" aan neuronen in het neurale netwerk aanwezig zijn. Over het algemeen zijn veel toepasbare vormen van deep neural networks.

Toepassingen

MCTS wordt toegepast om computers bord en videospellen te laten spelen. Zo is er door middel van MCTS een bot gemaakt voor bijvoorbeeld schaken, kolonisten van Catan, Ms. Pac-Man, Poker, Fable Legends, etc. Het wordt ook daadwerkelijk gebruikt in het spel TOTAL WAR: ROME II om de speler het zo moeilijk mogelijk te maken.

Daarnaast wordt het ook gebruikt door de autopiloot in Tesla auto's om beslissingen te maken.

Deep learning is enorm breed en wordt in veel velden toegepast. Zoals Financial fraud detection, Medical image analysis, Drug discovery and toxicology, Natural language processing, Image recognition en nog veel andere velden.


Tay de Twitter bot

Microsoft heeft in 2016 een twitterbot gemaakt met AI technieken. De bot leerde door middel van de tweets van andere twitter gebruikers. Hoewel het idee erg leuk was, ging dit compleet fout. Binnen de kortste keren begon de bot onder andere racistische en seksistische opmerkingen te maken. Nadat Microsoft hierachter kwam, hebben ze snel de bot offline gehaald. Volgens Microsoft was het probleem dat "internet trollen" massaal misbruik maakte van de AI, waardoor deze de door hen gestuurde opmerkingen ging herhalen.


Hier kan je zien hoe de tweets van Tay binnen een dag veranderden: van vriendelijk, naar hatelijk.

Technieken

Om teksten te kunnen genereren en lezen, moet een systeem taal begrijpen. Hoewel dit voor een mens over het algemeen niet heel lastig is, is het voor een computer nog aardig moeilijk om taal écht te snappen. De overkoepelende term voor het verwerken en schrijven van taal in informatica is "Natural Language Processing" (NLP), of in het Nederlands Natuurlijke Taalverwerking. NLP wordt tegenwoordig veel gedaan door middel van neurale netwerken. Vroeger werden statistische modellen gebruikt om deze taak uit te voeren, deze zijn bijna compleet overbodig geworden.

Microsoft zal een vorm van "Reinforcement Learning" gebruikt hebben, om te kunnen leren van de communicatie met gebruikers. Bij reinforcement learning moet de AI zelf beredeneren of een actie goed of slecht was. Dat kan bijvoorbeeld door positieve of negatieve feedback op een actie. Als de AI iets doet wat de gebruiker waardeert, zal de AI leren om dit vaker te doen. Indien de gebruiker het niet waardeert, zal het minder vaak zo reageren.

Toepassingen

NLP wordt enorm veel gebruikt, elke keer als je met een chatbot praat (bij een online webshop of ergens anders) dan wordt er gebruik gemaakt van NLP.

Hele bekende voorbeelden die enorm veel gebruik moeten maken van NLP zijn Google Now, Siri en Alexa, de spraakassistenten van Google, Apple en Amazon. Deze systemen moeten onder andere gebruik maken van NLP om spraak naar tekst om te zetten, tekst te begrijpen en een tekst weer uit te kunnen spreken. Een volgende stap in NLP is genomen door OpenAI met de applicatie ChatGPT, die je bent tegengekomen in de Introductie. Bij ChatGPT is de feedback niet vast omschreven, maar wordt ook door een getraind AI netwerk vewerkt. ChatGPT valt onder de categorie GAN, waarover meer in de volgende sectie.


GAN

Heel veel bekende vormen van AI maken gebruik van GANs, generative adversarial networks. Netwerken die hier gebruik van maken zijn enorm goed in het creëren van data, die lijkt op de getrainde data. Je kan het zien alsof je een vriend een incomplete puzzel geeft, waar 10 puzzelstukjes van missen. Maar wonder boven wonder kan je vriend de missende puzzelstukjes zelf bedenken en tekenen!

Deze slimme systemen bestaan uit twee onderdelen, een generator en een discriminator. De generator moet zorgen dat het data weet te maken wat de discriminator niet kan onderscheiden van echte data. De discriminator moet op haar beurt leren om zo goed mogelijk de neppe van de echte data te onderscheiden.

Je kan het vergelijken met illegale gelddrukkers (generator) en de politie (discriminator). De Europese bank stopt allemaal verschillende beveiligingskenmerken in de Euro, zodat de politie het echte geld kan onderscheiden van het neppe geld. De illegale drukkers proberen al die verschillende kenmerken te imiteren, zodat het heel lastig wordt om het echte geld te onderscheiden van nep geld. De politie moet steeds beter gaan kijken of het geld echt of nep is, waarna de gelddrukkers nóg beter illegaal geld gaan drukken. Dit is een wedloop die voort blijft gaan.

Toepassingen

Deze netwerken zijn helemaal "hot and happening" in 2021, maar waar kunnen ze voor gebruikt worden in de echte wereld?

Medisch

In de medische wereld worden sinds kort ook dergelijke systemen gebruikt voor de bestrijding van ziektes als kanker. Het netwerk wordt gebruikt om moleculaire structuren te genereren, die gebruikt kunnen worden in medicijnen tegen ziektes.

Chatbox

ChatGPT is een geavanceerd model voor natuurlijke taalverwerking (NLP), ontwikkeld door OpenAI. In tegenstelling tot traditionele NLP-modellen die afhankelijk zijn van handgemaakte regels en handmatig gelabelde gegevens, gebruikt ChatGPT een neurale netwerkarchitectuur en leren zonder toezicht om reacties te genereren. Dit betekent dat het kan leren reacties te genereren zonder dat expliciet verteld hoeft te worden wat het juiste antwoord is, waardoor het een krachtig hulpmiddel is voor het afhandelen van een breed scala aan gesprekstaken.

Beperkingen:

Een van de beperkingen van ChatGPT is dat het een groot en complex model is, waardoor het zeer arbeidsintensief is om uit te voeren. Dit kan het een uitdaging maken om te gebruiken in real-time toepassingen, zoals chatbots, waar snelle reacties nodig kunnen zijn.

Een andere beperking van ChatGPT is dat het een generatief model is, wat betekent dat het niet altijd in staat is om nauwkeurige antwoorden te geven op specifieke vragen. In sommige gevallen kunnen de gegenereerde antwoorden irrelevant of onzinnig zijn, wat het gebruik in bepaalde toepassingen moeilijk kan maken.

Bovendien wordt ChatGPT, net als alle NLP-modellen, beperkt door de kwaliteit en kwantiteit van de gegevens waarop het is getraind. Als het model niet is getraind op een diverse en representatieve gegevensset, is het mogelijk niet in staat om nauwkeurige reacties te genereren op invoer die buiten de trainingsgegevens valt.

Beeldmateriaal

GANs kunnen ook gebruikt worden om oude foto's of films te "restaureren". De AI wordt gevoerd met een verouderde zwart-wit foto of video en het genereert een HD foto of video. Op deze manier kunnen we een ongekende blik in het verleden krijgen.

Het kan ook gebruikt worden om bijvoorbeeld games op een hoge resolutie te spelen. Tegenwoordig heb je 4K en zelfs 8K schermen, een 8K scherm heeft meer dan 33 miljoen pixels! Om deze allemaal aan te kunnen sturen is veel rekenkracht nodig, soms te veel. Om het mogelijk te maken om toch al die pixels aan te sturen terwijl je een spelletje speelt, kan een AI de resolutie verhogen. Jouw computer maakt dus een plaatje van bijvoorbeeld 2 miljoen pixels waarna de AI er 31 miljoen bij bedenkt!

In de toekomst zullen we veel meer toepassingen gaan zien van GANs. Omdat het een relatief nieuwe AI is, zijn er nog veel velden onderbelicht en onontdekt.

Deepfakes

Deepfakes zijn sinds de laatste jaren steeds populairder en makkelijker om te maken. Zo maken veel apps gebruik van "filters" gebaseerd op de techniek. Deepfakes kunnen erg grappig zijn, maar ze kunnen ook veel schade aanrichten. Zo kunnen kwaadwillenden interviews of statements van bekende personen of politici namaken. Deze filmpjes zijn door het blote oog niet makkelijk te onderscheiden van echte interviews.



De 47 minuten durende, maar zeer interessante, documentaire “Zien is geloven” van VPRO tegenlicht geeft goed inzicht in de problemen rond Deep Fakes maar laat ook zien dat er goede dingen mee kunnen worden gedaan.

Opdracht
Zoek zelf nog een aansprekend Deepfake videofragment.

Muzikale AI

De onderzoekers van OpenAI hebben GANs ook gebruikt om een kunstmatige intelligentie muziek te laten maken. Of beter gezegd, de KI moet bekende liedjes afmaken. Het systeem krijgt het begin van een liedje te horen, waarna het zelf moet bedenken hoe het liedje verder zal gaan. De uitkomsten zijn vaak erg bizar en klinken totaal anders dan je zou verwachten.

Opdracht

Beeldmateriaal maken

Een GAN kan ook foto's generen aan de hand van simplistische tekeningen. Deze technieken laten de gebruiker een simpel plaatje tekenen van bijvoorbeeld een kat, waarna deze gegenereerd wordt op een zo realistisch mogelijke manier.

Opdracht

NVIDIA heeft deze techniek ook toegepast op landschappen. Het systeem genereert een realistisch ogend landschap van een gekleurde tekening. De kleuren op het plaatje betekenen allemaal iets anders, elke kleur staat voor een bepaald materiaal. Zo wordt grijs vertaald naar wolken, lichtblauw naar zee, bordeaux rood naar bloemen, etc.

Deze persoon bestaat niet(!)

Onderzoekers hebben in december 2019 een paper uitgebracht over *StyleGAN2*, een netwerk dat mensen en objecten kan genereren die nooit bestaan hebben. Om te laten zien hoe goed hun netwerk is, hebben ze een website gemaakt:This person does not exist.

Op de website wordt groot een foto van een persoon getoond, maar de grap is dat deze persoon niet bestaat en compleet is gegenereerd door de GAN.

Opdracht
  1. Ga naar de website en bekijk de personen. De website laat een nieuwe foto zien als je de pagina herlaad (F5). Kan jij de foto's van echt onderscheiden? Zo ja, hoe? Zo niet, waarom niet?
    antwoord



    • Misschien vond je het erg lastig, of had je het snel door als je goed keek naar het plaatje. Vaak kan je bij overgangen van personen naar objecten/achtergrond nog wel eens een "artifact" vinden. Haar, ogen en kleding kunnen ook nog wel eens fout gaan. Als je heel ver in de plaatjes inzoomt kan je ook soms wel zien dat het een beetje raar oogt.

      Ook kan het gebeuren dat het netwerk een object een beetje half heeft gegenereerd. Hierdoor is het voor een deel zichtbaar of doorzichtig. Een beetje een geest-achtig effect geeft dit.

  2. Als je op This person does not exist een tijdje wacht komt een pop-up je verwijzingen naar code for training your own. Misschien een idee voor de verdiepende opdracht bij het hoofdstuk neurale netwerken.

Kunst uit tekst

Waar ChatGPT tekst uit tekst produceert zijn er ook AI applicaties die op basis van een tekstuele omschrijving beelden samenstellen. Ook hier is OpenAI met DALL-E-2 mee bezig. Alternatieven zijn onder andere Craiyon en Stable Diffusion.

Vragen
  1. Wat is Monte Carlo Tree search?
    antwoord
    • Monte Carlo Tree search is een techniek die gebruik wordt om zo optimaal mogelijk te zoeken naar een oplossing.
  2. Wat is de overkoepelende term voor het verwerken en schrijven van taal in informatica?
    antwoord
    • Natural language processing / Natuurlijke taalverwerking
  3. Leg uit wat een GAN is en noem 2 serieuze toepassingen waarin GAN's worden gebruikt.
    antwoord
    • Een GAN is een neuraal netwerk dat nieuwe data genereert op basis van trainingsdata van de zelfde vorm. Serieuze voorbeelden: Restauratie van oud beeldmateriaal, Zoeken naar nieuwe chemische verbindingen voor werkende medicijnen, ...
  4. Noem twee beperkingen van ChatGPT als toepassin voor een klantenservice.
    antwoord
    • Twee uit:

      ChatGPT is een groot en complex model is, waardoor het zeer arbeidsintensief is om uit te voeren.

      ChatGPT is dat het een generatief model is, wat betekent dat het niet altijd in staat is om nauwkeurige antwoorden te geven op specifieke vragen. In sommige gevallen kunnen de gegenereerde antwoorden irrelevant of onzinnig zijn, wat het gebruik in bepaalde toepassingen moeilijk kan maken.

      ChatGPT, wordt net als alle NLP-modellen, beperkt door de kwaliteit en kwantiteit van de gegevens waarop het is getraind.