Ali se lahko stroji naučijo več kot ljudje?
Strojno učenje (ang. machine learning), ki velja za podskupino umetne inteligence, ni nov koncept. Sam izraz je nastal v petdesetih letih prejšnjega stoletja, skoval pa ga je Arthur Samuel iz podjetja IBM, na podlagi svojih raziskav računalniške igre dama (miselna igra na šahovnici, kjer igralca diagonalno premikata figure oziroma ploščke). V igri med računalnikom in ameriškim mojstrom dame je zmagal računalnik, kar je bilo osupljivo in rezultat je odprl neomejen svet možnosti.
Morda vas bo zanimalo tudi:
Danes je strojno učenje seveda že krepko preseglo okvire preprostih računalniških iger in z njim živimo že kar nekaj časa, vede ali nevede. Uporablja se denimo na področjih finančnih storitev, državne uprave, zdravstva, maloprodaje, prometa in energetskih industrij; skratka v večini panog, ki se ukvarjajo z velikimi količinami podatkov. V nadaljevanju si bomo malce bolj poglobljeno pogledali, kaj je strojno učenje, kako deluje in kje vse ga že uporabljamo. Poglejmo si torej, kako učeni so že stroji.
Kaj je strojno učenje?
Strojno učenje je študija računalniških algoritmov, ki se lahko samodejno izboljšujejo z izkušnjami in uporabo podatkov. Algoritmi strojnega učenja gradijo model na podlagi vzorčnih podatkov, znanih kot učni podatki, da bi lahko napovedovali ali sprejemali odločitve, ne da bi bili za to izrecno programirani.
Angleški matematik, računalnikar in kriptolog Alan Turing je v svojem temeljnem članku leta 1950 uvedel referenčni standard za dokazovanje strojne inteligence, po katerem mora biti stroj inteligenten in odziven na način, ki ga ni mogoče razlikovati od človeškega. Zapisal je: »Strojno učenje je uporaba umetne inteligence, pri kateri se računalnik ali stroj uči na podlagi preteklih izkušenj, vhodnih podatkov, in napoveduje prihodnost. Uspešnost takega sistema mora biti vsaj na ravni človeka.«
Bolj tehnično opredelitev je leta 1997 podal ameriški računalnikar in profesor Tom M. Mitchell: »Za računalniški program velja, da se uči iz izkušenj E glede na nek razred nalog T in merilo uspešnosti P, če se njegova uspešnost pri nalogah v T, merjena s P, z izkušnjami E izboljšuje.«
Primer: problem učenja prepoznavanja rokopisa:
- Naloga T: prepoznavanje in razvrščanje rokopisa na slikah.
- Merilo uspešnosti P: odstotek pravilno razvrščenih besed, natančnost.
- Izkušnja E: nabor podatkov o rokopisnih besedah z danimi razvrstitvami.
Za izvedbo naloge T se sistem uči iz nabora podatkov. Nabor podatkov je zbirka številnih primerov. Primer je zbirka značilnosti.
Kako deluje?
Ameriški multinacionalni razvijalec programske opreme za analitiko Inštitut SAS na svoji spletni strani navaja, da je strojno učenje na splošno razdeljeno na štiri vrste: nadzorovano učenje (ang. supervised learning), nenadzorovano učenje (ang. unsupervised learning), delno nadzorovano učenje (semisupervised learning) in učenje z okrepitvijo oziroma okrepljeno učenje (ang. reinforcement learning).
Nadzorovano učenje: algoritmi se učijo z označenimi primeri, kot je vhod (ang. input), pri katerem je znan želeni izhod (ang. output). Algoritem za učenje prejme niz vhodov skupaj z ustreznimi pravilnimi izhodi, algoritem pa se uči tako, da primerja svoj dejanski izhod s pravilnimi izhodi in tako najde napake. Nato ustrezno spremeni model z različnimi metodami.
Nadzorovano učenje se pogosto uporablja v aplikacijah, kjer pretekli podatki napovedujejo verjetne prihodnje dogodke. Tako lahko algoritem denimo predvidi, kdaj bodo transakcije s kreditnimi karticami verjetno goljufive ali katera stranka zavarovalnice bo verjetno vložila zahtevek, uporablja se tudi pri razvrščanju besedil.
Nenadzorovano učenje: se uporablja za podatke, ki nimajo preteklih oznak. Sistem ne dobi ‘pravilnega odgovora’. Algoritem mora ugotoviti, kaj je prikazano. Cilj je raziskati podatke in v njih najti neko strukturo.
Nenadzorovano učenje se dobro obnese pri transakcijskih podatkih. Z njim lahko denimo določijo segmente strank s podobnimi lastnostmi, ki jih lahko nato v trženjskih kampanjah obravnavajo podobno. Ti algoritmi se uporabljajo tudi za priporočanje izdelkov in prepoznavanje odstopanj v podatkih.
Delno nadzorovano učenje: to je vrsta strojnega učenja, ki za usposabljanje modela uporablja določeno količino označenih podatkov in veliko količino neoznačenih podatkov. Cilj tega je razvrstiti nekatere neoznačene podatke s pomočjo označenih podatkov.
Okrepljeno učenje: se pogosto uporablja v robotiki, igrah in navigaciji. Pri učenju z okrepitvijo algoritem s poskusi in napakami ugotovi, katera dejanja prinašajo največje nagrade. Ta vrsta učenja ima tri osnovne komponente: agenta (učenec ali odločevalec), okolje (vse, s čimer je agent v interakciji) in dejanja (kaj lahko agent naredi). Cilj je, da agent izbere dejanja, ki v danem času maksimizirajo pričakovano nagrado.
Pri strojnem učenju uporabljamo strukturirane in nestrukturirane podatke. Strukturirana vrsta podatkov je vnaprej določena, označena in dobro oblikovana, preden je shranjena v podatkovno shrambo. Nestrukturirana vrsta podatkov je v izvorni obliki in se ne obdeluje, dokler se ne uporabi.
Abhay Parashar, računalnikar in razvijalec programske opreme, na spletnem portalu KD Nuggets pojasni, kako okvirno poteka razvoj in izdelava modela strojnega učenja:
- Zbiranje podatkov: To je prva faza vsakega modela strojnega učenja. V tej fazi se odločimo za ustrezne podatke, nato pa jih zberemo z uporabo nekega algoritma ali ročno.
- Obdelava podatkov: V tej fazi se podatki, ki smo jih zbrali v prvi fazi, predhodno obdelajo tako, da se obdelajo vse ničelne vrednosti, kategorični podatki itd. Prav tako se v isti fazi značilnosti podatkov ‘postavijo na isti nivo’, če še niso.
- Oblikovanje modela: V tej fazi najprej izberemo ustrezne algoritme za izdelavo modela, nato pa s pomočjo določenega programa zgradimo model.
- Vrednotenje modela: Ko je model ustvarjen, ga ovrednotimo z nekaterimi tehnikami statistike, kot so ocena točnosti, ocena Z, matrika točnosti in druge.
- Shranjevanje in preskušanje modela: Po uspešnem ovrednotenju modela se ta shrani za prihodnjo uporabo, z njim pa se opravi testiranje v realnem času.
Primeri uporabe strojnega učenja v vsakdanjem življenju
Banke in druge finančne ustanove uporabljajo strojno učenje predvsem na dveh področjih: za prepoznavanje pomembnih vpogledov v podatkih in preprečevanje goljufij. Vpogledi lahko prepoznajo naložbene priložnosti ali pomagajo vlagateljem ugotoviti, kdaj naj trgujejo. S podatkovnim rudarjenjem lahko tudi prepoznajo stranke z visoko tveganimi profili ali pa s kibernetskim nadzorom odkrijejo opozorilne znake goljufije.
Državne agencije, denimo javne varnostne službe in komunalne službe, imajo posebno potrebo po strojnem učenju, saj imajo več virov podatkov, iz katerih je mogoče pridobiti vpoglede, navaja Inštitut SAS. Z analizo podatkov se lahko ugotovijo načini za povečanje učinkovitosti in prihranek denarja. Strojno učenje lahko pomaga tudi pri odkrivanju goljufij in zmanjševanju kraje identitete.
Zdravstvenim strokovnjakom lahko denimo pomaga pri analizi podatkov, da prepoznajo trende ali opozorilne znake, ki lahko vodijo k izboljšanju diagnoz in zdravljenja. Trgovci v maloprodaji se na strojno učenje zanašajo pri zajemanju podatkov, njihovi analizi in uporabi za personalizacijo nakupovalne izkušnje, izvajanje trženjske kampanje, optimizacijo cen, načrtovanje trgovskega blaga in vpogled v stranke. To je torej delni krivec, da se nam povsod po spletu prikazujejo nadležni oglasi.
V energetskih industrijah se uporablja za analiziranje mineralov v zemlji, napovedovanje okvar senzorjev v rafinerijah, racionalizacijo distribucije nafte, da bi bila bolj učinkovita in stroškovno uspešna itn. Vidiki analize podatkov in modeliranja strojnega učenja so pomembna orodja tudi za dostavna podjetja, javni prevoz in druge prevozne organizacije.
Tehnologija strojnega učenja nam lahko torej veliko ponudi, kar dokazujejo njene številne aplikacije. Tega se zaveda tudi Evropska unija, saj je strojno učenje, ob bok umetne inteligence, uvrstila v svojo digitalno strategijo. Omenjene tehnologije se sicer tesno prepletata, skupaj z drugimi, o katerih smo že pisali. Ob vsem tem pa smo pozabili omeniti, da ni nobene skrbi po tem, da bi se stroji zarotili proti ljudem; človek je namreč tisti, ki ustvari model in mu določi okvir delovanja.
Izjava o avtorstvu in omejitvi odgovornost: Ta prispevek je del skupnega projekta Wilfried Martens Centra za evropske študije (WMSCES) in Inštituta dr. Antona Korošca (INAK). Projekt sofinancira Evropski parlament.Informacije in stališča v tem članku so avtorjevi in ne odražajo nujno uradnega mnenja institucij Evropske unije/Wilfried Martens Centre for European Studies/Inštituta dr. Antona Korošca. Zgoraj omenjene organizacije ne prevzemajo odgovornosti za informacije in stališča, izražena v tem članku, ali kakršnokoli naknadno uporabo informacij, ki jih vsebuje.
Prispevek v angleškem jeziku je dostopen na spletni strani Inštituta dr. Antona Korošca.