Umjetna inteligencija naspram klasičnog algoritamskog programiranja

Prema umjetnoj inteligenciji od klasičnog algoritamskog programiranja

Anthony Quattrone, PhD 30. travnja 2022.

Napredak u umjetnoj inteligenciji omogućio je učinkovito rješavanje složenih računalnih problema koji su prethodno bili teški, neodrživi ili snažno kombinatorni. Ovi problemi uključuju prepoznavanje lica, detekciju objekata, planiranje ruta i visoko personalizirane mrežne sustave za preporuke.

Izazov za organizacije u budućnosti jest da strateški donositelji odluka odluče između tradicionalnih klasičnih pristupa i pristupa umjetne inteligencije za rješavanje složenih računalnih problema. Svaka metoda ima jedinstvene izazove u isporuci robusnog sustava u dimenzijama točnosti, troškova, težine implementacije i održivosti.

Klasični algoritamski programski pristup rješavanju problema

Klasična programska paradigma uključuje rješavanje problema putem preskriptivnih algoritama i korištenjem dobro definiranog slijeda uputa. Ulazi su definirani i ograničeni, razvijaju se algoritmi za obradu ulaza putem definiranih programskih paradigmi (proceduralna, objektno orijentirana, funkcionalna i logička) kako bi se proizveli izlazi.

Otkrivanje algoritama za rješavanje vremenski i prostorno učinkovitih problema je poznato izazovno. U teoriji računalne složenosti, problemi su ili P (Polinomni), NP (Nedeterministički polinomni), NP-Potpuni ili NP-Teški. Polinomni problemi se mogu brzo riješiti i potvrditi, dok se nepolinomni problemi ne mogu. NP problemi je teško riješiti klasičnim algoritamskim pristupima.

Primjer P problema je pronalaženje najkraćeg puta između dvije točke, dok je primjer NP problema problem trgovačkog putnika gdje se, za zadani niz lokacija, traži optimalni put za posjet svim lokacijama prelazeći najkraću moguću udaljenost. Događa se da mnogi problemi koji se trenutno moraju riješiti računalno spadaju u kategoriju NP. U većini slučajeva, u praktične svrhe, aproksimativno rješenje je često dovoljno. U svakodnevnom životu ljudi uvijek dolaze do aproksimativnih rješenja, npr. navigacija.

Postoje izazovi u implementaciji pri rješavanju problema unutar klasičnog algoritamskog paradigme na učinkovit način. Algoritamska složenost grana je računalne znanosti koja se bavi time koliko učinkovito algoritmi rade u vremenskoj (vremenska složenost) i prostornoj domeni (prostorna složenost).

Iako postoji mnogo različitih načina implementacije algoritama, očigledan, ali potencijalno neučinkovit način implementacije algoritma često se naziva „naivni” algoritam. Većina učinkovitih algoritama nije laka za otkrivanje, a računalni znanstvenici već dugi niz godina rade na pronalaženju najboljih algoritama za rješavanje klasa problema. Algoritmi u produkcijskim sustavima implementirani su na vremenski i prostorno učinkovite načine. Najveće softverske tvrtke osiguravaju najviše algoritamske standarde putem programiranja u paru, slično recenziji vršnjaka. Potrebne su mnoge godine obuke i visok stupanj vještine za učinkovitu implementaciju algoritama.

U praktičnom smislu, iako su se tehnike programiranja razvijale, a popularnost programskih jezika (npr. C, C++, Java, JavaScript, PHP, Python) mijenjala, osnove su ostale iste otkako su u Bell Labs tijekom 1970-ih napisali prve module u C-ju. Postoje neki praktični načini da se teorijski zahtjevni problemi primijene u produkciji, poput korištenja distribuiranih sustava. Napredni pristupi dolaze po većoj cijeni i izvan su mogućnosti svih osim tehnološki najnaprednijih organizacija.

S obzirom na složenost klasičnih algoritamskih programskih pristupa, organizacijama je već duže vrijeme teško izgraditi učinkovite timove za internu izradu takvih sustava. Nadalje, mnogi su se također mučili pronaći vanjske pružatelje usluga za rješavanje nišnih izazova koji su teorijski mogući za implementaciju. Dizajniranje specifičnog algoritma postaje znatno složenije kako raste složenost problema. To je posebno istinito za multivarijatne probleme. Najbolje je koristiti klasične algoritamske pristupe u situacijama gdje algoritam može brzo riješiti problem i funkcionira u većini slučajeva.

AI pristup rješavanju problema

Paradigma umjetne inteligencije pokušala je rješavati probleme generički unosom ulaza i željenih izlaza u sustav i dopuštanjem sustavu da nauči kako rješavati probleme. Trenutni AI pristupi rade na klasičnim računalima putem klasičnih programskih tehnika. Najuzbudljivije AI metode su neuronske mreže i potkorno učenje.

Umjetne neuronske mreže iskorištavaju ljudsko razumijevanje načina na koji ljudski um uči i generalizira probleme. Potkrijepljeno učenje koristi agente koji unose ciljno stanje i niz scenarija. Algoritam učenja zadržava poželjne ishode i odbacuje nepovoljne ishode kroz više iteracija. Potkrijepljeno učenje je analogno operantnom uvjetovanju. Agent uči kako postići cilj kroz mnoge iteracije treniranja.

Preduvjet za treniranje rješenja umjetne inteligencije je ili dobro definiran opsežan skup podataka, obično sastavljen korištenjem kombinacije različitih skladišta podataka ili crowdsourcinga, ili sustav može naučiti doseći ciljno stanje prolazeći kroz niz iteracija. Primjer za to je sustav koji igra igru protiv samog sebe, kao što su Šah ili Go, kako bi dalje naučio razvijati strategije za poboljšanje ishoda. Umjetne mreže i potkrijepljujuće učenje se oba izvode na scenarijima za koje se ne treniraju i evaluiraju slično kao i drugi pristupi strojnom učenju. Ovi pristupi dobro generaliziraju i pružaju učinkovita rješenja za zadanu klasu problema. Rješenja temeljena na umjetnoj inteligenciji prikladna su za probleme koji se ne mogu lako definirati nizom uputa; umjesto toga zahtijevaju više "intuicije" i prosudbi vrijednosti.

Tipično, sustavi umjetne inteligencije treniraju se pomoću skupova podataka, a kasnije se vrednuju na skupu za evaluaciju. Što više kvalitetnih podataka za treniranje unese se u AI sustav, to je veća vjerojatnost da će sustav raditi na visokoj razini. Prednost AI pristupa je u tome što se mogu nastaviti poboljšavati tijekom vremena kako sustav uči više. Dakle, složeni problemi mogu se generalizirati i riješiti pomoću računalnih sustava. To uključuje probleme koji se tradicionalno rješavaju ljudskim unosom, iako se uska AI može promatrati kao dopuna postojećem ljudskom unosu kako bi se osigurali bolji ishodi.

Umjetnu inteligenciju i strojno učenje organizacije dugo promatraju s oprezom zbog toga što takvim sustavima nedostaje sljedivost i odredivost načina na koji će reagirati u slučajevima korištenja. Stoga se AI može aktivirati u rijetkim okolnostima i reagirati nepredvidivo kada se to najmanje očekuje. Zato je važno imati jasno definirane slučajeve korištenja kada se AI koristi, koje se razine pogrešaka prihvaćaju i kako će rezultati koje proizvode AI sustavi biti pregledani od strane ljudi kako bi se osigurala točnost.

Sveukupno, predviđamo da će poboljšana točnost koju donose AI sustavi, u kombinaciji s učinkovitostima postignutim nadopunjavanjem ljudskog unosa, predstavljati prevelik financijski poticaj da bi ga mnoge organizacije mogle ignorirati u nadolazećim godinama; AI sustavi će postati sveprisutni.

Kada odabrati umjetnu inteligenciju, a kada klasični algoritamski pristup programiranju za rješavanje problema

Iako nema čvrstih i brzih pravila o tome kada koristiti koji pristup, kao opće pravilo, problemi koji zahtijevaju približna rješenja i uključuju ciljano dugoročno planiranje, složeno prepoznavanje obrazaca i obradu mnoštva varijabli prikladniji su za AI. Klasični algoritamski pristupi bolje su prikladni za točna ili blisko optimalna rješenja koja uključuju složenu logiku i izračune.

Odabir ispravnog pristupa može donijeti značajne prednosti vašoj organizaciji, dok odabir manje optimalne metode može dovesti do znatnih kapitalnih gubitaka, jer su tehnološki projekti skupi. Često odabir dokazanih i demonstrabilnih sustava kao što je Telemus AI™ može pomoći organizacijama da osiguraju uspjeh u svojoj digitalnoj transformaciji umjetne inteligencije.

Kontaktirajte nas još danas za besplatno savjetovanje o tome kako se Telemus AI™ može integrirati u vašu organizaciju.