Kje se navadni program konča in umetna inteligenca začne?

Umetna inteligenca je tema, ki se v zadnjih letih vedno pogosteje pojavlja v medijih, kjer vsi svarijo pred apokaliptičnim koncem sveta v katerem nas lastne iznajdbe obsodijo na propad. Spet drugi v njej vidijo odlično poslovno priložnost. Dejstvo pa je, da je umetna inteligenca že dolgo integrirana v naše vsakdanjike, ne da bi se tega zavedali. Ali to torej pomeni, da so morilski stroji že med nami ali pa je zadaj kaj veliko bolj »nedolžnega«? V ciklu člankov bom poskusil čim bolj razložiti osnovne koncepte umetne inteligence, njeno implementacijo, uporabnost, preteklost, prihodnost – skratka vse, kar je nujno da ve vsak, ki ga to področje vsaj malo zanima. Začeli pa bomo na začetku, torej kaj sploh je umetna inteligenca?

Temelji umetne inteligence (Umetna inteligenca I.)

Zelo pogosto vprašanje, ki si ga zastavi marsikdo, je kako se umetna inteligenca (UI) sploh razlikuje od navadnega programa? Na kratko je razlika med navadnim programom in programom, kjer je implementirana umetna inteligenca, ta, da navadni program uporabi vhodne podatke in funkcijo ter tako izračuna rezultat, medtem ko program z implementirano umetno inteligenco vzame vhodne podatke (včasih tudi izhodne), vendar sam poskrbi za potrebno funkcijo, ki jo lahko naredi preko učenja iz podatkov. Torej je umetna inteligenca bolj kot kaj drugega le drugačen pristop k reševanju problemov.

Umetna inteligenca torej deluje tako, da namesto da bi programer napisal neko funkcijo, ki vzame vhodne podatke in izračuna rezultat, raje nastavi določena pravila, katera mora program upoštevati in cilje do katerih mora tudi priti. Pot in način rešitve problema tako nista določena in ju program ugotovi sam preko velike količine podatkov iz katerih išče vzorce in ujemanja.

Klasičen primer enostavne implementacije umetne inteligence je program za igranje križcev in krožcev. Če želimo narediti program, ki bo igral proti nam, ga moramo sprogramirati tako, da bo vedel kaj so cilji igre in to storimo tako, da mu predstavimo prioritete:

  1. Računalnik naj zmaga,
  2. Računalnik naj nasprotniku prepreči zmago
  3. Ipd.
Igralno drevo pri križcih in krožcih
Vir slike

Torej programu ne napišemo poteze za vse možne scenarije oziroma pozicije, ki se pri križcih in krožcih pojavijo, saj bi bilo takšno programiranje izjemno zamudno, zelo dolgočasno in nepredstavljivo monotono. Igra križcev in krožcev ima 765 pomembno različnih pozicij, kar pomeni, da bi morali navadnemu programu napisati rešitev za čisto vsako od teh pozicij in bi potem program samo ustrezno izbral. Ampak vseeno, 765 je še vedno dokaj majhna številka in po nekaj urah pisanja zelo podobne monotone kode bi vseeno uspeli napisati program, ki bi imel vnaprej določene odgovore za čisto vsako našo potezo.

Da bolje ponazorim kako pomembna je implementacija umetne inteligence v takih primerih, bom sedaj to primerjal s šahom. Šah ima 1043 legalnih različnih pozicij. To je res ogromna številka. Če bi v vsaki sekundi napisali kodo za potezo za dano pozicijo (kar je seveda nemogoče), bi še vedno potrebovali okrog 2.3*1025 več časa, kot ga je do tega trenutka preteklo v našem vesolju. Torej kar hitro ugotovimo, da se bo treba lotiti drugačnega pristopa, da bomo šah lahko igrali z računalnikom. Z implementacijo umetne inteligence se tako ni treba ukvarjati z vsemi mogočimi pozicijami ampak samo s tistimi, ki bodo nastale med tekočo igro in jih program nato rešuje sam, torej ne vnaprej določeno. S postopki, ki jih bom razložil v enem od naslednjih člankov, je programerjem uspelo, da so leta 1997 sestavili računalnik Deep Blue, ki je premagal takratnega svetovnega šahovskega prvaka Garry-a Kasparova. To pa je bil šele začetek, saj so danes računalniki še močnejši in praktično vsaka brezplačna mobilna aplikacija lahko premaga kateregakoli šahovskega velemojstra.

Umetno inteligenco so začeli implementirati za igranje še zahtevnejših iger in tako je leta 2016 računalnik AlphaGo premagal vrhunskega profesionalnega igralca Go-ja. Ker je igra Go bolj zahtevna kot šah (ima neverjetnih 2*10170 različnih pozicij), je moral program uporabiti še naprednejše metode, saj so mu tokrat implementirali nevronske mreže in tako imenovano strojno učenje. Program je tako postajal boljši s tem, ko je igral več iger, saj je dobival več izkušenj, prav tako kot človek, le da je pri tem veliko uspešnejši.

Kasparov proti računalniku Deep Blue. Vir slike

Pa nas menda ne bodo pogubili šahovski programi? No na šahovnici že, v realnosti pa seveda ne, saj je to drugačna vrsta umetne inteligence, kot jo propagirajo mediji. Meja umetne inteligence je namreč še vedno zelo zabrisana. Zato so strokovnjaki na tem področju razdelili umetno inteligenco na dva dela:

  1. Šibka umetna inteligenca
  2. Močna umetna inteligenca

Tehnologije, kot so filter za nezaželeno pošto, Applov Siri in šahovski program, spadajo med šibko umetno inteligenco, saj se program le obnaša, kot da ima svoj um. Močna umetna inteligenca je tako v strogem filozofskem smislu tista, ki bi lahko razmišljala, imela svoj um in bi svoje rezultate tudi razumela ter jih postavila v kontekst. Šahovski računalniški program sicer premaga najboljšega šahista na svetu, vendar se tega ne zaveda, ne ve kaj počne. Zanj so poteze samo številke, s katerimi računa in jih množi, predstavljajo mu torej le nekaj abstraktnega. Ne ve zakaj to dela, kdo je on in kaj je smisel vsega. Prav zaradi tega so šibko umetno inteligenco poimenovali tudi omejena umetna inteligenca, ker nima zmožnosti, da bi svoje sposobnosti prenesla na čustveno plat, prav tako pa se ne more sama odločiti, da bo sedaj namesto šaha igrala Človek ne jezi se ali pa začela načrtovati jedrski napad. Lahko bi rekli, da je šibka umetna inteligenca omejena na sfero delovanja, za katero je narejena.

Močna umetna inteligenca pa v nasprotju teži k (samo)izboljšavi, odločanju in zavesti. Torej bi bila prava močna umetna inteligenca zmožna iti izven okvirjev za katero je bila narejena, saj je to sama definicija močne umetne inteligence. Vse ustvarjene umetne inteligence do danes so v najboljšem primeru kategorizirane kot šibke umetne inteligence.

Ugotovili smo torej, kaj je umetna inteligence, kje vse se nahaja v našem svetu in pa kako jo na grobo delimo. Ubijalskih strojev iz popularnih filmov seveda še ni med nami, a vemo, da bi prav bodoči prihod močne umetne inteligence lahko privedel do tega. Vendar ni vse črno-belo, saj se bo tudi bodoča močna inteligenca ravnala po nekih osnovnih pravilih, ki jih bom predstavil v enem od prihodnjih člankov. A zaenkrat smo varni, zato lahko lažje zadihamo. Vseeno se moramo takoj vprašati, kako bi stroj z močno umetno inteligenco sploh zaznali, kako torej vemo, da že sedaj ni med nami? Na to vprašanje in še več pa v naslednjem članku, ki ga lahko preberete s klikom. 

Viri:

Komentarji
Žan Magerl

Žan Magerl

Poleg tega, da je splošno izjemno razgledan, je tudi človek, ki vsaki stvari želi priti do dna, ugotoviti kako kaj deluje, zakaj je takšno kot je in ali bi to lahko izboljšali. To pomeni, da se bo čisto spustil v stvar, ki mu je trenutno padla v oči, in ne bo nehal, dokler ne ugotovi vsega, kar je za ugotoviti o določeni temi.
Verjetno bi ga lahko z eno besedo povzeli kot radovednega.
Žan Magerl

Latest posts by Žan Magerl (see all)

Žan Magerl

Poleg tega, da je splošno izjemno razgledan, je tudi človek, ki vsaki stvari želi priti do dna, ugotoviti kako kaj deluje, zakaj je takšno kot je in ali bi to lahko izboljšali. To pomeni, da se bo čisto spustil v stvar, ki mu je trenutno padla v oči, in ne bo nehal, dokler ne ugotovi vsega, kar je za ugotoviti o določeni temi. Verjetno bi ga lahko z eno besedo povzeli kot radovednega.

2 misli o “Kje se navadni program konča in umetna inteligenca začne?

Komentarji so onemogočeni.