Termen en begrippen
AI is de afkorting voor Artificiële Intelligentie, oftewel kunstmatige intelligentie. In het verleden werd dit ook wel afgekort tot KI, maar dat doet mij teveel denken aan 'kunstmatige inseminatie', dus houd ik het op deze website bij AI als ik het wil afkorten.
Er zijn twee grote richtingen binnen de AI: de expertsystemen en de neurale netwerken. Beide hebben een geheel eigen toepassingsgebied. Kort door de bocht: als de onderliggende regels duidelijk zijn en bekend zijn bij menselijke experts, dan kan het in een expertsysteem worden geprogrammeerd; als aan de andere kant de regels vaag zijn en bijvoorbeeld sterk afhankelijk zijn van visuele patroonherkenning, dan komt een neuraal netwerk beter tot zijn recht.
Expert systemen
Tegenwoordig worden expertsystemen ook gewoon kennisgebaseerde systemen, of kennis gestuurde systemen genoemd. De huidige expertsystemen bestaan uit twee delen: een knowledge base en een inference engine. De knowledge base bevat bekende uitgangswaarden die gebruikt moeten worden in de redenatie/berekening. De inference engine is een heel stelsel van regeltjes, die de kennis over processen vastlegt. Stel dat een pensioen-administratie-systeem is gebouwd met een expertsysteem, dat staat in de knowledge base wat dit jaar de waarde van de 'franchise' is; in de inference engine staat hoe op basis van die 'franchise' het pensioenbedrag berekend wordt.
Het grote voordeel van deze tweedeling is dat er geen programmeur bij gehaald hoeft te worden als de 'franchise' verandert, maar dat een expert dit zelf kan aanpassen.
Als de kennis zo complex is dat het niet helemaal is uit te schrijven, zoals bijvoorbeeld in de medische wetenschap, dan kan een expertsysteem ook getraind worden. De menselijke expert geeft aan hoe goed of slecht het gegeven antwoord van het systeem is, en het systeem rekent zelf terug waar er waarden of regels moeten worden aangepast.
Het grote voordeel van zo'n expertsysteem is, dat de kennis van heel veel experts samengevoegd kan worden, tot een uiteindelijk onfeilbare bron, die niet moe wordt, en op heel veel plaatsen tegelijk ingezet kan worden. In de meeste gevallen is het nog steeds aan te bevelen er een menselijke operator naast te zetten, voor het geval zich een uitzonderlijke situatie voordoet, waar het systeem niet op is voorbereid.
Bekende voorbeelden van expertsystemen zijn schaakcomputers, die tegenwoordig in staat zijn grootmeesters te verslaan. Vergeet ook de vertaal-apps zoals Google Translate niet, die zowel woorden met dubbele betekenissen, als betekenissen met verscheidene synoniemen correct moeten omzetten tussen verschillende talen. Bijna alledaags zijn AI-gestuurde tegenstanders in een game, die met eenvoudige regels toch 'intelligent' gedrag vertonen en zich aan de speler kunnen aanpassen.
Neurale netwerken
Neurale netwerken zoals die worden geprogrammeerd op computers, zijn gebaseerd op ons onderzoek naar de hersenen, en onze kennis van de neuronen in onze hersenen. Wetende dat onze hersenen een geweldige hoeveelheid informatie kunnen verwerken, is het heel lang een droom geweest om dit na te bouwen in een computer. Het vordert in kleine stapjes. Met het voortschrijden van de technologie kunnen steeds grotere en complexere neurale netwerken worden geprogrammeerd, op steeds snellere computers.
Neurale netwerken zijn opgebouwd met lagen van neuronen, waarbij iedere neuron verbonden is met de neuronen in de laag eronder en de laag erboven. Bij iedere verbinding hoort een waarde die aangeeft hoe sterk de verbinding is. Die waarde kan positief, negatief of nul zijn. In de praktijk betekent dit, dat juist die verbindingswaarden de kennis van het netwerk vastleggen. De waarden in de neuronen geven 'het plaatje' weer waar op dit moment naar gekeken wordt. Het hoeft natuurlijk geen visuele informatie te zijn. Alle invoerwaarden die in getallen omgezet kunnen worden (afstanden, luchtdruk, stroomsnelheid, licht, kleur) kunnen in principe door een neuraal netwerk verwerkt worden.
Het aantal lagen en het aantal neuronen in iedere laag maken samen de complexiteit van het neurale netwerk. Hoe groter de complexiteit, hoe meer details en verschillen erdoor herkent en verwerkt kunnen worden. Werden eerder neurale netwerken nog vooral gebruikt om een plaatje te scannen en vervolgens te kunnen zeggen: wel/geen mens, of wel/geen kat, en werd dit steeds verder uitgebreid tot de huidige mogelijkheden van Google Search die automatisch plaatjes kan classificeren op heel veel kenmerken tegelijk, nu zijn we zover dat er neurale netwerken succesvol zijn getraind om ook het omgekeerde te kunnen: woorden invoeren en een plaatje gegenereerd krijgen waarin die woorden worden uitgebeeld. Afbeeldingen kunnen worden gegenereerd. En niet alleen de afbeelding zelf, maar ook de stijl van de afbeelding (fotografisch, aquarel, 3D visualisatie, olieverf schilderij, abstract) kan in tekst worden gevraagd en in de afbeelding worden weergegeven.
Dit zijn spannende tijden, zowel voor kunstenaars die hun ambacht gekaapt zien door computers, als door aspirerende kunstenaars die nu eenvoudiger de middelen hebben om ook zelf te creëren. Het debat hierover is nog maar net begonnen. De blog op deze website hoopt daar een bijdrage aan te leveren.
Reactie plaatsen
Reacties