AI & chatGPT

Wat is AI (en ChatGPT) en hoe werkt het?

Artificial Intelligence (AI) betekent letterlijk ‘kunstmatige intelligentie’. Hiermee wordt bedoeld: intelligentie van computers die (in zekere mate) vergelijkbaar is aan intelligentie van mensen.

AI maakt het mogelijk om machines en systemen taken te laten uitvoeren, waarbij normaalgesproken menselijke intelligentie voor nodig is. Met AI kunnen computers dus eigenlijk zelf ‘denken’, zonder dat alles van tevoren is geprogrammeerd. Ze kunnen bijvoorbeeld:

  • Leren
  • Herkennen
  • Redeneren
  • Beslissingen nemen
  • Voorspellingen doen

Voorbeelden van AI

Google Maps

Een goed voorbeeld van AI is bijvoorbeeld Google Maps. Google Maps gebruikt verschillende AI-algoritmes om:

  • Regelmatige routes te herkennen op basis van de persoon die de app gebruikt, om op specifieke dagen en tijden suggesties te kunnen doen.
  • Te beredeneren welke route iemand het beste kan nemen om van punt A naar punt B te komen, waarbij meerdere factoren worden meegenomen in de overweging.

ChatGPT

Een ander goed voorbeeld van AI is chatGPT. Nog nooit van gehoord? Dan zou ik zeggen: ff het nieuws checken.

ChatGPT is een nieuwe soort ‘chatbot’. Nee, niet zo eentje die vraagt: ‘is uw vraag nu beantwoord’, wat eigenlijk een retorische vraag is, omdat dit nooit het geval is. Deze chatbot is zo verfijnd en gespecialiseerd dat het natuurlijke dialogen kan voeren met een gebruiker.

Omdat dit zó interessant is, komen we hier later in deze blog nog even op terug.

Hoe werkt AI?

Voor het gemak, worden de concepten ‘machines, systemen en computers’ vanaf nu ‘computers genoemd’. Scheelt jou weer wat leestijd!

Om computers zelf te kunnen laten denken, is wel degelijk menselijke intelligentie/interventie nodig. De computer moet immers (gedeeltelijk) worden geprogrammeerd.

Er zijn verschillende manieren om een computer zodanig te programmeren dat deze zelf kan nadenken. Deze verschillende manieren bestaan uit AI-algoritmes en AI-technieken. Deze stellen de computer in staat om:

  • Te leren van data
  • Patronen te herkennen
  • Conclusies te trekken
  • Voorspellingen te doen

Bovenstaande functionaliteiten zijn in principe de basis van AI, waarmee verschillende soorten algoritmes en technieken kunnen worden toegepast.

Wat zijn vormen van AI?

In principe zijn er drie vormen van AI, namelijk:

  • Zwakke AI: Deze vorm van AI is gespecialiseerd in één specifiek onderwerp. Het heeft eigenlijk één ‘talent’.
    • Voorbeeld: Je kunt online schaken. Hierbij is de tegenstander de computer. Dit systeem baseert zijn keuzes op basis van theoretische strategieën en data uit andere gespeelde potjes.
  • Sterke AI: Deze vorm van AI heeft eigenlijk meerdere ‘talenten’ en kan ingezet worden voor verschillende onderwerpen.
    • Voorbeeld: Zelfrijdende auto’s. Deze kunnen complexe verkeerssituaties analyseren en hierop reageren.
  • Super-AI: Ook wel ‘Artificial General Intelligence (AGI). Deze vorm van AI is zeer ‘getalenteerd’. Het kan menselijke intelligentie overstijgen, omdat het nog sneller en beter kan denken dan mensen, waarbij zelfs creativiteit, wijsheid en sociale vaardigheden worden meegenomen.
    • Hier bestaat geen voorbeeld van, omdat dit niveau van AI (nog) niet is bereikt.

Hoe kan AI helpen bij app-ontwikkeling?

AI speelt een cruciale rol in de moderne app-ontwikkeling. Door AI-technieken zoals machine learning en deep learning kunnen apps patronen herkennen, voorspellingen doen en op basis daarvan beslissingen nemen. Dit kan de gebruikerservaring aanzienlijk verbeteren en de functionaliteit van apps uitbreiden. Bovendien kan AI ontwikkelaars helpen bij het automatiseren van bepaalde taken, zoals testen en debugging, wat leidt tot efficiëntere ontwikkelingsprocessen.

Overweeg je een AI-app te laten ontwikkelen?

Als je overweegt een AI-app te laten ontwikkelen, is het belangrijk om te begrijpen wat AI kan betekenen voor jouw app. AI kan bijvoorbeeld helpen bij het personaliseren van de gebruikerservaring, het verbeteren van de beveiliging of het automatiseren van interacties met gebruikers door middel van chatbots. Voordat je met de ontwikkeling begint, is het belangrijk om helder te hebben wat jouw doelen zijn en hoe AI daarbij kan helpen.

Wat is de rol van AI bij de ontwikkeling van mobiele apps?

AI speelt een steeds grotere rol in de ontwikkeling van mobiele apps. Door het inzetten van AI kunnen ontwikkelaars apps maken die beter aansluiten bij de behoeften van de gebruikers. AI kan bijvoorbeeld worden ingezet voor het aanbieden van gepersonaliseerde content, het voorspellen van gebruikersgedrag of het verbeteren van de beveiliging. Daarnaast kan AI ook worden gebruikt om het ontwikkelingsproces zelf efficiënter en effectiever te maken.

AI-gedreven app-functies

Functies aangedreven door AI zijn overal om ons heen in de apps die we dagelijks gebruiken. Zo gebruiken muziekstreaming-apps zoals Spotify machine learning om gepersonaliseerde afspeellijsten te maken op basis van luistergewoontes. En zaken als spraakherkenning, gezichtsherkenning en nog veel meer. Foto-apps gebruiken AI voor beeldherkenning om foto’s te categoriseren en te sorteren. Navigatie-apps zoals Waze gebruiken AI om verkeersinformatie te voorspellen en optimale routes te bepalen. Deze voorbeelden tonen aan hoe AI kan helpen om intelligente functies te creëren die de gebruikerservaring verbeteren.

De toekomst van AI in app-ontwikkeling ziet er veelbelovend uit. AI blijft evolueren en wordt steeds geavanceerder, waardoor de mogelijkheden voor app-ontwikkeling blijven uitbreiden. In de toekomst kunnen we een grotere focus op personalisatie verwachten, waarbij apps steeds beter worden in het afstemmen van inhoud en functionaliteiten op de individuele gebruiker. Daarnaast kunnen we vooruitgang verwachten op het gebied van spraak- en beeldherkenning, waardoor apps nog interactiever en gebruiksvriendelijker worden. Ten slotte zal AI waarschijnlijk een steeds grotere rol gaan spelen in de ontwikkeling van apps zelf, door taken zoals testen en debuggen te automatiseren.

Integratie van AI in app-ontwikkeling

De integratie van AI in app-ontwikkeling vereist een goed begrip van zowel AI-technologieën als app-ontwikkelingsprocessen. Het is belangrijk om te weten hoe AI-algoritmes werken, welke data nodig is voor het trainen van deze algoritmes en hoe deze algoritmes kunnen worden ingezet in een app.

Wat is de basis van AI?

Omdat AI soms zeer gecompliceerd kan zijn, beschrijven we hier de basis van AI. Volgens Neil Jacobstein, kan AI worden gespecificeerd in verschillende lagen (op basis van abstractieniveau).

Hoe ziet dit eruit?

In de basis is AI een subgroep van computerwetenschappen. Je zou AI kunnen zien als de alles omvattende visie voor ‘intelligente computers’.

Een subgroep van AI is ‘machine learning’. Dit is de methode waarbij computers kennis ontwikkelen en taken uitvoeren. Het omvat eigenlijk de methoden, modellen/algoritmes, processen en ondersteunende technologie om AI mogelijk te maken.

Een subgroep van machine learning is ‘deep learning’. Dit is een concept waarbij de computer zelf in staat is om patronen te herkennen en voorspellingen te doen. Je zou dit kunnen zien als ‘machine learning at the largest scale’. Of wel: machine learning met toepassing van neural networks, grote datasets en een krachtig vermogen.

Dus, dit ziet er als volgt uit:

  1. Artificial Intelligence (AI) (subgroep van computerwetenschappen)
  2. Machine learning (subgroep van AI)
  3. Deep learning (subgroep van machine learning)
subsets of artificial intelligence (AI): 
- Machine learning (ML)
- Deep learning (DL)

1. Wat is Artificial Intelligence (AI)

AI is een subgroep van computerwetenschappen.

AI is een techniek die ervoor zorgt dat computers zich kunnen ‘gedragen’ als mensen.

Door AI toe te passen kunnen computers:

  • Herkennen
  • Redeneren
  • Beslissingen nemen
  • Voorspellingen doen
  • Begrijpen (al is de mate waarin data écht begrepen wordt, discutabel)

2. Wat is Machine Learning (ML)

Machine learning is een subgroep van AI.

Machine learning zorgt ervoor dat computers leren van data, en op basis hiervan voorspellingen kunnen doen.

Machine learning kan worden toegepast door verschillende methoden:

  • Supervised learning
  • Unsupervised learning
  • Reinforcement learning
Vormen van machine learning (unsupervised learning, supervised learning, reinforcement learning)

Wat is Supervised learning?

Supervised learning, ook wel ‘begeleid’ leren, is een methode (algoritme) om computers te trainen op basis van gelabelde voorbeelden.

In dit geval ontvangt het systeem invoergegevens en een gewenste uitvoer. Op basis hiervan kan het systeem voorspellingen doen op nieuwe, niet-gelabelde gegevens.

Supervised learning algoritmes zijn gebaseerd op ‘classification’. Voorbeelden van algoritmen die hierbij horen, zijn:

  • Regressiemodellen
    • Lineaire regressie
    • Logistische regressie
  • K-nearest neighbors (KNN)
  • Decision trees (beslissingsbomen)
  • Random Forests
  • Support Vector Machines (SVM)
  • Naive Bayes Classifiers

Wat is Unsupervised learning?

Unsupervised learning, ook wel ‘ongecontroleerd’ leren, is een methode (algoritme) om computer te trainen, zonder gelabelde gegevens of gewenste uitvoer.

Het systeem dient zelf patronen en structuren te ontdekken op basis van de gegeven data, zonder voorafgaande begeleiding.

Unsupervised learning algoritmes zijn gebaseerd op ‘clustering’. Voorbeelden van algoritmen die hierbij horen zijn:

  • K-means clustering
  • Hierarchical clustering
  • Principal Component Analysis (PCA)
  • Latent Dirichlet Allocation (LDA)
  • Autoencoders
  • Generative Adversarial networks (GANs)
  • Self-Organizing Maps (SOM)

Wat is reinforcement learning?

Reinforcement learning, ook wel ‘versterkend’ leren, is een methode (algoritme) om de computer te trainen, op basis van interactie met een omgeving. Hierbij ontvangt het systeem beloningen en straffen. Het doel is om een strategie te ontwikkelen om zoveel mogelijk beloningen en zo weinig mogelijk straffen te ontvangen.

Voorbeelden van algoritmen die hierbij horen zijn:

  • Q-learning
  • Deep Q-Networks (DQN)
  • Policy Gradient Methods
  • Proximal Policy Optimization (PPO)
  • Actor-Critic Methods
  • Monte Carlo Tree Search (MCTS)

3. Wat is Deep learning (DL)?

Deep learning is een subgroep van machine learning.

Deep learning is een manier waarop computers leren van data. Het is gebaseerd op het concept ‘neural networks’. Het repliceert de werking van het menselijk brein, op basis van kunstmatige neuronen die informatie transporteren en verwerken.

Deep learning wordt gebruikt om complexe patronen in data te leren, op basis van meerdere lagen. Het maakt gebruik van geavanceerde architecturen, zoals:  

  • Convolutional neural networks (CNN)
  • Recurrent neural networks (RNN)
  • Generative adversarial Networks (GAN)
  • Deep Boltzmann Machines (DBM)
  • Transformer Networks (BERT, GPT)

Wat is Convolutional Neural Networks (CNN)?

Deze architectuur is gericht op het verwerken van gestructureerde gegevens. Denk hierbij bijvoorbeeld aan afbeeldingen en video’s. Het maakt gebruik van verschillende lagen, zoals:

  • Convolutielagen
  • Pooling-lagen

Op deze manier kan CNN kenmerken en patronen identificeren.

Wat is Recurrent Neural networks (RNN)?

Deze architectuur is gericht op het verwerken van sequentiële gegevens. Denk hierbij aan tekst of spraak. Het zorgt ervoor dat de uitvoer van een ‘neuron’ kan worden teruggevoerd als invoer naar dezelfde ‘neuron’. Hierdoor zijn RNN’s in staat om context te behouden.

Wat is Generative Adversarial Networks (GAN)?

Deze architectuur bestaat uit 2 verschillende neurale netwerken, namelijk:

  • Generator: Genereert nieuwe gegevensvoorbeelden
  • Discriminator: Bepaalt of de gegenereerde voorbeelden (van de generator) geschikt zijn.

Wat is Deep Boltzmann Machines (DBM)?

Een DMB is gericht op het ontdekken van patronen én genereren/aanvullen van gegeves. Het bestaat uit meerdere lagen (van zogenaamde ‘Boltzmann Machines’). Elke laag bestaat uit een verzameling van kunstmatige neuronen. Deze werken samen om gegevens te verwerken en om hiervan te leren, doordat de lagen verbonden zijn waardoor informatie kan doorstromen. Het systeem leert geleidelijk, doordat de gewichten van neuronen worden aangepast.

Wat is Transformer Networks (BERT, GPT)

Transformer netwerken zijn een relatief nieuwe vorm van neurale netwerk architectuur. Ze zijn ontworpen om complexe patronen en structuren in taal te begrijpen én genereren.

Transformer netwerken maken gebruik van self-attention. Dierdoor zijn ze in staat om afhankelijkheden tussen specifieke woorden in een zin te herkennen.

De twee bekendste modellen van Transformer Networks zijn BERT en GPT.

BERT: Bidirectional Encoder Representations from Transformers

BERT is een Transformer-model dat is getraind om de betekenis en context van woorden en zinnen te begrijpen en is gericht op grote hoeveelheden tekst.

GPT: Generative Pre-trained Transformer

GPT is een Transformer-model dat ook is gericht op grote hoeveelheden tekst. Het is getraind om grote hoeveelheden tekst te herkennen én genereren, en dat terwijl de tekst correct is en natuurlijk klinkt. Een goed voorbeeld hiervan is, de naam zegt het al, ChatGPT. Lees hier later in dit artikel meer over.

Wat zijn kansen en bedreigingen door AI?

Kansen

  • AI heeft de potentie om de manier waarop wij taken uitvoeren, volledig te veranderen. Dit kan omdat AI sneller en beter na kan denken dan wij zelf.
  • Problemen kunnen eerder worden ontdekt en sneller/efficiënter worden opgelost.
  • Mensen kunnen minder worden belast met informatie en taken
  • AI kan ondersteuning bieden in veel verschillende toepassingsgebieden en branches

Bedreigingen:

  • Wanneer AI in de verkeerde context of op de verkeerde manier wordt ingezet, kan de impact groot zijn.
  • AI neemt veel taken over van mensen, waardoor ook banen verloren kunnen gaan.
  • Wanneer een AI-model wordt ingezet die nog iet 100% accuraat is ontwikkeld, kunnen problemen/ongelukken ontstaan wanneer men wel vertrouwt in het systeem

Waar kan AI worden toegepast?

Er zijn veel verschillende toepassingsgebieden voor AI. Alles omvattend kun je AI inzetten voor:

  • Individuele personen
    • Kan ondersteunen bij specifieke taken
    • Versnellen van leercurve
    • Efficiëntere tijdsindeling
    • Voorkomen van problemen of ziekten
  • De maatschappij
    • Kan welvaart eerlijker verdelen
    • Kan verschillende besluiten beter onderbouwen door data
    • Elimineert ‘vriendjespolitiek’
    • Voorkomt fraude
  • Organisaties
    • Kan bijdragen aan procesoptimalisatie
    • Voorkomt willekeurigheid in processen
    • Kan, net zoals in de maatschappij, besluiten beter onderbouwen
  • Natuur/milieu
    • Kan verspilling verminderen
    • Kan uitstoot verminderen
    • Beschermt soorten
    • Kan biodiversiteit verbeteren
    • Kan landbouw efficiënter inzetten

Wat is ChatGPT?

ChatGPT is een web-based programma. Het is een prototype van een nieuwe soort ‘chatbot’, die zó verfijnd en gespecialiseerd dat het natuurlijke dialogen kan voeren met een gebruiker. Enkele voorbeelden van wat deze chatbot kan (om je een beeld te geven van de wauw-factor):

  • ChatGPT haalt informatie van het internet, maar geeft hier zelf een draai aan en kan zelf op basis van deze informatie conclusies trekken.
  • ChatGPT kan zelf teksten schrijven (met over het algemeen correcte grammatica). Dus: alle antwoorden die hij geeft zijn niet letterlijk te vinden op het internet.
  • ChatGPT kan nauwkeurige instructies opvolgen en uitvoeren. Zo kan hij bijvoorbeeld: verslagen schrijven

ChatGPT kan zich eigenlijk precies gedragen als jouw eigen personal assistant. Alles wat jij normaalgesproken aan jouw assistent zou vragen, kun je vragen aan ChatGPT. Je kunt dus niet alleen informatie opvragen, maar hem ook taken laten uitvoeren. Zoals:

  • Het schrijven van teksten (je kunt zelfs aangeven met welke tone-of-voice hij dit moet doen, of welk taalniveau)
  • Meedenken met bepaalde vraagstukken
  • Bedenken van concrete voorbeelden (voor bijvoorbeeld bepaalde theorie)
  • (Delen van) verslagen laten schrijven (ja, dat dus. Zat jij nog maar op de middelbare school…)

Hoe werkt ChatGPT?

ChatGPT is gebaseerd op het GPT-model (eerder in dit artikel toegelicht). Het is getraind om grote hoeveelheden tekst te interpreteren en genereren, om natuurlijke (menselijke) dialogen te simuleren. Ook maakt het systeem gebruik van self-attention, zodat het begrijpt welke delen van de input belangrijk zijn en welke niet. Zo kan een relevant antwoord gegeven worden. Daarnaast kan het systeem meerdere lagen van de context onthouden, waardoor ook de relevantie van de antwoorden wordt verhoogd.

Neurale netwerken

ChatGPT maakt gebruik van verschillende lagen van neurale netwerken. Deze maken het mogelijk om de tekst te interpreteren en genereren. De volgende lagen worden toegepast:

  1. Coderingslaag: Deze laag zet de inputtekst om in getallen. Deze representeren de betekenis van woorden en zinnen.
  2. Decoderingslagen: De getallen die zijn gegenereerd in de coderingslaag, worden doorgevoerd naar de decoderingslagen. Hier wordt de context van de tekst in beeld gebracht. Deze lagen genereren ook de basis van de tekst die ChatGPT terug communiceert.

Het trainingsproces

Tijdens het bouwen van het model ontvangt het systeem grote hoeveelheden tekst. Vervolgens past het systeem zich systeem past zich steeds meer aan. Het leert (semantische) betekenissen, verbanden en zinsstructuren.

Beperkingen

ChatGPT is een statistisch model. Het is getraind, en beschikt niet over échte menselijke intelligentie. Het kan daarom beperkt zijn in de mate waarin het systeem de input begrijpt. Daarnaast baseert ChatGPT zijn antwoorden op informatie die het kan vinden op het internet. Dit betekent dat er beperkingen zijn in de nauwkeurigheid en context van de antwoorden.

Voorbeeld

Als ik vraag aan ChatGPT of hij zichzelf op een laagdrempelige manier wil voorstellen, is dit het antwoord:

‘’Natuurlijk kan ik dat! Ik ben ChatGPT, een vriendelijk computerprogramma dat is ontworpen om met mensen te praten en vragen te beantwoorden. Ik ben getraind op heel veel informatie en kennis, zodat ik je kan helpen met allerlei onderwerpen.

Ik werk door de woorden die je typt te lezen en te begrijpen. Daarna gebruik ik mijn opgeslagen informatie om je een passend antwoord te geven. Ik probeer zo behulpzaam en nauwkeurig mogelijk te zijn, maar soms kan ik ook fouten maken.

Je kunt me alles vragen! Of het nu gaat om huiswerk, weetjes, spelletjes of gewoon een gezellig gesprek, ik sta voor je klaar! Dus, stel gerust je vragen en ik zal mijn best doen om je te helpen!

Meer weten?

Hebben we je nieuwsgierigheid getriggerd? Of heb je behoefte aan wat meer handvaten bij het ontwikkelen van jouw app? Bekijk dan vooral:

Ben je benieuwd hoe je AI kan toepassen binnen jouw app (idee)? Neem vooral (vrijblijvend) contact met ons op! Wij helpen je graag verder.

Nog steeds niet helemaal duidelijk?

Ik help je graag met al je vragen. Je mag me altijd even bellen of mailen.