Umelá inteligencia vs klasické algoritmické programovanie

Smerom k umelej inteligencii od klasického algoritmického programovania

Anthony Quattrone, PhD 30. apríla 2022

Pokroky v oblasti umelej inteligencie umožnili efektívne riešiť komplexné výpočtové problémy, ktoré boli predtým ťažké, neřešiteľné alebo silne kombinatorické. Tieto problémy zahŕňajú rozpoznávanie tváre, detekciu objektov, plánovanie trás a vysoko personalizované online odporúčacie systémy.

Výzvou pre organizácie do budúcnosti je, aby strategickí rozhodcovia zvolili medzi tradičnými klasickými prístupmi a prístupmi umelej inteligencie pri riešení zložitých výpočtových problémov. Každá z metód má jedinečné výzvy pri dodávaní robustného systému naprieč dimenziami presnosti, nákladov, náročnosti implementácie a udržiavateľnosti.

Klasický algoritmický programovací prístup k riešeniu problémov

Klasické programovacie paradigma zahŕňa riešenie problémov prostredníctvom predpísaných algoritmov a využitím dobre definovanej postupnosti inštrukcií. Vstupy sú definované a obmedzené, pričom sa vyvíjajú algoritmy na spracovanie vstupov prostredníctvom definovaných programovacích paradigiem (procedurálne, objektovo orientované, funkčné a logické) na vytváranie výstupov.

Objavovanie algoritmov na riešenie časovo a priestorovo efektívnych problémov je známe tým, že je náročné. V teórii výpočtovej zložitosti sú problémy buď P (Polynomiálne), NP (Nedeterministické Polynomiálne), NP-Úplné alebo NP-Ťažké. Polynomiálne problémy je možné rýchlo vyriešiť a overiť, zatiaľ čo nepolynomiálne problémy nie. NP problémy je ťažké vyriešiť pomocou klasických algoritmických prístupov.

Príkladom problému P je hľadanie najkratšej cesty medzi dvoma bodmi, zatiaľ čo príkladom problému NP je problém obchodného cestujúceho, kde pri danom sérii lokalít je otázkou, aká je optimálna cesta na návštevu všetkých miest s prekonaním najkratšej možnej vzdialenosti. Stane sa, že mnohé problémy, ktoré sa v súčasnosti musia riešiť výpočtovo, spadajú do kategórie NP. Vo väčšine prípadov je na praktické účely často dostatočné približné riešenie. Pri riešení každodenných situácií ľudia vždy prichádzajú s približnými riešeniami, t.j. navigácia.

Pri riešení problémov v rámci klasického algoritmického paradigmu efektívnym spôsobom existujú implementačné výzvy. Algoritmická zložitosť je odvetvie informatiky, ktoré sa zaoberá tým, ako efektívne algoritmy bežia v časovej (časová zložitosť) a priestorovej oblasti (priestorová zložitosť).

Zatiaľ čo existuje mnoho rôznych spôsobov implementácie algoritmov, zrejmý, ale potenciálne neefektívny spôsob implementácie algoritmu sa často označuje ako „naivný“ algoritmus. Väčšina efektívnych algoritmov sa nedá ľahko objaviť a počítačoví vedci pracujú už mnoho rokov na nájdení najlepších algoritmov na riešenie tried problémov. Algoritmy v produkčných systémoch sú implementované časovo a priestorovo efektívnymi spôsobmi. Najväčšie softvérové spoločnosti zabezpečujú najvyššie algoritmické štandardy prostredníctvom peer-programovania, podobného peer-review. Efektívna implementácia algoritmov vyžaduje mnoho rokov tréningu a vysokú mieru zručnosti.

V praktickom zmysle, hoci sa programátorské techniky vyvíjali a popularita programovacích jazykov (t.j. C, C++, Java, JavaScript, PHP, Python) líšila, základy zostali rovnaké odvtedy, čo v 70. rokoch Bell Labs napísali prvé moduly v jazyku C. Existujú praktické spôsoby, ako uviesť teoreticky náročné problémy do produkcie, napríklad pomocou distribuovaných systémov. Pokročilé prístupy sú nákladnejšie a sú mimo možností všetkých okrem technologicky najpokročilejších organizácií.

Vzhľadom na zložitosť klasických algoritmických programovacích prístupov, organizácie už dávno zistili, že je ťažké vybudovať efektívne tímy na internú tvorbu takýchto systémov. Okrem toho sa mnohým nedarilo nájsť externých poskytovateľov na riešenie špecifických výziev, ktoré je teoreticky možné implementovať. Navrhovanie špecifického algoritmu sa stáva výrazne zložitejším, ako sa zvyšuje zložitosť problému. To platí najmä pre multivariačné problémy. Najlepšie je použiť klasické algoritmické prístupy v situáciách, keď algoritmus dokáže problém rýchlo vyriešiť a funguje vo väčšine prípadov.

Prístup AI k riešeniu problémov

Paradigma umelej inteligencie sa pokúsila o riešenie problémov všeobecne tak, že do systému vkladala vstupy a želané výstupy a nechala systém, aby sa naučil, ako problémy riešiť. Súčasné prístupy AI bežia na klasických počítačoch prostredníctvom klasických programovacích techník. Najzaujímavejšie metódy AI sú neurónové siete a posilňovacie učenie.

Umelé neurónové siete využívajú ľudské chápanie toho, ako sa ľudská myseľ učí a zovšeobecňuje problémy. Posilňovacie učenie využíva agentov, ktorí dostávajú cieľový stav a sériu scenárov. Algoritmus učenia si zachováva preferované výsledky a opúšťa nepriaznivé výsledky počas viacerých iterácií. Posilňovacie učenie je analogické s operantným podmieňovaním. Agent sa učí, ako dosiahnuť cieľ, počas mnohých tréningových iterácií.

Požiadavkou na tréning riešení umelej inteligencie je buď dobre definovaný rozsiahly súbor údajov, zvyčajne zostavený pomocou kombinácie rôznych dátových skladov alebo crowdsourcingu, alebo sa systém môže naučiť dosiahnuť cieľový stav spustením série iterácií. Príkladom toho je systém hrajúci hru proti sebe, napríklad šachy alebo Go, aby sa ďalej naučil, ako vyvíjať stratégie na zlepšenie výsledkov. Umelé siete a posilňované učenie sa spúšťajú na scenároch, na ktoré nie sú trénované, a vyhodnocujú sa podobne ako iné prístupy strojového učenia. Tieto prístupy dobre generalizujú a poskytujú efektívne riešenia pre danú triedu problémov. Riešenia založené na umelej inteligencii sa hodia na problémy, ktoré nemožno ľahko definovať pomocou postupnosti inštrukcií; namiesto toho vyžadujú viac „intuície“ a hodnotiace úsudky.

Zvyčajne sa systémy umelej inteligencie trénujú pomocou súborov údajov a neskôr sa vyhodnocujú na vyhodnocovacej množine. Čím viac kvalitných tréningových údajov sa vloží do systému AI, tým je vyššia pravdepodobnosť, že systém bude fungovať na vysokej úrovni. Výhodou prístupov AI je, že sa môžu naďalej zlepšovať v priebehu času, ako sa systém viac učí. Zložité problémy tak možno zovšeobecniť a vyriešiť výpočtovými systémami. Patria sem problémy tradične riešené ľudským vstupom, hoci úzka AI môže byť vnímaná ako doplnok k existujúcemu ľudskému vstupu pre zaistenie lepších výsledkov.

Umelá inteligencia a strojové učenie boli organizáciami dlho vnímané opatrne, pretože takýmto systémom chýba sledovateľnosť a určiteľnosť toho, ako budú reagovať na prípady použitia. AI môže teda konať vo vzácnych okolnostiach a reagovať nepredvídateľne, keď to je najmenej očakávané. Preto je dôležité mať jasne definované prípady použitia, kedy sa má AI použiť, aké úrovne chýb sú akceptované a ako budú výstupy produkované zo systémov AI peer-reviewované ľudským vstupom na zaistenie presnosti.

Celkovo predpokladáme, že vyššia presnosť, ktorú prinesú systémy AI, spojená s efektivitou získanou rozšírením ľudského vstupu, bude mať pre mnohé organizácie v nadchádzajúcich rokoch taký veľký finančný stimul, že sa nedá ignorovať; systémy AI sa stanú všadeprítomnými.

Kedy si vybrať umelú inteligenciu a kedy si vybrať prístup klasického algoritmického programovania na riešenie problémov

Hoci neexistujú žiadne pevné a rýchle pravidlá pre to, kedy použiť ktorý prístup, ako všeobecné pravidlo platí, že problémy vyžadujúce približné riešenia a zahŕňajúce cielené dlhodobé plánovanie, zložité rozpoznávanie vzorov a spracovanie množstva premenných sú vhodnejšie pre AI. Klasické algoritmické prístupy sú vhodnejšie pre presné alebo takmer optimálne riešenia, ktoré zahŕňajú náročnú logiku a výpočty.

Výber správneho prístupu môže vašej organizácii priniesť významné výhody, zatiaľ čo výber menej optimálnej metódy môže viesť k značným kapitálovým stratám, pretože technologické projekty sú nákladné. Často môže použitie overených a demonštrovateľných systémov, ako je Telemus AI™, organizáciám pomôcť zabezpečiť úspech ich digitálnej transformácie prostredníctvom umelej inteligencie.

Kontaktujte nás ešte dnes pre bezplatnú konzultáciu o tom, ako možno Telemus AI™ integrovať do vašej organizácie.