Blog
Quantum Computing
Quantum computers kunnen complexe berekeningen en analyses vele malen sneller en efficiënter uitvoeren dan de traditionele computers waar we dagelijks mee werken.
Kennis en expertise zijn de kernwaarden van CIMSOLUTIONS. Gericht op de kwaliteit van haar detacheringsdiensten, investeert CIMSOLUTIONS continu in de ontwikkeling van eigen medewerkers in de vorm van de thematische groeipaden, Special Interest Groups en Competence Centers. De laatste twee focussen op twee aspecten: het opbouwen van interne kennis en expertise en tegelijkertijd het ontwikkelen van de levensvatbare en demonstreerbare producten voor de externe klanten – beide zijn noodzakelijke ingrediënten voor asset-based consulting [1]. Op het gebied van data en kunstmatige intelligentie (AI) richt het ’Competence Center AI, Machine Learning en Robotics’ zich op de innovatieve ontwikkelingen van data gedreven applicaties en het gebruik van kunstmatige intelligentie; dit omvat een aantal interne projecten.
Het ontwikkelen van AI-systemen is net iets anders dan het ontwikkelen van traditionele software. In traditionele programmering worden expliciete regels vastgelegd in de code. Deze vaste regels samen met de input van nieuwe gegevens zorgen ervoor dat er altijd een eenvoudige output door het systeem wordt geproduceerd. In tegenstelling hierop is een andere aanpak nodig om AI zelf te laten leren. In plaats van de vastgestelde regels (die we vaak zelf niet eens kennen) geven we een aantal bekende antwoorden zodat de machine zelf op basis van deze antwoorden en daaraan gerelateerde input de regels kan formuleren. Als AI de regels heeft vastgesteld, dan kan het systeem voor nieuwe input zelf een antwoord bepalen.
Figuur 1 – Functioneel verschil tussen traditioneel programmeren en het AI systeem
AI is een breed begrip en kan in twee onderdelen worden verdeeld (Figuur 2):
Figuur 2 – de scope van AI / Machine Learning / Deep Learning [2]
Net zoals traditionele software werkt het neurale netwerk met de digitale numerieke input (cijfers). Om deze reden kan dit systeem niet rechtstreeks van tekst, audio of video input leren en moet het dus eerst deze informatie naar cijfers omzetten. De manieren waarop deze input wordt omgezet, wisselt per type probleem:
Het trainen van deep learning modellen op basis van enorme datasets kan zeer rekenintensief zijn en vereist meerdere leeriteraties die vele dagen kunnen duren, zelfs op krachtige Graphics Processing Units (GPU’s). Daarom is het vaak een goed idee om eerst te zoeken naar reeds bestaande modellen die al zijn getraind op vergelijkbare data en van deze vervolgens de modelparameters aan te passen zodat slechts enkele specifieke iteraties kunnen worden gebruikt om het model op de specifieke gegevens door te trainen.
Figuur 3 – concept van transfer learning [4]
Het belangrijkste doel van het trainen van AI-systemen is om deze systemen uiteindelijk in productie te nemen zodat ze voorspellingen kunnen doen op basis van nieuwe data. Meerdere aanvullende componenten zoals databeheer, model serving en monitoring zijn vereist voor het robuust werken van het zelfvoorspelende systeem. In het kader hiervan is er recent een discipline ontstaan genaamd Machine Learning Operations (MLOps, ofwel DevOps voor Machine Learning [5]) die zich specifiek richt op het robuust, reproduceerbaar en beheersbaar maken van de end-to-end levenscyclus van voorspelmodelontwikkeling in elk deel ervan.
Figuur 4 – Iteratief-incrementeel proces in MLOps [5]
Het volgen van deze principes garandeert stabiele voorspellingen en tijdige signalering wanneer het model opnieuw moet worden getraind (bijvoorbeeld als input gegevens of bedrijfsprocessen veranderen).
Klim Mikhailov
Machine Learning Engineer
[1] https://www.gartner.com/en/documents/3990228
[3] Overzicht zoekresultaten Gartner (t/m publicatiedatum van deze blogpost)