Kunstig intelligens vs. klassisk algoritmisk programmering

Mod kunstig intelligens fra klassisk algoritmisk programmering

Anthony Quattrone, PhD 30. april 2022

Fremskridt inden for kunstig intelligens har muliggjort, at komplekse beregningsmæssige problemer, som tidligere har været vanskelige, uigennemtrængelige eller stærkt kombinatoriske, kan løses effektivt. Disse problemer omfatter ansigtsgenkendelse, objektdetektion, ruteplanlægning og stærkt personlige online anbefalingssystemer.

Udfordringen for organisationer, der bevæger sig fremad mod fremtiden, er for strategiske beslutningstagere at vælge mellem traditionelle klassiske tilgange og tilgange med kunstig intelligens til at løse komplekse beregningsmæssige problemer. Begge metoder har unikke udfordringer i at levere et robust system på tværs af dimensioner af nøjagtighed, omkostninger, implementeringssværhedsgrad og vedligeholdelsesvenlighed.

Den klassiske algoritmiske programmeringstilgang til problemløsning

Det klassiske programmeringsparadigme involverer løsning af problemer via præskriptive algoritmer og anvendelse af en veldefineret sekvens af instruktioner. Input defineres og begrænses, og der udvikles algoritmer til at behandle input via definerede programmeringsparadigmer (Procedural, Objektorienteret, Funktionel og Logisk) for at producere output.

At opdage algoritmer til at løse tidsmæssigt og rumligt effektive problemer er berygtet udfordrende. Inden for beregningsmæssig kompleksitetsteori er problemer enten P (Polynomial), NP (Non-deterministisk Polynomial), NP-Complete eller NP-Hard. Polynomiale problemer kan løses og verificeres hurtigt, mens ikke-polynomiale problemer ikke kan. NP-problemer er vanskelige at løse via klassiske algoritmiske tilgange.

Et eksempel på et P-problem er at finde den korteste vej mellem to punkter, mens et eksempel på et NP-problem er den rejsende sælgers problem, hvor man, når man får en række placeringer, skal finde den optimale rute for at besøge alle steder og tilbagelægge den kortest mulige afstand. Det sker bare så, at mange af de problemer, der i øjeblikket kræves løst beregningsmæssigt, falder ind under NP-kategorien. I de fleste tilfælde er en tilnærmelsesvis løsning ofte tilstrækkelig til praktiske formål. Når mennesker griber dagligdagen an, finder de altid på tilnærmelsesvise løsninger, dvs. navigation.

Der er implementeringsudfordringer ved at løse problemer under et klassisk algoritmisk paradigme på en effektiv måde. Algoritmisk kompleksitet er en gren af datalogi, der beskæftiger sig med, hvor effektivt algoritmer kører i det tidsmæssige (tidskompleksitet) og rumlige domæne (pladskompleksitet).

Selvom der er mange forskellige måder at implementere algoritmer på, kaldes en åbenlys, men potentielt ineffektiv måde at implementere en algoritme på ofte for en „naiv“ algoritme. De fleste effektive algoritmer er ikke lette at opdage, og dataloger har arbejdet i mange år på at finde de bedste algoritmer til at løse klasser af problemer. Algoritmer i produktionssystemer implementeres på tidsmæssigt og rumligt effektive måder. De største softwarevirksomheder sikrer de højeste algoritmiske standarder via peer-programming, lig peer-review. Det kræver mange års træning og en høj grad af færdighed at implementere algoritmer effektivt.

I praktisk forstand, mens programmeringsteknikker har udviklet sig, og programmeringssprog (dvs. C, C++, Java, JavaScript, PHP, Python) har varieret i popularitet, er de grundlæggende principper forblevet de samme, siden Bell Labs i 1970'erne skrev de første C-moduler. Der er nogle praktiske måder at få teoretisk udfordrende problemer til at fungere i produktion, såsom ved at bruge distribuerede systemer. Avancerede tilgange medfører højere omkostninger og ligger uden for evnerne hos alle undtagen de mest teknologisk fremskridtsorienterede organisationer.

På grund af kompleksiteten i klassiske algoritmiske programmeringstilgange har organisationer længe haft svært ved at opbygge effektive teams til at producere sådanne systemer internt. Desuden har mange også haft svært ved at finde eksterne udbydere til at løse nicheudfordringer, der teoretisk set er mulige at implementere. Design af en specifik algoritme bliver betydeligt mere komplekst, efterhånden som problemets kompleksitet stiger. Dette gælder især for multivariate problemer. Det er bedst at bruge klassiske algoritmiske tilgange i situationer, hvor en algoritme hurtigt kan løse et problem og fungerer i de fleste tilfælde.

AI-tilgangen til problemløsning

Paradigmet for kunstig intelligens forsøgte at løse problemer generisk ved at fodre et system med input og ønskede output og lade systemet lære, hvordan problemer løses. Nuværende AI-tilgange kører på klassiske computere via klassiske programmeringsteknikker. De mest spændende AI-metoder er neurale netværk og forstærket læring.

Kunstige neurale netværk udnytter den menneskelige forståelse af, hvordan den menneskelige hjerne lærer og generaliserer problemer. Forstærket læring bruger agenter, der indfører en målsituation og en række scenarier. Lærealgoritmen bevarer foretrukne udfald og fraviger ugunstige udfald over flere gentagelser. Forstærket læring kan sammenlignes med operant betingning. Agenten lærer, hvordan målet kan opnås over mange træningsgentagelser.

Et krav for at træne løsninger til kunstig intelligens er enten et veldefineret, omfattende datasæt, normalt samlet ved hjælp af en kombination af forskellige data warehouses eller crowdsourcing, eller et system kan lære at nå en måltilstand ved at køre gennem en række iterationer. Et eksempel på dette er et system, der spiller et spil mod sig selv, såsom skak eller Go, for yderligere at lære, hvordan man udvikler strategier til at forbedre resultaterne. Kunstige netværk og forstærkningslæring køres begge på scenarier, de ikke er trænet til, og evalueres på samme måde som andre maskinlæringstilgange. Disse tilgange generaliserer godt og giver effektive løsninger for en given klasse af problemer. Løsninger baseret på kunstig intelligens egner sig til problemer, der ikke let kan defineres ved hjælp af en sekvens af instruktioner; i stedet kræver de mere "intuition" og værdidomme.

Typisk trænes kunstige intelligenssystemer ved hjælp af datasæt og evalueres senere på et evalueringssæt. Jo flere data af høj kvalitet der indlæses i et AI-system, jo større er sandsynligheden for, at systemet præsterer på et højt niveau. Fordelen ved AI-tilgange er, at de kan fortsætte med at forbedre sig over tid, efterhånden som systemet lærer mere. Således kan komplekse problemer generaliseres og løses af computersystemer. Dette omfatter problemer, der traditionelt er løst af menneskelig indsats, selvom snæver AI kan ses som et supplement til eksisterende menneskelig indsats for at sikre bedre resultater.

Kunstig intelligens og maskinlæring har længe blevet betragtet med forsigtighed af organisationer på grund af, at sådanne systemer mangler sporbarhed og forudsigelighed af, hvordan de vil reagere på use cases. AI kan således handle i sjældne omstændigheder og reagere uforudsigeligt, når det mindst forventes. Derfor er det vigtigt at have klart definerede use cases for, hvornår AI skal bruges, hvilke fejlmarginer der accepteres, og hvordan de output, der produceres fra AI-systemer, vil blive kvalitetstjekket af menneskelig indsats for at sikre nøjagtighed.

Samlet set forudsiger vi, at den forbedrede nøjagtighed, som AI-systemer vil medføre, kombineret med de effektivitetsgevinster, der opnås ved at supplere den menneskelige indsats, vil udgøre en for stor økonomisk incitament for mange organisationer til at ignorere i de kommende år, AI-systemer vil blive udbredte.

Hvornår man skal vælge Artificial Intelligence, og hvornår man skal vælge den klassiske algoritmiske programmeringstilgang til at løse problemer

Selvom der ikke er nogen faste og ufravigelige regler for, hvornår man skal bruge den ene eller den anden tilgang, er det som en generel regel således, at problemer, der kræver omtrentlige løsninger og involverer målrettet langsigtet planlægning, kompleks mønstergenkendelse og behandling af en mangfoldighed af variabler, er bedre egnet til AI. Klassiske algoritmiske tilgange er bedre egnet til eksakte eller næsten optimale løsninger, der involverer tung logik og beregninger.

Valg af den korrekte tilgang kan give betydelige fordele for din organisation, mens valg af en mindre optimal metode kan føre til betydelige kapitaltab, da teknologiprojekter er dyre. Ofte kan valg af beviste og demonstrerbare systemer som Telemus AI™ hjælpe organisationer med at sikre succes i deres digitale transformation med kunstig intelligens.

Kontakt os i dag for en gratis konsultation om, hvordan Telemus AI™ kan integreres i din organisation.