UI vodnik za začetnike

Kaj je umetna inteligenca (in kaj ni)?

Umetna inteligenca (UI) je danes ena najpogosteje omenjenih tehnologij, vendar hkrati tudi ena najbolj nejasno razumljenih. V javnih razpravah se izraz uporablja zelo široko: za nekatere UI pomeni napredna umetna bitja, ki lahko presežejo človeka, za druge pa skoraj vsako računalniško obdelavo podatkov. Prav zato je prvi korak pri spoznavanju UI razjasnitev, kaj UI dejansko je, kje jo srečujemo in kaj od nje lahko in česa ne  pričakujemo.

V praksi se UI ne pojavlja kot ena sama tehnologija, temveč kot skupek različnih metod, ki se uporabljajo na zelo različnih področjih. Skupno jim je to, da omogočajo sistemom delovanje v kompleksnih okoljih ter prilagajanje na podlagi podatkov.

V nadaljevanju si bomo pomagali s tremi primeri uporabe UI, ki ponazarjajo različne vidike njenega delovanja. 

1. Eden najzahtevnejših primerov uporabe UI so avtonomna vozila. Samovozeči avtomobili morajo hkrati reševati več zelo različnih nalog: prepoznati okolico, zaznati druge udeležence v prometu, načrtovati pot in se v realnem času odločati v nepredvidljivih situacijah. Za to uporabljajo kombinacijo računalniškega vida, algoritmov za načrtovanje in metod odločanja v negotovih razmerah. Takšni sistemi ne delujejo zato, ker bi “razumeli promet”, temveč zato, ker znajo na podlagi podatkov in vzorcev izbrati najbolj verjetno ustrezno dejanje. Podobna logika velja tudi za dostavne robote, drone ali avtonomne ladje. Pri teh sistemih UI postopoma prevzema izvajanje nalog, človek pa ostaja v nadzorni vlogi.

2. Druga, veliko bolj vsakdanja oblika UI so sistemi za priporočanje vsebin. Večina informacij, ki jih danes vidimo na spletu, ni naključna. Objave na družbenih omrežjih, priporočila za filme ali glasbo, spletni oglasi in celo vrstni red novic na spletnih portalih so prilagojeni posameznemu uporabniku. UI sistemi pri tem analizirajo preteklo vedenje, primerjajo uporabnike med seboj in napovedujejo, katere vsebine bodo za nekoga najbolj zanimive. Čeprav se ti sistemi zdijo manj “dramatični” kot samovozeči avtomobili, imajo velik družbeni vpliv. Oblikujejo informacijsko okolje posameznika, vplivajo na mnenja, pozornost in odločitve ter lahko vodijo v pojav informacijskih mehurčkov in enostranskega pogleda na svet.

3. Tretje pomembno področje uporabe UI je obdelava in ustvarjanje vizualnih vsebin. Tehnologije za prepoznavanje obrazov, objektov in prizorov se že uporabljajo pri organizaciji fotografij, v varnostnih sistemih in pri nadzoru prometa. Hkrati pa UI omogoča tudi ustvarjanje novih slik in videov ali spreminjanje obstoječih. Fotografije je mogoče slogovno preoblikovati, filmski liki pa lahko z uporabo UI posnemajo gibe in mimiko resničnih igralcev. Razlika med resničnim in umetno ustvarjenim vizualnim gradivom tako postaja vse težje razpoznavna, kar odpira vprašanja zaupanja in verodostojnosti.

Čeprav se ti primeri med seboj zelo razlikujejo, imajo skupno lastnost: ne gre za splošno inteligenco, temveč za ozko specializirane sisteme. UI, ki zna voziti avto, ne zna priporočati glasbe. UI, ki razvršča novice, ne zna prepoznati obrazov. Uspešnost na enem področju nam ne pove ničesar o sposobnostih na drugem.

Prav tu se pogosto pojavi zmeda glede tega, kaj UI sploh je. Eden od razlogov je, da za UI ne obstaja enotna, splošno sprejeta definicija. Področje se nenehno spreminja: metode, ki so bile nekoč obravnavane kot vrhunec UI, danes veljajo za običajen del računalništva ali statistike. Poleg tega na razumevanje UI močno vplivajo podobe iz znanstvene fantastike, kjer so umetni sistemi pogosto prikazani kot človeško podobna bitja z zavestjo, čustvi in lastnimi cilji. Takšne predstave so privlačne, vendar ne odražajo realnega delovanja današnjih sistemov.

Zmedo povečuje tudi dejstvo, da so nekatere naloge, ki se zdijo ljudem zelo zahtevne, za računalnike razmeroma enostavne, in obratno. Igranje šaha ali reševanje računskih nalog je za računalnike pogosto lažje kot za ljudi, medtem ko so preprosta telesna opravila, kot je prijemanje predmetov, za stroje izjemno zahtevna. To kaže, da človeška intuicija o “inteligentnosti” ne ustreza vedno tehnični realnosti.

Namesto iskanja ene same definicije je zato bolj smiselno UI razumeti skozi njene značilnosti. Dve najpomembnejši sta avtonomnost, to je zmožnost delovanja brez stalnega človeškega vodenja, in prilagodljivost, to je zmožnost izboljševanja delovanja na podlagi izkušenj oziroma podatkov. Vendar je treba pri tem paziti na besede. Izrazi, kot so učenje, razumevanje ali inteligenca, lahko zavajajo, saj  saj UI:

  • ne razume sveta kot človek,
  • ne more opravljati nalog zunaj ozkega področja, za katerega je bila zasnovana.

Na koncu je pomembno poudariti še eno stvar: UI ni ena sama stvar in ni posamezen objekt. Gre za znanstveno in tehnološko področje, ki združuje različne pristope in metode. Meja med tem, kaj je UI in kaj ne, ni ostra. Pogosto je primerneje govoriti o tem, v kolikšni meri neka tehnologija uporablja elemente UI, kot pa jo strogo razvrščati v kategorijo “UI” ali “ni UI”.

Ko govorimo o umetni inteligenci, pogosto naletimo tudi na druge izraze, kot so strojno učenje, globoko učenje, podatkovna znanost in robotika. Ti pojmi so tesno povezani z UI, vendar ne pomenijo iste stvari. Za osnovno razumevanje UI je koristno, da jih poznamo vsaj na konceptualni ravni.

UI lahko razumemo kot širše področje znotraj računalništva, znotraj katerega obstajajo bolj specializirana podpodročja. Ena najpomembnejših med njimi je strojno učenje.

Strojno učenje

Strojno učenje je del UI, ki omogoča, da se sistemi izboljšujejo z izkušnjami oziroma podatki, brez da bi bili za vsako pravilo posebej programirani. Namesto vnaprej zapisanih navodil sistem postopoma prepoznava vzorce v podatkih in na tej podlagi izboljšuje svoje delovanje.

Preprosto povedano:
strojno učenje pomeni, da sistem z več podatki običajno postaja boljši pri nalogi, za katero je bil zasnovan.

Pomembno je poudariti, da meje med strojnim učenjem, statistiko in drugimi matematičnimi pristopi niso vedno ostre. Nekatere metode, ki jih danes uvrščamo v strojno učenje, bi lahko prav tako sodile v statistiko. Kljub temu je strojno učenje danes osrednji mehanizem, ki omogoča prilagodljivost sodobnih sistemov UI.

Globoko učenje

Globoko učenje ali “deep learning” je podpodročje strojnega učenja in s tem posredno tudi UI. Izraz »globoko« se nanaša na zapletenost matematičnih modelov, ki imajo več zaporednih plasti obdelave podatkov. Razvoj zmogljivejše računalniške opreme je omogočil uporabo zelo velikih in kompleksnih modelov, ki lahko obdelujejo ogromne količine podatkov.

Ti modeli niso le “večji”, temveč pogosto delujejo na način, ki daje vtis kvalitativnega preskoka v zmogljivostih, na primer pri prepoznavanju slik, govora ali ustvarjanju besedil. Pomembno pa je razumeti, da gre še vedno za specializirane metode znotraj ozko določenih nalog.

Razdeljevanje področij na vedno bolj specializirane poddiscipline je v znanosti običajno. Omogoča raziskovalcem, da se poglobijo v posamezne probleme, sledijo naraščajočemu znanju in hkrati popravljajo ali izboljšujejo pretekla spoznanja.

Podatkovna znanost

Podatkovna znanost je razmeroma nov, širši izraz, ki združuje več področij:

  • strojno učenje,
  • statistiko,
  • algoritme,
  • shranjevanje in obdelavo podatkov,
  • razvoj spletnih in podatkovnih aplikacij.

Za razliko od nekaterih bolj teoretičnih področij je podatkovna znanost izrazito praktična disciplina. Poleg tehničnega znanja zahteva tudi razumevanje področja, kjer se uporablja, na primer v gospodarstvu, znanosti ali javnem sektorju. To vključuje razumevanje ciljev, omejitev in pomena rezultatov.

Rešitve v podatkovni znanosti pogosto vključujejo le delček UI – običajno manj, kot bi pričakovali glede na medijske naslove. UI je tukaj orodje za dodano vrednost, ne pa cilj sama po sebi.

Robotika

Robotika se ukvarja z načrtovanjem in programiranjem robotov, ki delujejo v resničnem, pogosto nepredvidljivem okolju. V tem smislu predstavlja robotika enega največjih izzivov za UI, saj zahteva povezovanje skoraj vseh področij UI.

Robot mora:

  • zaznavati okolje (npr. s pomočjo računalniškega vida in prepoznave govora),
  • obdelovati informacije in navodila,
  • napovedovati posledice svojih dejanj,
  • sodelovati z ljudmi na varen in smiseln način.

Zaradi te kompleksnosti se pri robotiki pogosto uporabljajo metode strojnega učenja, kar dodatno poudarja njegov osrednji pomen v sodobni UI.

Kaj je robot – in kaj ni?

Robot je stroj, ki ima:

  • senzorje za zaznavanje okolja,
  • aktuatorje za delovanje v okolju,
  • in je programiran za izvajanje zaporedja dejanj.

V nasprotju s predstavami iz znanstvene fantastike večina resničnih robotov ni humanoidnih. Oblikovani so glede na nalogo, ki jo opravljajo. Tako kot za pomivanje posode ne uporabljamo človeškega robota, temveč pomivalni stroj, tudi industrijski in servisni roboti nimajo človeške oblike, kadar ta ne prinaša prednosti.

Med robote sodijo tudi vozila z določeno stopnjo avtonomije, če imajo senzorje in aktuatorje. Nasprotno pa programske rešitve, kot so klepetalni roboti za podporo uporabnikom, kljub pogostemu poimenovanju »programski roboti«, ne sodijo v robotiko, saj nimajo fizičnega delovanja v svetu.

Ta razmejitev pomaga razumeti, da UI ni ena sama tehnologija, temveč preplet različnih področij, od povsem programske obdelave podatkov do fizičnega delovanja strojev v resničnem okolju.

Veliko problemov lahko opišemo kot iskanje poti od trenutnega stanja do želenega cilja. Tako ljudje kot umetna inteligenca pri tem izbiramo med možnostmi in poskušamo predvideti njihove posledice. Razlika je v tem, da ljudje pogosto uporabimo intuicijo, UI pa deluje sistematično.

Predstavljaj si, da si v tujem mestu in želiš priti iz hotela do restavracije. Navigacijska aplikacija ne pozna tvojih namenov ali okusa, temveč pregleda možne poti, upošteva omejitve (npr. zapore cest) in izbere tisto, ki najverjetneje vodi do cilja. Ne “razume” mesta, temveč išče zaporedje korakov, ki ustreza postavljenemu cilju.

Podoben način razmišljanja lahko ponazorimo s preprosto uganko. Robot mora s čolnom prepeljati čez reko lisico, kokoš in vrečo krme. Če pusti lisico s kokošjo brez nadzora, bo lisica pojedla kokoš. Če pusti kokoš s krmo, bo kokoš pojedla krmo. Robot lahko prevaža le omejeno količino tovora in mora biti vedno prisoten, da prepreči škodo. Cilj je prepeljati vse varno na drugo stran reke.

…..vizualna ponazoritev reševanja problema……

Na prvi pogled se zdi naloga zapletena. Vendar postane bistveno bolj obvladljiva, ko jo razdelimo na jasne korake: kaj je trenutno na kateri strani reke, katere poteze so dovoljene in katere ne, ter kdaj lahko rečemo, da je naloga uspešno zaključena. Ko so te omejitve jasno določene, se rešitev pokaže kot zaporedje premišljenih korakov, ne kot ugibanje.

Prav to počne UI pri reševanju problemov. Ne razume lisice, kokoši ali nevarnosti v človeškem smislu. Sledi pravilom in preverja, katera zaporedja dejanj vodijo do cilja brez kršitve omejitev. Ko je problem pravilno opisan, iskanje rešitve postane tehnično opravilo, ki ga računalnik opravi zelo učinkovito.

Enak pristop se uporablja pri bolj zapletenih nalogah, kot so navigacija, načrtovanje poti ali igranje iger. UI primerja različne možnosti in njihove posledice ter išče takšno zaporedje odločitev, ki vodi do cilja glede na izbrane kriterije, na primer varnost, čas ali učinkovitost.

Ključno sporočilo tega poglavja je preprosto: UI ni “pametna” v človeškem smislu, je pa zelo dobra v sistematičnem iskanju rešitev, kadar so cilji in omejitve jasno določeni. Zato je pri delu z UI pogosto najpomembnejši korak prav to, da problem znamo pravilno in jasno opisati.

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tellus, luctus nec ullamcorper mattis, pulvinar dapibus leo.

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tellus, luctus nec ullamcorper mattis, pulvinar dapibus leo.