Kunstig intelligens vs klassisk algoritmisk programmering

Mot kunstig intelligens fra klassisk algoritmisk programmering

Anthony Quattrone, PhD 30. april 2022

Fremgang innen kunstig intelligens har gjort det mulig å løse komplekse beregningsproblemer effektivt, som tidligere har vært vanskelige, uhåndterlige eller svært kombinatoriske. Disse problemene inkluderer ansiktsgjenkjenning, objektdeteksjon, ruteplanlegging og svært personlige anbefalingssystemer på nett.

Utfordringen for organisasjoner som går fremover inn i fremtiden er at strategiske beslutningstakere må velge mellom tradisjonelle klassiske tilnærminger og tilnærminger med kunstig intelligens for å løse komplekse beregningsproblemer. Begge metodene har unike utfordringer når det gjelder å levere et robust system på tvers av dimensjonene nøyaktighet, kostnad, implementeringsvanskeligheter og vedlikehold.

Den klassiske algoritmiske programmeringstilnærmingen til problemløsning

Det klassiske programmeringsparadigmet innebærer å løse problemer via preskriptive algoritmer og ved å bruke en veldefinert sekvens av instruksjoner. Innganger defineres og begrenses, og det utvikles algoritmer for å behandle innganger via definerte programmeringsparadigmer (prosedyrell, objektorientert, funksjonell og logisk) for å produsere utganger.

Å oppdage algoritmer for å løse tidsmessige og romlige effektivitetsproblemer er beryktet utfordrende. I beregningskompleksitetsteori er problemer enten P (Polynomisk), NP (Ikke-deterministisk Polynomisk), NP-Komplett eller NP-Vanskelig. Polynomiske problemer kan løses og verifiseres raskt, mens ikke-polynomiske problemer ikke kan det. NP-problemer er vanskelige å løse ved hjelp av klassiske algoritmiske tilnærminger.

Et eksempel på et P-problem er å finne den korteste veien mellom to punkter, mens et eksempel på et NP-problem er det reisende selger-problemet, der man, når man får en rekke steder, må finne den optimale ruten for å besøke alle steder og reise kortest mulig avstand. Det skjer slik at mange av problemene som for tiden må løses beregningsmessig faller inn under NP-kategorien. I de fleste tilfeller er en tilnærmet løsning ofte tilstrekkelig for praktiske formål. Når mennesker nærmer seg dagliglivet, kommer de alltid med tilnærmede løsninger, dvs. navigasjon.

Det er implementeringsutfordringer knyttet til å løse problemer under et klassisk algoritmisk paradigme på en effektiv måte. Algoritmisk kompleksitet er en gren av informatikk som omhandler hvor effektivt algoritmer kjører i tidsdomenet (tidskompleksitet) og romdomenet (romkompleksitet).

Selv om det finnes mange forskjellige måter å implementere algoritmer på, refereres en åpenbar, men potensielt ineffektiv måte å implementere en algoritme på ofte til som en «naiv» algoritme. De mest effektive algoritmene er ikke lette å oppdage, og datavitenskapsfolk har i mange år arbeidet med å finne de beste algoritmene for å løse klasser av problemer. Algoritmer i produksjonssystemer implementeres på tidsmessig og romlig effektive måter. De største programvareselskapene sikrer de høyeste algoritmiske standardene via peer-programmering, lik peer-review. Det tar mange år med trening og en høy grad av ferdighet å implementere algoritmer effektivt.

I praktisk forstand, mens programmeringsteknikker har utviklet seg og programmeringsspråk (dvs. C, C++, Java, JavaScript, PHP, Python) har variert i popularitet, har det grunnleggende vært det samme siden Bell Labs, på 1970-tallet, skrev de første C-modulene. Det er noen praktiske måter å få teoretisk utfordrende problemer til å fungere i produksjon, for eksempel ved å bruke distribuerte systemer. Avanserte tilnærminger kommer til en høyere kostnad og ligger utenfor evnene til alle unntatt de mest teknologisk fremskrittsvennlige organisasjonene.

Gitt kompleksiteten til klassiske algoritmiske programmeringsmetoder, har organisasjoner lenge hatt vanskelig for å bygge effektive team for å produsere slike systemer internt. Videre har mange også slitt med å finne eksterne leverandører for å løse nisjeutfordringer som teoretisk sett er mulig å implementere. Å designe en spesifikk algoritme blir betydelig mer komplekst etter hvert som problemets kompleksitet øker. Dette gjelder spesielt for multivariate problemer. Det er best å bruke klassiske algoritmiske metoder i situasjoner der en algoritme raskt kan løse et problem og fungerer for de fleste tilfeller.

AI-tilnærmingen til problemløsning

Paradigmet for kunstig intelligens forsøkte å løse problemer generisk ved å mate inn innganger og ønskede utganger i et system og la systemet lære hvordan det løser problemer. Nåværende AI-tilnærminger kjører på klassiske datamaskiner via klassiske programmeringsteknikker. De mest spennende AI-metodene er nevrale nettverk og forsterkningslæring.

Kunstige nevrale nettverk utnytter menneskelig forståelse av hvordan den menneskelige hjernen lærer og generaliserer problemer. Forsterkningslæring bruker agenter som mater inn en måltilstand og en rekke scenarier. Læringsalgoritmen beholder foretrukne utfall og forkaster ugunstige utfall over flere iterasjoner. Forsterkningslæring er analogt med operant betinging. Agenten lærer hvordan målet kan oppnås over mange treningsiterasjoner.

Et krav for å trene løsninger for kunstig intelligens er enten et veldefinert, omfattende datasett, vanligvis satt sammen ved hjelp av en kombinasjon av ulike datalagre eller crowdsourcing, eller et system kan lære å nå en måltilstand ved å gå gjennom en serie iterasjoner. Et eksempel på dette er et system som spiller et spill mot seg selv, for eksempel sjakk eller Go, for å lære mer om hvordan man utvikler strategier for å forbedre resultatene. Kunstige nettverk og forsterkningslæring kjøres begge på scenarioer de ikke er trent for, og evalueres på samme måte som andre maskinlæringsmetoder. Disse tilnærmingene generaliserer godt og gir effektive løsninger gitt en klasse med problemer. Løsninger basert på kunstig intelligens egner seg for problemer som ikke lett kan defineres ved hjelp av en sekvens med instruksjoner; de krever snarere mer «intuisjon» og verdidømmer.

Vanligvis trenes kunstig intelligens-systemer ved bruk av datasett og evalueres senere på et evalueringssett. Jo mer treningsdata av høy kvalitet som mates inn i et AI-system, jo større er sannsynligheten for at systemet presterer på et høyt nivå. Fordelen med AI-tilnærminger er at de kan fortsette å forbedre seg over tid etter hvert som systemet lærer mer. Dermed kan komplekse problemer generaliseres og løses av datasystemer. Dette inkluderer problemer som tradisjonelt er løst av menneskelig innsats, selv om smal AI kan ses på som et supplement til eksisterende menneskelig innsats for å sikre bedre resultater.

Kunstig intelligens og maskinlæring har lenge blitt sett på med forsiktighet av organisasjoner på grunn av at slike systemer mangler sporbarehet og forutsigbarhet for hvordan de vil reagere på bruksområder. Dermed kan AI opptre i sjeldne omstendigheter og reagere uforutsigbart når man minst venter det. Det er derfor viktig å ha klart definerte bruksområder for når AI skal brukes, hvilke feilnivåer som aksepteres og hvordan utdataene som produseres fra AI-systemer vil bli fagfellevurdert av menneskelig innsats for å sikre nøyaktighet.

Samlet sett forventer vi at den forbedrede nøyaktigheten AI-systemer vil bringe, kombinert med effektiviteten som oppnås ved å supplere menneskelig innsats, vil ha et for stort økonomisk insitament for at mange organisasjoner kan ignorere det i de kommende årene, AI-systemer vil bli gjennomtrengende.

Når man bør velge kunstig intelligens og når man bør velge den klassiske algoritmiske programmeringstilnærmingen for å løse problemer

Selv om det ikke finnes noen faste og hurtige regler for når man skal bruke den ene eller den andre tilnærmingen, er som en generell regel problemer som krever tilnærmede løsninger og involverer målrettet langsiktig planlegging, kompleks mønstergjenkjenning og behandling av en mangfold av variabler, bedre egnet for AI. Klassiske algoritmiske tilnærminger er bedre egnet for eksakte eller nesten optimale løsninger som involverer tung logikk og beregninger.

Å velge riktig tilnærming kan gi betydelige fordeler for din organisasjon, mens valg av en mindre optimal metode kan føre til betydelige kapitaltap ettersom teknologiprosjekter er dyre. Å ofte gå med beviste og demonstrerbare systemer som Telemus AI™ kan hjelpe organisasjoner med å sikre suksess i sin digitale transformasjon med kunstig intelligens.

Kontakt oss i dag for en gratis konsultasjon om hvordan Telemus AI™ kan integreres i din organisasjon.