Umetna inteligenca v primerjavi s klasičnim algoritmičnim programiranjem

Proti umetni inteligenci od klasičnega algoritmičnega programiranja

Anthony Quattrone, PhD 30. april 2022

Napredki v umetni inteligenci so omogočili učinkovito reševanje kompleksnih računskih problemov, ki so bili prej težavni, neobvladljivi ali močno kombinatorični. Ti problemi vključujejo prepoznavanje obrazov, zaznavanje objektov, načrtovanje poti in zelo personalizirane spletne sisteme priporočanja.

Izziv za organizacije v prihodnosti je, da strateški odločevalci izbirajo med tradicionalnimi klasičnimi pristopi in pristopi umetne inteligence za reševanje kompleksnih računskih problemov. Vsaka metoda ima edinstvene izzive pri dobavi robustnega sistema v dimenzijah natančnosti, stroškov, težavnosti implementacije in vzdrževalnosti.

Klasični algoritmični programski pristop k reševanju problemov

Klasična programska paradigma vključuje reševanje problemov s predpisnimi algoritmi in uporabo dobro definiranih zaporedij navodil. Vhodi so definirani in omejeni, razvijajo se algoritmi za obdelavo vhodov prek definiranih programskih paradigm (proceduralno, objektno usmerjeno, funkcionalno in logično) za proizvodnjo izhodov.

Odkrivanje algoritmov za reševanje časovno in prostorsko učinkovitih problemov je znano kot izjemno zahtevno. V teoriji računske kompleksnosti so problemi ali P (Polinomski), NP (Nedeterministični polinomski), NP-polni (NP-Complete) ali NP-težki (NP-Hard). Polinomske probleme je mogoče hitro rešiti in preveriti, nepolinomskih pa ne. NP problemi so težko rešljivi s klasičnimi algoritmičnimi pristopi.

Primer problema P je iskanje najkrajše poti med dvema točkama, primer problema NP pa problem potujočega prodajalca, kjer moramo ob danem nizu lokacij najti optimalno pot za obisk vseh mest ob najkrajši možni razdalji. Zgodi se, da mnogi problemi, ki jih je trenutno treba rešiti računalniško, spadajo v kategorijo NP. V večini primerov je za praktične namene pogosto dovolj približna rešitev. Pri vsakodnevnih življenjskih situacijah ljudje vedno najdejo približne rešitve, npr. navigacija.

Pri reševanju problemov v okviru klasičnega algoritmičnega paradigme na učinkovit način obstajajo izzivi pri implementaciji. Algoritmična kompleksnost je veja računalništva, ki obravnava, kako učinkovito algoritmi delujejo v časovni (časovna kompleksnost) in prostorski domeni (prostorska kompleksnost).

Medtem ko obstaja veliko različnih načinov za implementacijo algoritmov, se očiten, a potencialno neučinkovit način implementacije algoritma pogosto imenuje „naiven“ algoritem. Večina učinkovitih algoritmov ni enostavnih za odkritje, računalniški znanstveniki pa že vrsto let delajo na iskanju najboljših algoritmov za reševanje razredov problemov. Algoritmi v produkcijskih sistemih so implementirani na časovno in prostorsko učinkovite načine. Največja podjetja za programsko opremo zagotavljajo najvišje algoritmične standarde s pomočjo vrstniškega programiranja, podobno vrstniškemu pregledu. Za učinkovito implementacijo algoritmov so potrebna številna leta usposabljanja in visoka stopnja spretnosti.

V praktičnem smislu, čeprav so se tehnike programiranja razvijale in so se programski jeziki (tj. C, C++, Java, JavaScript, PHP, Python) razlikovali v priljubljenosti, so osnove ostale enake od takrat, ko so v Bell Labs v sedemdesetih letih prejšnjega stoletja napisali prve module v C. Obstajajo nekateri praktični načini za delovanje teoretično zahtevnih problemov v produkciji, na primer z uporabo distribuiranih sistemov. Napredni pristopi so povezani z višjimi stroški in presegajo zmožnosti vseh razen tehnološko najnaprednejših organizacij.

Glede na kompleksnost klasičnih algoritmičnih programskih pristopov so organizacije že zdavnaj ugotovile, da je težko sestaviti učinkovite ekipe za izdelavo takih sistemov interno. Poleg tega so se mnogi tudi težko znašli pri iskanju zunanjih ponudnikov za reševanje nišnih izzivov, ki so teoretično izvedljivi. Oblikovanje specifičnega algoritma postane občutno bolj kompleksno, ko se povečuje kompleksnost problema. To še posebej velja za multivariatne probleme. Najbolje je uporabiti klasične algoritmične pristope v situacijah, ko lahko algoritem hitro reši problem in deluje za večino primerov.

Pristop AI k reševanju problemov

Paradigma umetne inteligence je poskušala reševati probleme splošno tako, da je v sistem vnašala vhode in želene izhode ter sistemu prepustila učenje, kako reševati probleme. Trenutni pristopi AI delujejo na klasičnih računalnikih prek klasičnih programskih tehnik. Najbolj zanimive metode AI so nevronske mreže in učenje s krepitev.

Umetne nevronske mreže izkoriščajo človeško razumevanje tega, kako človeški um uči in posplošuje probleme. Okrepitveno učenje uporablja agente, ki vnesejo ciljno stanje in serijo scenarijev. Algoritem učenja ohranja prednostne izide in opušča neugodne izide skozi več iteracij. Okrepitveno učenje je analogno operantnemu pogojevanju. Agent se nauči, kako doseči cilj skozi veliko iteracij usposabljanja.

Zahteva za usposabljanje rešitev umetne inteligence je bodisi dobro definirana obsežna množica podatkov, običajno sestavljena z uporabo kombinacije različnih podatkovnih skladišč ali množičnega izvora, bodisi se lahko sistem nauči doseči ciljno stanje z izvajanjem serije iteracij. Primer tega je sistem, ki igra igro proti sebi, kot so Šah ali Go, da bi nadalje naučil, kako razviti strategije za izboljšanje rezultatov. Umetne mreže in učenje s spodbujevanjem se oba izvajata na scenarijih, za katere nista usposobljena, in se ovrednotita podobno kot drugi pristopi strojnega učenja. Ti pristopi se dobro posplošijo in zagotavljajo učinkovite rešitve za dani razred problemov. Rešitve na osnovi umetne inteligence ustrezajo problemom, ki jih ni mogoče enostavno definirati z zaporedjem navodil; namesto tega zahtevajo več "intuicije" in vrednostne presoje.

Sistemi umetne inteligence se običajno usposabljajo z uporabo naborov podatkov in kasneje ocenjujejo na naboru za evalvacijo. Več visokokakovostnih podatkov za usposabljanje, vnesenih v sistem AI, pomeni večjo verjetnost, da bo sistem deloval na visoki ravni. Prednost pristopov AI je, da se lahko sčasoma še naprej izboljšujejo, ko se sistem bolj uči. Tako je mogoče kompleksne probleme posplošiti in rešiti z računalniškimi sistemi. Ti vključujejo težave, ki so jih tradicionalno reševali z človeškim vnosom, čeprav je mogoče ozko AI obravnavati kot dopolnilo k obstoječemu človeškemu vnosu za zagotavljanje boljših rezultatov.

Umetno inteligenco in strojno učenje organizacije že dolno obravnavajo previdno, ker takim sistemom manjka sledljivost in določljivost, kako se bodo odzvali na primere uporabe. Tako lahko AI ukrepa v redkih okoliščinah in se nepredvidljivo odzove, ko se tega najmanj pričakuje. Zato je pomembno, da so jasno opredeljeni primeri uporabe, kdaj se uporablja AI, katere ravni napak so sprejete in kako bodo izhode, ki jih producirajo sistemi AI, pregledali vrstniki s človeškim vnosom za zagotavljanje natančnosti.

Skupno napovedujemo, da bo izboljšana natančnost, ki jo bodo prinesli sistemi AI, skupaj z učinkovitostmi, pridobljenimi z dopolnjevanjem človeškega vnosa, predstavljala prevelik finančni spodbujevalnik, da bi ga mnoge organizacije v prihodnjih letih prezrle, sistemi AI bodo postali povsod prisotni.

Kdaj izbrati umetno inteligenco in kdaj izbrati klasični algoritmični programski pristop za reševanje problemov

Medtem ko ni trdih in hitrih pravil o tem, kdaj uporabiti kateri pristop, je kot splošno pravilo za probleme, ki zahtevajo približne rešitve in vključujejo ciljno usmerjeno dolgoročno načrtovanje, prepoznavanje kompleksnih vzorcev in obdelo množice spremenljivk, AI bolj primeren. Klasični algoritmični pristopi so bolj primerni za točne ali skoraj optimalne rešitve, ki vključujejo obsežno logiko in izračune.

Izbira pravega pristopa lahko prinese pomembne koristi za vašo organizacijo, medtem ko lahko izbira manj optimalne metode privede do znatnih izgub kapitala, saj so tehnološki projekti dragi. Pogosto se odločitev za preizkušene in predstavljive sisteme, kot je Telemus AI™, lahko organizacijam pomaga zagotoviti uspeh pri njihovi digitalni preobrazbi z umetno inteligenco.

Stopite v stik z nami še danes za brezplačno posvetovanje o tem, kako lahko Telemus AI™ integrirate v vašo organizacijo.