Architectuurontwerp voor kunstmatige intelligentie (AI)

Kunstmatige intelligentie (AI) is de mogelijkheid van een computer om intelligent menselijk gedrag te imiteren. Via AI kunnen machines afbeeldingen analyseren, spraak begrijpen, op natuurlijke manieren communiceren en voorspellingen doen met behulp van gegevens.

Illustration depicting the relationship of artificial intelligence as a parent concept. Within AI is machine learning. Within machine learning is deep learning.

AI-concepten

Algoritme

Een algoritme is een reeks berekeningen en regels die worden gebruikt om een probleem op te lossen of een set gegevens te analyseren. Het is net als een stroomdiagram, met stapsgewijze instructies voor vragen die moeten worden gesteld, maar geschreven in wiskundige en programmeercode. Een algoritme kan beschrijven hoe u kunt bepalen of een huisdier een kat, hond, vis, vogel of hagedis is. Een ander veel gecompliceerder algoritme kan beschrijven hoe u een geschreven of gesproken taal identificeert, de woorden analyseert, deze vertaalt in een andere taal en vervolgens de vertaling controleert op nauwkeurigheid.

Machine learning

Machine learning is een AI-techniek die gebruikmaakt van wiskundige algoritmen om voorspellende modellen te maken. Een algoritme wordt gebruikt voor het parseren van gegevensvelden en voor het 'leren' van die gegevens met behulp van patronen die erin zijn gevonden om modellen te genereren. Deze modellen worden vervolgens gebruikt om geïnformeerde voorspellingen of beslissingen te nemen over nieuwe gegevens.

De voorspellende modellen worden gevalideerd op basis van bekende gegevens, gemeten door metrische prestatiegegevens die zijn geselecteerd voor specifieke bedrijfsscenario's en vervolgens naar behoefte aangepast. Dit proces van leren en valideren wordt training genoemd. Door periodieke hertraining worden ML-modellen in de loop van de tijd verbeterd.

Deep Learning

Deep Learning is een type ML dat zelf kan bepalen of de voorspellingen nauwkeurig zijn. Er worden ook algoritmen gebruikt om gegevens te analyseren, maar dit gebeurt op grotere schaal dan ML.

Deep Learning maakt gebruik van kunstmatige neurale netwerken, die bestaan uit meerdere lagen van algoritmen. Elke laag kijkt naar de binnenkomende gegevens, voert een eigen gespecialiseerde analyse uit en produceert een uitvoer die andere lagen kunnen begrijpen. Deze uitvoer wordt vervolgens doorgegeven aan de volgende laag, waarbij een ander algoritme een eigen analyse uitvoert, enzovoort.

Met veel lagen in elk neuraal netwerk en soms met behulp van meerdere neurale netwerken kan een machine leren door middel van een eigen gegevensverwerking. Hiervoor zijn veel meer gegevens en veel meer rekenkracht nodig dan ML.

Bots

Een bot is een geautomatiseerd softwareprogramma dat is ontworpen om een bepaalde taak uit te voeren. Beschouw het als een robot zonder lichaam. Vroege bots waren relatief eenvoudig, verwerken terugkerende en volumineuze taken met relatief eenvoudige algoritmelogica. Een voorbeeld hiervan zijn webcrawlers die door zoekmachines worden gebruikt om webinhoud automatisch te verkennen en te catalogiseren.

Bots zijn veel geavanceerder geworden, waarbij AI en andere technologieën worden gebruikt om menselijke activiteiten en besluitvorming na te bootsen, vaak terwijl ze rechtstreeks met mensen communiceren via tekst of zelfs spraak. Voorbeelden hiervan zijn bots die een dinerreservering, chatbots (of conversationele AI) kunnen nemen die helpen bij interacties met de klantenservice en sociale bots die nieuws of wetenschappelijke gegevens posten op sociale mediasites.

Microsoft biedt de Azure Bot Service, een beheerde service die is gebouwd voor hoogwaardige botontwikkeling.

Autonome systemen

Autonome systemen maken deel uit van een nieuwe klasse die verder gaat dan basisautomatisering. In plaats van herhaaldelijk een specifieke taak uit te voeren met weinig of geen variatie (zoals bots), brengen autonome systemen intelligentie naar machines, zodat ze zich kunnen aanpassen aan veranderende omgevingen om een gewenst doel te bereiken.

Slimme gebouwen gebruiken autonome systemen om bewerkingen zoals verlichting, ventilatie, airconditioning en beveiliging automatisch te regelen. Een geavanceerder voorbeeld zou een zelfgestuurde robot zijn die een samengevouwen mijnschacht verkent om zijn interieur grondig toe te wijzen, te bepalen welke delen structureel gezond zijn, de lucht voor ademendheid te analyseren en tekenen van gevangen mijnwerkers te detecteren die hulp nodig hebben zonder menselijke controle in realtime aan de afstandsbediening.

Algemene informatie over Microsoft AI

Meer informatie over Microsoft AI en up-to-date blijven met gerelateerd nieuws:

Architectuurtypen op hoog niveau

Vooraf samengestelde AI

Vooraf gedefinieerde AI is precies hoe het klinkt als ai-modellen, -services en -API's die klaar zijn voor gebruik. Hiermee kunt u intelligentie toevoegen aan apps, websites en stromen zonder dat u gegevens hoeft te verzamelen en vervolgens uw eigen modellen hoeft te bouwen, trainen en publiceren.

Een voorbeeld van vooraf samengestelde AI kan een vooraf getraind model zijn dat kan worden opgenomen als zodanig of wordt gebruikt om een basislijn te bieden voor verdere aangepaste training. Een ander voorbeeld is een cloud-API-service die op will kan worden aangeroepen om natuurlijke taal op een gewenste manier te verwerken.

Azure Cognitive Services

Cognitive Services biedt ontwikkelaars de mogelijkheid om vooraf gemaakte API's en integratie-toolkits te gebruiken om toepassingen te maken die toepassingen kunnen zien, horen, spreken, begrijpen en zelfs beginnen te redeneren. De catalogus met services in Cognitive Services kan worden onderverdeeld in vijf hoofdpijlers: Vision, Speech, Language, Web Search en Decision/Recommendation.

Vooraf samengestelde AI-modellen in AI Builder

AI Builder is een nieuwe mogelijkheid in Microsoft Power Platform die een point-and-click-interface biedt voor het toevoegen van AI aan uw apps, zelfs als u geen code- of gegevenswetenschapsvaardigheden hebt. (Sommige functies in AI Builder zijn nog niet uitgebracht voor algemene beschikbaarheid en blijven in de preview-status. Raadpleeg de pagina Beschikbaarheid van functies per regio voor meer informatie.)

U kunt uw eigen modellen bouwen en trainen, maar AI Builder biedt ook vooraf gedefinieerde AI-modellen die direct klaar zijn voor gebruik. U kunt bijvoorbeeld een onderdeel toevoegen in Microsoft Power Apps op basis van een vooraf samengesteld model waarmee contactgegevens van visitekaartjes worden herkend.

Aangepaste AI

Hoewel vooraf samengestelde AI nuttig (en steeds flexibeler) is, is de beste manier om te krijgen wat u nodig hebt van AI waarschijnlijk zelf een systeem te bouwen. Dit is duidelijk een zeer diep en complex onderwerp, maar laten we eens kijken naar enkele basisconcepten die verder gaan dan wat we zojuist hebben behandeld.

Codetalen

Het kernconcept van AI is het gebruik van algoritmen om gegevens te analyseren en modellen te genereren om deze te beschrijven (of te beoordelen) op manieren die nuttig zijn. Algoritmen worden geschreven door ontwikkelaars en gegevenswetenschappers (en soms door andere algoritmen) met behulp van programmeercode. Twee van de populairste programmeertalen voor AI-ontwikkeling zijn momenteel Python en R.

Python is een programmeertaal voor algemeen gebruik op hoog niveau. Het heeft een eenvoudige, gemakkelijk te leren syntaxis die de leesbaarheid benadrukt. Er is geen compilatiestap. Python heeft een grote standaardbibliotheek, maar biedt ook ondersteuning voor de mogelijkheid om modules en pakketten toe te voegen. Dit moedigt modulariteit aan en stelt u in staat om mogelijkheden uit te breiden wanneer dat nodig is. Er is een groot en groeiend ecosysteem van AI- en ML-bibliotheken voor Python, waaronder veel bibliotheken die direct beschikbaar zijn in Azure.

R is een taal en omgeving voor statistische computing en graphics. Het kan worden gebruikt voor alles, van het online toewijzen van brede sociale en marketingtrends tot het ontwikkelen van financiële en klimaatmodellen.

Microsoft heeft de R-programmeertaal volledig omarmd en biedt veel verschillende opties voor R-ontwikkelaars om hun code in Azure uit te voeren.

Training

Training is de kern van machine learning. Het is het iteratieve proces van het 'onderwijzen' van een algoritme om modellen te maken, die worden gebruikt om gegevens te analyseren en vervolgens nauwkeurige voorspellingen te doen. In de praktijk heeft dit proces drie algemene fasen: training, validatie en testen.

Tijdens de trainingsfase wordt een kwaliteitsset met bekende gegevens gelabeld zodat afzonderlijke velden identificeerbaar zijn. De getagde gegevens worden doorgegeven aan een algoritme dat is geconfigureerd om een bepaalde voorspelling te doen. Wanneer u klaar bent, voert het algoritme een model uit dat de patronen beschrijft die het heeft gevonden als een set parameters. Tijdens de validatie worden nieuwe gegevens gelabeld en gebruikt om het model te testen. Het algoritme wordt naar behoefte aangepast en mogelijk meer training uitgevoerd. Ten slotte maakt de testfase gebruik van echte gegevens zonder tags of vooraf gekozen doelen. Ervan uitgaande dat de resultaten van het model nauwkeurig zijn, wordt het beschouwd als gereed voor gebruik en kan worden geïmplementeerd.

Hyperparameters afstemmen

Hyperparameters zijn gegevensvariabelen die het trainingsproces zelf bepalen. Dit zijn configuratievariabelen die bepalen hoe het algoritme werkt. Hyperparameters worden dus meestal ingesteld voordat de modeltraining begint en worden niet gewijzigd in het trainingsproces op de manier waarop parameters dat zijn. Hyperparameterafstemming omvat het uitvoeren van proefversies binnen de trainingstaak, het beoordelen hoe goed ze de taak uitvoeren en vervolgens naar behoefte aanpassen. Met dit proces worden meerdere modellen gegenereerd, die elk zijn getraind met behulp van verschillende families van hyperparameters.

Modelselectie

Het proces van het trainen en afstemmen van hyperparameters produceert talloze kandidaatmodellen. Deze kunnen veel verschillende afwijkingen hebben, waaronder de inspanning die nodig is om de gegevens voor te bereiden, de flexibiliteit van het model, de hoeveelheid verwerkingstijd en natuurlijk de mate van nauwkeurigheid van de resultaten. Het kiezen van het beste getrainde model voor uw behoeften en beperkingen wordt modelselectie genoemd, maar dit is net zo belangrijk als het vooraf plannen voordat u traint, omdat het gaat om het kiezen van het model dat het beste werkt.

Geautomatiseerde machine learning (AutoML)

Geautomatiseerde machine learning, ook wel Bekend als AutoML, is het proces van het automatiseren van de tijdrovende, iteratieve taken van het ontwikkelen van machine learning-modellen. Het kan de tijd die nodig is om ML-modellen gereed te maken voor productie aanzienlijk verminderen. Geautomatiseerde ML kan helpen bij het selecteren van modellen, het afstemmen van hyperparameters, het trainen van modellen en andere taken, zonder dat hiervoor uitgebreide programmeer- of domeinkennis nodig is.

Scoren

Scoren wordt ook wel voorspelling genoemd en is het proces van het genereren van waarden op basis van een getraind machine learning-model, op basis van enkele nieuwe invoergegevens. De waarden of scores die worden gemaakt, kunnen voorspellingen van toekomstige waarden voorstellen, maar ze kunnen ook een waarschijnlijke categorie of uitkomst vertegenwoordigen. Het scoreproces kan veel verschillende typen waarden genereren:

  • Een lijst met aanbevolen items en een overeenkomstscore

  • Numerieke waarden voor tijdreeksmodellen en regressiemodellen

  • Een waarschijnlijkheidswaarde, die de kans aangeeft dat een nieuwe invoer deel uitmaakt van een bestaande categorie

  • De naam van een categorie of cluster waarop een nieuw item het meest lijkt

  • Een voorspelde klasse of uitkomst voor classificatiemodellen

Batchgewijs scoren is wanneer gegevens gedurende een bepaalde bepaalde periode worden verzameld en vervolgens in een batch worden verwerkt. Dit kan bijvoorbeeld het genereren van zakelijke rapporten zijn of het analyseren van klantloyaliteit.

Realtime scoren is precies die score die doorlopend is en zo snel mogelijk wordt uitgevoerd. Het klassieke voorbeeld is fraudedetectie van creditcards, maar realtime scoren kan ook worden gebruikt in spraakherkenning, medische diagnoses, marktanalyses en vele andere toepassingen.

Algemene informatie over aangepaste AI in Azure

Azure AI-platformaanbiedingen

Hieronder vindt u een uitsplitsing van Azure-technologieën, -platforms en -services die u kunt gebruiken om AI-oplossingen voor uw behoeften te ontwikkelen.

Azure Machine Learning

Dit is een machine learning-service op bedrijfsniveau om sneller modellen te bouwen en te implementeren. Azure Machine Learning biedt webinterfaces en SDK's, zodat u uw machine learning-modellen en -pijplijnen snel op schaal kunt trainen en implementeren. Gebruik deze mogelijkheden via open-source Python-frameworks, zoals PyTorch, TensorFlow en scikit-learn.

Machine learning-referentiearchitecturen voor Azure

Geautomatiseerde machine learning van Azure

Azure biedt uitgebreide ondersteuning voor geautomatiseerde ML. Ontwikkelaars kunnen modellen bouwen met behulp van een gebruikersinterface zonder code of via een ervaring met code-first notebooks.

Azure Cognitive Services

Dit is een uitgebreide reeks AI-services en cognitieve API's om u te helpen intelligente apps te bouwen. Deze domeinspecifieke, vooraf getrainde AI-modellen kunnen worden aangepast met uw gegevens.

Dit is een op AI gebaseerde cloudzoekservice voor het ontwikkelen van mobiele apps en web-apps. De service kan zoeken naar privé-heterogene inhoud, met opties voor AI-verrijking als uw inhoud ongestructureerd of niet doorzoekbaar is in onbewerkte vorm.

Azure Bot Service

Dit is een speciaal gebouwde botontwikkelingsomgeving met out-of-the-box-sjablonen om snel aan de slag te gaan.

Apache Spark in Azure

Apache Spark is een framework voor parallelle verwerking dat ondersteuning biedt voor in-memory verwerking om de prestaties van toepassingen voor de analyse van big data te verbeteren. Spark biedt primitieve typen voor in-memory clustercomputing. Een Spark-taak kan gegevens in het geheugen laden en in de cache opslaan en er herhaaldelijk query's op uitvoeren, wat veel sneller is dan toepassingen op basis van schijven, zoals Hadoop.

Apache Spark in Azure HDInsight is de Microsoft-implementatie van Apache Spark in de cloud. Spark-clusters in HDInsight zijn compatibel met Azure Storage en Azure Data Lake Storage, zodat u HDInsight Spark-clusters kunt gebruiken om uw gegevens te verwerken die zijn opgeslagen in Azure.

De Microsoft Machine Learning-bibliotheek voor Apache Spark is SynapseML (voorheen MMLSpark genoemd). Deze opensource-bibliotheek voegt veel deep learning- en data science-hulpprogramma's, netwerkmogelijkheden en prestaties op productieniveau toe aan het Spark-ecosysteem. Meer informatie over SynapseML-functies en -mogelijkheden.

Azure Databricks Runtime voor Machine Learning

Azure Databricks is een op Apache Spark gebaseerd analyseplatform met eenmalige installatie, gestroomlijnde werkstromen en een interactieve werkruimte voor samenwerking tussen gegevenswetenschappers, technici en bedrijfsanalisten.

Met Databricks Runtime voor Machine Learning (Databricks Runtime ML) kunt u een Databricks-cluster starten met alle bibliotheken die vereist zijn voor gedistribueerde training. Het biedt een kant-en-klare omgeving voor machine learning en data science. Bovendien bevat het meerdere populaire bibliotheken, waaronder TensorFlow, PyTorch, Keras en XGBoost. Er is ook ondersteuning voor gedistribueerde training met Horovod.

Klantverhalen

Verschillende branches passen AI op innovatieve en inspirerende manieren toe. Hieronder volgen een aantal casestudy's en succesverhalen van klanten:

Door meer AI-klantverhalen bladeren

Volgende stappen