Introductie in Kunstmatige Intelligentie
Kunstmatige Intelligentie is hot. We kunnen vrijwel niets meer doen zonder bewust of onbewust in contact te komen met vormen van Kunstmatige Intelligentie. En het wordt steeds belangrijker. Dit artikel is een inleiding tot het vakgebied van de Kunstmatige Intelligentie. Het start met een definitie om vervolgens de verschillende sub-specialismen te verkennen, compleet met omschrijving en enkele toepassingen.
WAT IS KUNSTMATIGE INTELLIGENTIE?
Kunstmatige Intelligentie (KI) maakt gebruik van computers en machines om de vaardigheden van mensen op het gebied van probleemoplossing en besluitvorming te imiteren. Eén van de toonaangevende studieboeken op het vakgebied van KI is Artificial Intelligence: A Modern Approach (link bevindt zich buiten Axisto) van Stuart Russell en Peter Norvig. Daarin werken ze vier mogelijke doelen of definities van KI uit.
Menselijke benadering:
- Systemen die denken als mensen
- Systemen die zich gedragen als mensen
Rationele benadering:
- Systemen die rationeel denken
- Systemen die zich rationeel gedragen
Kunstmatige intelligentie speelt onder meer een groeiende rol in (I)IoT (Industrieel) Internet der dingen), waarbij (I)IoT-platformsoftware geïntegreerde AI-mogelijkheden kan bieden.
SUB-SPECIALISMEN BINNEN KUNSTMATIGE INTELLIGENTIE
Er zijn verschillende sub-specialismen die behoren tot het domein van de Kunstmatige Intelligentie. Hoewel er de nodige onderlinge afhankelijkheid tussen veel van deze specialismen zit, heeft elk daarvan unieke eigenschappen die bijdragen aan het overkoepelende thema KI. Het The Intelligent Automation Network (link bevindt buiten Axisto) onderscheidt zeven sub-specialismen, figuur 1.
Elke sub-specialisme wordt hieronder verder toegelicht.
MACHINE LEARNING
Machine learning is het vakgebied dat zich richt op het gebruik van gegevens en algoritmen om de manier waarop mensen leren te imiteren met behulp van computers, zonder dat die expliciet geprogrammeerd zijn, en daarbij geleidelijk de nauwkeurigheid te verbeteren. Het artikel “Axisto – een introductie tot Machine Learning” gaat dieper op deze specialiteit in.
MACHINE LEARNING EN PREDICTIVE ANALYTICS
Analytics en machine learning gaan hand in hand. Predictive analytics omvat een verscheidenheid aan statistische technieken, waaronder algoritmen voor machine learning. Met de statistische technieken worden huidige en historische feiten geanalyseerd om voorspellingen te doen over toekomstige of anderszins onbekende gebeurtenissen. Deze voorspellende analysemodellen kunnen in de loop van de tijd worden getraind om te reageren op nieuwe gegevens.
Het bepalende functionele aspect van deze technische benaderingen is dat predictive analytics een voorspellende score (een waarschijnlijkheid) geeft voor elk ‘individu’ (klant, medewerker, zorgpatiënt, product-SKU, voertuig, onderdeel, machine of andere organisatorische eenheid) om te bepalen, te informeren of invloed te hebben op organisatorische processen met betrekking tot grote aantallen ‘individuen’. Toepassingen zijn te vinden bij bijvoorbeeld marketing, kredietrisicobeoordeling, fraudedetectie, productie, gezondheidszorg en overheidsactiviteiten, waaronder wetshandhaving.
In tegenstelling tot andere Business Intelligence (BI)-technologieën is voorspellende analyse toekomstgericht. Gebeurtenissen uit het verleden worden gebruikt om te anticiperen op de toekomst. Vaak is de onbekende gebeurtenis van belang in de toekomst, maar voorspellende analyses kunnen worden toegepast op elk type ‘onbekend’, of het nu in het verleden, het heden of de toekomst is. Bijvoorbeeld het identificeren van verdachten nadat een misdrijf is gepleegd, of creditcardfraude als deze zich voordoet. De kern van voorspellende analyses is gebaseerd op het vastleggen van relaties tussen verklarende variabelen en de voorspelde variabelen uit eerdere gebeurtenissen, en deze te exploiteren om de onbekende uitkomst te voorspellen. Uiteraard hangt de nauwkeurigheid en bruikbaarheid van de resultaten sterk af van het niveau van de gegevensanalyse en de kwaliteit van de aannames.
Machine Learning en voorspellende analyses kunnen een belangrijke bijdrage leveren aan elke organisatie, maar invoering zonder na te denken over hoe ze in de dagelijkse activiteiten passen zal hun vermogen om relevante inzichten te leveren sterk beperken.
Om waarde uit voorspellende analyses en machine learning te halen, moet niet alleen de architectuur aanwezig zijn om deze oplossingen te ondersteunen. Ook hoogwaardige gegevens moeten beschikbaar zijn om ze te voeden en te helpen leren. Gegevensvoorbereiding en -kwaliteit zijn belangrijke factoren voor voorspellende analyses. Invoergegevens kunnen meerdere platforms omvatten en meerdere big data-bronnen bevatten. Om bruikbaar te zijn, moeten deze gecentraliseerd, uniform en in een coherent formaat zijn.
Daartoe moeten organisaties een degelijke aanpak ontwikkelen om gegevensbeheer te bewaken en ervoor te zorgen dat alleen gegevens van hoge kwaliteit worden vastgelegd en opgeslagen. Verder moeten bestaande processen worden aangepast om voorspellende analyses en machine learning op te nemen, omdat dit organisaties in staat zal stellen de efficiëntie op elk punt in het bedrijf te verbeteren. Ten slotte moeten zij weten welke problemen ze willen oplossen, dit om het beste en meest toepasselijke model te bepalen.
NATURAL LANGUAGE PROCESSING (NLP)
Natuurlijke taalverwerking is het vermogen van een computerprogramma om menselijke taal te begrijpen zoals deze wordt gesproken en geschreven – ook wel natuurlijke taal genoemd. NLP is een manier voor computers om betekenis uit menselijke taal te analyseren en te extraheren, zodat ze taken als vertaling, sentimentanalyse en spraakherkenning kunnen uitvoeren.
Dit is moeilijk, omdat het veel ongestructureerde gegevens omvat. De stijl waarin mensen praten en schrijven (ook wel stemgeluid/ toon genoemd) is uniek voor individuen en evolueert voortdurend om populair taalgebruik te weerspiegelen. Het begrijpen van de context is ook een probleem – iets dat semantische analyse vraagt van machine learning. Natuurlijk taalbegrip (NLU) is een vertakking van NLP en pikt deze nuances op via machinaal ‘begrijpend lezen’ in plaats van simpelweg de letterlijke betekenissen te begrijpen. Het doel van NLP en NLU is om computers te helpen menselijke taal goed genoeg te begrijpen, zodat ze op een natuurlijke manier kunnen converseren.
Al deze functies worden beter naarmate we meer schrijven, spreken en praten met computers: ze leren voortdurend. Een goed voorbeeld van dit iteratief leren is een functie als Google Translate die gebruikmaakt van een systeem dat Google Neural Machine Translation (GNMT) wordt genoemd. GNMT is een systeem dat werkt met een groot kunstmatig neuraal netwerk om steeds vloeiender en nauwkeuriger te vertalen. In plaats van één stuk tekst tegelijk te vertalen, probeert GNMT hele zinnen te vertalen. Omdat het miljoenen voorbeelden doorzoekt, gebruikt GNMT een bredere context om de meest relevante vertaling af te leiden.
Leer hoe Natural Language Processing werkt (link bevindt zich buiten Axisto).
A SELECTIE VAN NLP TAKEN
Het onderstaande is een selectie van taken in natuurlijke taalverwerking (NLP). Sommige van deze taken hebben directe toepassingen in de echte wereld, terwijl andere vaker dienen als sub-taken die worden gebruikt om grotere taken op te lossen.
- Optical Character Recognition (OCR)
- Bepalen van de tekst die hoort bij een gegeven afbeelding die gedrukte tekst vertegenwoordigt.
- Spraakherkenning
- Aan de hand van een geluidsfragment van een sprekende persoon of personen bepalen wat de tekstuele representatie van de toespraak is. Dit is het tegenovergestelde van tekst naar spraak en is een extreem moeilijk probleem. In natuurlijke spraak zijn er nauwelijks pauzes tussen opeenvolgende woorden, en dus is spraaksegmentatie een noodzakelijke sub-taak van spraakherkenning (zie ‘woordsegmentatie hieronder). In de meeste gesproken talen gaan de klanken die opeenvolgende letters vertegenwoordigen in elkaar over in een proces dat co-articulatie wordt genoemd. De conversie van het analoge signaal naar discrete karakters kan dus een zeer moeilijk proces zijn. Aangezien woorden in dezelfde taal worden gesproken door mensen met verschillende accenten, moet de spraakherkenningssoftware ook nog een grote verscheidenheid aan invoer kunnen herkennen als identiek aan elkaar in termen van tekstueel equivalent.
- Tekst naar Spraak
- De elementen van een gegeven een tekst worden getransformeerd en een gesproken representatie wordt geproduceerd. Tekst-naar-spraak kan worden gebruikt om slechtzienden te helpen.
- Woord segmentatie (Tokenization)
- Opsplitsen van een stuk doorlopende tekst in afzonderlijke woorden. Voor een taal als Engels is dit vrij triviaal, aangezien woorden meestal worden gescheiden door spaties. Sommige geschreven talen, zoals Chinees, Japans en Thais, markeren woordgrenzen echter niet op een dergelijke manier, en in die talen is tekstsegmentatie een belangrijke taak die kennis van de woordenschat en morfologie van woorden in de taal vereist. Soms wordt woordsegmentatie ook toegepast in bijvoorbeeld het maken van woorden in datamining.
- Document AI
- Een Document AI-platform zit bovenop de NLP-technologie, waardoor gebruikers zonder eerdere ervaring met kunstmatige intelligentie, machine learning of NLP een computer snel kunnen trainen om de specifieke gegevens die ze nodig hebben uit verschillende documenttypen te halen. NLP-aangedreven Document AI stelt niet-technische teams in staat om snel toegang te krijgen tot informatie die verborgen is in documenten, bijvoorbeeld advocaten, bedrijfsanalisten en accountants.
- Grammaticale fout detectie en correctie
- Grammaticale fout detectie en correctie brengt een grote bandbreedte van problemen met zich mee op alle niveaus van taalkundige analyse (fonologie/orthografie, morfologie, syntaxis, semantiek, pragmatiek). Grammaticale fout correctie is van grote invloed omdat het honderden miljoenen mensen raakt die een tweede taal gebruiken of zich eigen maken. Voor wat betreft spelling, morfologie, syntaxis en bepaalde aspecten van semantiek kan dit, door de ontwikkeling van krachtige neurale taalmodellen zoals GPT-2, sinds 2019 worden beschouwd als een grotendeels opgelost probleem. Verschillende commerciële toepassingen zijn op de markt verkrijgbaar.
- Machine vertaling
- Automatisch tekst vertalen van de ene menselijke taal naar de andere is één van de moeilijkste problemen: alle verschillende soorten kennis zijn vereist om dit goed te doen, zoals grammatica, semantiek, feiten over de echte wereld, enz..
- Natural Language Generation (NLG)
- Informatie omzetten uit computerdatabases of semantische intentie in leesbare menselijke taal.
- Natural Language Understanding (NLU)
- NLU betreft het begrip van menselijke taal, zoals Nederlands, Engels en Frans, waarmee computers opdrachten kunnen begrijpen zonder de geformaliseerde syntaxis van computertalen. NLU stelt computers ook in staat om terug te communiceren met mensen in hun eigen taal. Het belangrijkste doel van NLU is om chat- en spraak gestuurde bots te maken die zonder toezicht met het publiek kunnen communiceren. Vragen beantwoorden en het antwoord op een vraag in mensentaal bepalen. Typische vragen hebben een specifiek juist antwoord, zoals “Wat is de hoofdstad van Finland?”, maar soms worden ook open vragen overwogen (zoals “Wat is de zin van het leven?”). Hoe werkt het begrijpen van natuurlijke taal? NLU analyseert gegevens om de betekenis ervan te bepalen door algoritmen te gebruiken om menselijke spraak te reduceren tot een gestructureerde ontologie – een gegevensmodel dat bestaat uit semantiek en pragmatische definities. Twee fundamentele concepten van NLU zijn intentie en entiteitsherkenning. Intentieherkenning is het proces van het identificeren van het gebruikerssentiment in invoertekst en het bepalen van het doel. Dit is het eerste en belangrijkste onderdeel van NLU omdat het de betekenis van de tekst vastlegt. Entiteitsherkenning is een specifiek type NLU dat zich richt op het identificeren van de entiteiten in een bericht en het vervolgens extraheren van de belangrijkste informatie over die entiteiten. Er zijn twee soorten entiteiten: benoemde entiteiten en numerieke entiteiten. Benoemde entiteiten zijn gegroepeerd in categorieën, zoals mensen, bedrijven en locaties. Numerieke entiteiten worden herkend als getallen, valuta en percentages.
- Tekst-naar-beeld generatie
- Geven van een beschrijving van een afbeelding en genereer een afbeelding die overeenkomt met de beschrijving.
Natuurlijke taalverwerking – mensen begrijpen – is de sleutel tot AI om zijn claim op intelligentie te rechtvaardigen. Nieuwe deep learning-modellen verbeteren voortdurend de prestaties van AI in Turing-tests. Google’s Director of Engineering Ray Kurzweil voorspelt dat “AI’s tegen 2029 “menselijke niveaus van intelligentie zullen bereiken“(link bevindt zich buiten Axisto).
Overigens, wat mensen zeggen is soms heel wat anders dan wat mensen doen. Begrijpen van de menselijke natuur is bepaald niet eenvoudig. Intelligentere AI’s vergroten het perspectief van kunstmatig bewustzijn, waardoor een nieuw veld van filosofisch en toegepast onderzoek is ontstaan.
SPRAAK
Spraakherkenning staat ook bekend als automatische spraakherkenning (ASR), computerspraakherkenning of spraak-naar-tekst. Het is een mogelijkheid die natuurlijke taalverwerking (NLP) gebruikt om menselijke spraak in een geschreven formaat te verwerken. Veel mobiele apparaten nemen spraakherkenning in hun systemen op om gesproken zoekopdrachten uit te voeren, bijv. Siri van Apple.
Een belangrijk spraakgebied in AI is spraak naar tekst, het proces waarbij audio en spraak worden omgezet in geschreven tekst. Het kan gebruikers met een visuele of fysieke beperking helpen en kan de veiligheid bevorderen met handsfree bediening. Spraak-naar-teksttaken bevatten machine learning-algoritmen die leren van grote datasets van menselijke stemvoorbeelden om tot voldoende gebruikskwaliteit te komen. Spraak-naar-tekst heeft waarde voor bedrijven omdat het kan helpen bij de transcriptie van video- of telefoongesprekken. Tekst naar spraak zet geschreven tekst om in audio die klinkt als natuurlijke spraak. Deze technologieën kunnen worden gebruikt om personen met een spraakstoornis te helpen. Polly van Amazon is een voorbeeld van een technologie die deep learning gebruikt om spraak te synthetiseren die menselijk klinkt ten behoeve van bijvoorbeeld e-learning en telefonie.
Spraakherkenning is een taak waarbij spraak door een systeem wordt ontvangen via een microfoon en wordt gecontroleerd aan de hand van een database met een grote woordenschat voor patroonherkenning. Wanneer een woord of zin wordt herkend, zal deze reageren met de bijbehorende verbale reactie of een specifieke taak. Voorbeelden van spraakherkenning zijn Apple’s Siri, Amazon’s Alexa, Microsoft’s Cortana en Google’s Google Assistant. Deze producten moeten de spraakinvoer van een gebruiker kunnen herkennen en de juiste spraakuitvoer of actie kunnen toewijzen. Nog geavanceerder zijn pogingen om spraak te creëren op basis van hersengolven voor degenen die niet kunnen spreken of mogelijkheid tot spraak hebben verloren.
EXPERTSYSTEMEN
Een expertsysteem gebruikt een kennisbank over zijn toepassingsdomein en een inferentie-engine om problemen op te lossen die normaal gesproken menselijke intelligentie vereisen. Een interferentie engine is een onderdeel van het systeem dat logische regels toepast op de kennisbank om nieuwe informatie af te leiden. Voorbeelden van expertsystemen zijn onder meer financieel beheer, bedrijfsplanning, kredietautorisatie, ontwerp van computerinstallaties en planning van luchtvaartmaatschappijen. Een expertsysteem op het gebied van verkeersbeheer kan bijvoorbeeld helpen bij het ontwerpen van slimme steden door op te treden als een “menselijke operator” voor het doorgeven van verkeersfeedback voor de juiste routes.
Een beperking van expertsystemen is dat ze het gezond verstand missen dat mensen wel hebben, zoals een begrip van de grenzen van hun vaardigheden en hoe hun aanbevelingen in het grotere geheel passen. Ze missen het zelfbewustzijn van mensen. Expertsystemen zijn geen vervanging voor besluitvormers omdat ze geen menselijke capaciteiten hebben, maar ze kunnen het menselijke werk dat nodig is om een probleem op te lossen drastisch verlichten.
PLANNING SCHEDULING EN OPTIMALISITIE
KI-planning is de taak om te bepalen hoe een systeem zijn doelen op de beste manier kan bereiken. Het is het kiezen van opeenvolgende acties die een grote kans hebben om de toestand van de omgeving stapsgewijs te veranderen ten einde een doel te bereiken. Dit soort oplossingen is vaak complex. In dynamische omgevingen met constante verandering, vereisen ze frequente trial-and-error iteratie om te finetunen.
Plannen is het maken van planningen, of tijdelijke toewijzingen van activiteiten aan resources, rekening houdend met doelen en beperkingen. Om een algortime te ontwerpen bepaalt planning de volgorde en timing van acties die door het algoritme worden gegenereerd. Deze worden doorgaans uitgevoerd door intelligente uitvoerders, autonome robots en onbemande voertuigen. Wanneer ze goed zijn ontworpen kunnen ze planningsproblemen voor organisaties op een kostenefficiënte manier oplossen. Optimalisatie kan worden bereikt door een van de meest populaire ML- en Deep Learning-optimalisatiestrategieën te gebruiken: gradient descent. Dit wordt gebruikt om een machine learning-model te trainen door de parameters ervan op een iteratieve manier te wijzigen om een bepaalde functie tot het lokale minimum te minimaliseren.
Zie ook onze “More Optimal Planning en Optimalisatie Software”.
ROBOTICS
Kunstmatige intelligentie bevindt zich aan de ene kant van het spectrum van intelligente automatisering, terwijl Robotic Process Automation (RPA), softwarerobots die menselijke acties nabootsen, aan de andere kant staat. De ene houdt zich bezig met het repliceren van hoe mensen denken en leren, terwijl de andere zich bezighoudt met het repliceren van hoe mensen dingen doen. Robotica ontwikkelt complexe sensor motorische functies die machines in staat stellen zich aan te passen aan hun omgeving. Robots kunnen de omgeving voelen met behulp van computervisie.
Het belangrijkste idee van robotica is om robots zo autonoom mogelijk te maken door te leren. Ondanks het niet bereiken van mensachtige intelligentie, zijn er nog steeds veel succesvolle voorbeelden van robots die autonome taken uitvoeren, zoals dozen dragen, objecten oppakken en neerleggen. Sommige robots kunnen besluitvorming leren door een verband te leggen tussen een actie en een gewenst resultaat. Kismet, een robot bij het Artificial Intelligence Lab van het M.I.T., leert zowel lichaamstaal als stem te herkennen en gepast te reageren. Deze MIT video (link staat buiten Axisto) geeft een goede indruk.
COMPUTER VISION
Computervisie is een gebied van AI dat computers traint om informatie uit beeld- en videogegevens vast te leggen en te interpreteren. Door machine learning (ML)-modellen toe te passen op afbeeldingen, kunnen computers objecten classificeren en reageren, zoals gezichtsherkenning om een smartphone te ontgrendelen of beoogde acties goed te keuren. Wanneer computervisie wordt gekoppeld aan Deep Learning, combineert het het beste van twee werelden: geoptimaliseerde prestaties gecombineerd met nauwkeurigheid en veelzijdigheid. Deep Learning biedt IoT-ontwikkelaars een grotere nauwkeurigheid bij objectclassificatie.
Machine vision gaat nog een stap verder door computer vision-algoritmen te combineren met beeldregistratiesystemen om robots beter aan te sturen. Een voorbeeld van computervisie is een computer die een unieke reeks strepen op een universele productcode kan ‘zien’ en deze kan scannen en herkennen als een unieke identificatiecode. Optical Character Recognition (OCR) maakt gebruik van beeldherkenning van letters om papieren gedrukte records en/of handschrift te ontcijferen, ondanks het grote aantal verschillende lettertypen en handschriftvariaties.