Tekoäly vs. klassinen algoritminen ohjelmointi

Kohti Tekoälyä Klassisesta Algoritmisesta Ohjelmoinnista

Anthony Quattrone, PhD 30. huhtikuuta 2022

Tekoälyn edistysaskeleet ovat mahdollistaneet monimutkaisten laskennallisten ongelmien tehokkaan ratkaisemisen, jotka ovat aiemmin olleet vaikeita, vaikeasti ratkaistavia tai raskaasti kombinatorisia. Näihin ongelmiin kuuluvat kasvojentunnistus, esineiden tunnistus, reitinsuunnittelu ja erittäin personoidut verkko-suositusjärjestelmät.

Organisaatioiden haasteena tulevaisuudessa on, että strategisten päätöksentekijöiden on valittava perinteisten klassisten lähestymistapojen ja tekoälylähestymistapojen välillä monimutkaisten laskennallisten ongelmien ratkaisemiseksi. Molemmissa menetelmissä on omat ainutlaatuiset haasteensa kestävän järjestelmän toimittamisessa tarkkuuden, kustannusten, toteutusvaikeuden ja ylläpidettävyyden ulottuvuuksissa.

Klassinen algoritminen ohjelmointilähestymistapa ongelmanratkaisuun

Klassinen ohjelmointiparadigma edellyttää ongelmien ratkaisemista ohjeistavien algoritmien ja hyvin määritellyn ohjeiden sarjan avulla. Syötteet määritellään ja rajoitetaan, ja kehitetään algoritmeja syötteiden käsittelemiseksi määriteltyjen ohjelmointiparadigmojen (proseduraalinen, olio-ohjelmointi, funktionaalinen ja looginen) avulla tulosteiden tuottamiseksi.

Algoritmien löytäminen ajallisesti ja tilallisesti tehokkaiden ongelmien ratkaisemiseksi on tunnetusti haastavaa. Laskennallisen monimutkaisuusteorian mukaan ongelmat ovat joko P (polynominen), NP (epädeterministinen polynominen), NP-täydellinen tai NP-vaikea. Polynomiset ongelmat voidaan ratkaista ja todentaa nopeasti, kun taas ei-polynomisia ongelmia ei voida. NP-ongelmia on vaikea ratkaista klassisilla algoritmisilla lähestymistavoilla.

Esimerkki P-ongelmasta on lyhimmän reitin löytäminen kahden pisteen välillä, kun taas esimerkki NP-ongelmasta on kauppamatkaajan ongelma, jossa kun annetaan sarja sijainteja, mikä on optimaalinen reitti kaikkien paikkojen kiertämiseksi kuljettaessa lyhin mahdollinen matka. Sattuu olemaan, että monet tällä hetkellä laskennallisesti ratkaistavista ongelmista kuuluvat NP-kategoriaan. Useimmissa tapauksissa käytännön tarkoituksia varten likimääräinen ratkaisu on usein riittävä. Lähestyessään arkipäivää ihmiset keksivät aina likimääräisiä ratkaisuja, esim. navigointi.

Klassisen algoritmisparadigman puitteissa ongelmien ratkaisussa on tehokkuuteen liittyviä toteutushaasteita. Algoritminen monimutkaisuus on tietojenkäsittelytieteen osa-alue, joka käsittelee algoritmien tehokkuutta ajallisessa (aikamonimutkaisuus) ja spatiaalisessa toimialueessa (tilamonimutkaisuus).

Vaikka algoritmeja voidaan toteuttaa monilla eri tavoilla, ilmeistä mutta mahdollisesti tehotonta tapaa toteuttaa algoritmi kutsutaan usein ”naiiviksi” algoritmiksi. Useimmat tehokkaat algoritmit eivät ole helppoja löytää, ja tietojenkäsittelytieteilijät ovat työskennelleet monia vuosia löytääkseen parhaat algoritmit ongelmaluokkien ratkaisemiseksi. Tuotantojärjestelmien algoritmit toteutetaan ajallisesti ja tilallisesti tehokkailla tavoilla. Suurimmat ohjelmistoyritykset varmistavat korkeimmat algoritmiset standardit vertaisohjelmoinnin avulla, samoin kuin vertaisarvioinnin. Algoritmien tehokas toteuttaminen vaatii monien vuosien koulutusta ja korkeaa taitotasoa.

Käytännössä, vaikka ohjelmointitekniikat ovat kehittyneet ja ohjelmointikielten (esim. C, C++, Java, JavaScript, PHP, Python) suosio on vaihdellut, perusteet ovat pysyneet samoina siitä lähtien, kun Bell Labs kirjoitti ensimmäiset C-moduulit 1970-luvulla. On olemassa joitakin käytännön tapoja saada teoreettisesti haastavat ongelmat toimimaan tuotannossa, kuten hajautettujen järjestelmien käyttö. Edistyneet lähestymistavat tulevat korkeammalla hinnalla ja ylittävät kaikkien muiden paitsi teknologisesti edistyneimpien organisaatioiden kyvyt.

Klassisten algoritmisten ohjelmointimenetelmien monimutkaisuuden vuoksi organisaatiot ovat pitkään pitäneet vaikeana rakentaa tehokkaita tiimejä tuottamaan tällaisia järjestelmiä sisäisesti. Lisäksi monet ovat kamppailleet löytääkseen ulkoisia palveluntarjoajia ratkaisemaan niche-haasteita, jotka ovat teoreettisesti mahdollisia toteuttaa. Tietyn algoritmin suunnittelu muuttuu merkittävästi monimutkaisemmaksi ongelman monimutkaisuuden kasvaessa. Tämä pätee erityisesti monimuuttujaisiin ongelmiin. Klassisia algoritmisia lähestymistapoja on parasta käyttää tilanteissa, joissa algoritmi voi ratkaista ongelman nopeasti ja toimii useimmissa tapauksissa.

Tekoälylähestymistapa ongelmanratkaisuun

Tekoälyparadigma pyrki ratkaisemaan ongelmia yleisesti syöttämällä syötteitä ja toivottuja tulosteita järjestelmään ja antamalla järjestelmän oppia ratkaisemaan ongelmia. Nykyiset tekoälymenetelmät toimivat klassisissa tietokoneissa klassisten ohjelmointitekniikoiden avulla. Innostavimmat tekoälymenetelmät ovat neuroverkot ja vahvistusoppiminen.

Tekoälyneuroverkot hyödyntävät ihmisen ymmärrystä siitä, miten ihmisen mieli oppii ja yleistää ongelmia. Vahvistusoppiminen käyttää agentteja, joihin syötetään tavoitetila ja sarja skenaarioita. Oppimisalgoritmi säilyttää suotuisat tulokset ja hylkää epäsuotuisat tulokset useiden iteraatioiden ajan. Vahvistusoppiminen on analoginen operantin ehdollistumisen kanssa. Agentti oppii, miten saavuttaa tavoite useiden koulutusiteraatioiden aikana.

Tekoälyratkaisujen koulutuksen edellytyksenä on joko hyvin määritelty laaja tietojoukko, joka yleensä koostetaan käyttämällä yhdistelmää erilaisia tietovarastoja tai joukkoistamista, tai järjestelmä voi oppia saavuttamaan tavoitetilan suorittamalla sarjan iteraatioita. Esimerkkinä tästä on järjestelmä, joka pelaa itseään vastaan peliä, kuten shakkia tai Go:ta, oppiakseen lisää kehittämään strategioita tulosten parantamiseksi. Tekoälyverkkoja ja vahvistusoppimista ajetaan skenaarioissa, joita ei ole koulutettu, ja arvioidaan samalla tavalla kuin muita koneoppimismenetelmiä. Nämä menetelmät yleistävät hyvin ja tarjoavat tehokkaita ratkaisuja tietylle ongelmaluokalle. Tekoälyyn perustuvat ratkaisut sopivat ongelmiin, joita ei voida helposti määritellä ohjeiden sarjalla; sen sijaan ne vaativat enemmän "intuitiota" ja arvoarvioita.

Tyypillisesti tekoälyjärjestelmiä koulutetaan tietojoukoilla ja arvioidaan myöhemmin arviointijoukolla. Mitä enemmän korkealaatuista koulutusdataa syötetään AI-järjestelmään, sitä suurempi on järjestelmän todennäköisyys suoriutua korkealla tasolla. AI-menetelmien etuna on, että ne voivat jatkaa parantumista ajan myötä, kun järjestelmä oppii lisää. Näin monimutkaiset ongelmat voidaan yleistää ja ratkaista tietokonejärjestelmillä. Näihin kuuluvat ongelmat, jotka on perinteisesti ratkaistu ihmisen panoksella, vaikka kapea AI voidaan nähdä täydentävänä olemassa olevalle ihmisen panokselle parempien tulosten varmistamiseksi.

Organisaatiot ovat pitkään suhtautuneet varauksella tekoälyyn ja koneoppimiseen, koska tällaisista järjestelmistä puuttuu jäljitettävyys ja determinoitavuus siinä, miten ne reagoivat käyttötapauksiin. Näin ollen AI voi toimia harvinaisissa olosuhteissa ja reagoida arvaamattomasti silloin, kun sitä odotetaan vähiten. Siksi on tärkeää, että tekoälyn käytölle on selkeästi määritellyt käyttötapaukset, mitä virhetasoita hyväksytään ja miten AI-järjestelmistä tuotettuja tuloksia tarkistavat ihmiset tarkkuuden varmistamiseksi.

Yleisesti ottaen ennustamme, että AI-järjestelmien tuoma parantunut tarkkuus yhdessä ihmisen panosta täydentämällä saavutettujen tehokkuushyötyjen kanssa muodostaa liian suuren taloudellisen kannustimen monille organisaatioille, jotta ne voivat sivuuttaa sen tulevina vuosina – AI-järjestelmistä tulee kaikkialla läsnäolevia.

Milloin valita tekoäly ja milloin valita klassinen algoritminen ohjelmointimenetelmä ongelmien ratkaisemiseksi

Vaikka ei ole tiukkoja ja nopeita sääntöjä siitä, milloin kumpaakin lähestymistapaa tulisi käyttää, yleisenä sääntönä voidaan todeta, että tekoälyyn soveltuvat paremmin ongelmat, jotka vaativat likimääräisiä ratkaisuja ja joihin liittyy tavoitteellista pitkän aikavälin suunnittelua, monimutkaista hahmontunnistusta sekä useiden muuttujien käsittelyä. Klassiset algoritmiset lähestymistavat soveltuvat paremmin tarkkoihin tai lähes optimaalisiin ratkaisuihin, joihin liittyy raskasta logiikkaa ja laskentaa.

Oikean lähestymistavan valinta voi tuottaa merkittäviä hyötyjä organisaatiollesi, kun taas vähemmän optimaalisen menetelmän valinta voi johtaa huomattaviin pääomatappioihin, sillä teknologiaprojektit ovat kalliita. Usein todistettujen ja demonstroitavien järjestelmien, kuten Telemus AI™:n, valinta voi auttaa organisaatioita varmistamaan onnistumisen tekoälyn digitaalisessa transformaatiossa.

Ota meihin yhteyttä jo tänään saadaksesi ilmaisen konsultaation siitä, miten Telemus AI™ voidaan integroida organisaatioosi.