To write well, express yourself like the common people, but think like a wise man. - Aristotle

Ljupčo Todorovski: Osnove statistike, strojnega učenja in velikih jezikovnih modelov (povzetek nastopa)

Ljupčo Todorovski: Osnove statistike, strojnega učenja in velikih jezikovnih modelov (povzetek nastopa)

Avtor: Gal Zmazek, Fakulteta za matematiko in fiziko, UL

Izvleček: Razumevanje podatkov in njihova učinkovita uporaba sta ključna izziva sodobne umetne inteligence. Napovedni modeli temeljijo na prepoznavanju vzorcev in omogočajo analizo ter predikcijo kompleksnih pojavov, pri čemer je izbira pravega modela bistvena za zanesljive rezultate. S povečevanjem količine podatkov in računske moči so nevronske mreže postale osrednje orodje za reševanje nalog, ki jih tradicionalni algoritmi niso zmogli. Posebej pomembne so pri obdelavi jezika, kjer besede pretvorimo v vektorske predstavitve, da lahko modeli zajamejo pomenske odnose med njimi. Sodobne arhitekture, kot so transformerji, so prinesle revolucijo pri generiranju besedil, omogočajo globlje razumevanje konteksta in odpirajo vprašanja o vlogi umetne inteligence v družbi.

Oznake: strojno učenje, perceptron, nevronske mreže, veliki jezikovni modeli, AI, napovedni modeli, gradientni spust, pravo in umetna inteligenca.

Kategorija: prispevek iz konference AI x Pravo.

Uvod

Po besedah Stephena Hawkinga je 21. stoletje stoletje kompleksnosti. V ta termin pa seveda vključujemo tudi eksplozijo podatkov. Z izumi človeštva se količina podatkov, ki jih merimo in zbiramo, eksponentno povečuje. Hkrati s tem pa se povečuje tudi količina znanja, ki ga lahko pridobimo, a ob takšni količini postane interpretacija podatkov za človeka pogosto neoprijemljiva in nerazumljiva. Kompleksnost ne pomeni le več podatkov, ampak tudi bolj zapletene odnose med njimi, ki jih s klasičnimi metodami ne znamo vedno učinkovito zajeti.

Podatke lahko razumemo na tradicionalen način. Podatke analiziramo, zapišemo matematične zakone in te uporabimo za napovedovanje prihodnjih pojavov. Ta pristop je učinkovit pri sistemih z majhnim številom parametrov in jasnimi relacijami, na primer pri osnovnih pojavih v klasični fiziki. Toda, kaj se zgodi, ko se število parametrov poveča, ko odnosi med njimi postanejo nelinearni in ko želimo zajeti dejavnike, ki jih niti ne razumemo v celoti? V takih primerih tradicionalni pristopi odpovedo, saj pravil, ki bi natančno opisovali celoten sistem, ni več mogoče ročno oblikovati. Oglejmo si primer. Zdravnik diagnosticira bolezen na podlagi pacientovih simptomov. Pri enostavnih boleznih, kot je prehlad, je vzorec jasen. Pri kompleksnejših boleznih, kot je rak, pa simptomi niso vedno očitni, in različni dejavniki, kot so genetika, okolje in življenjske navade, vplivajo na razvoj bolezni. Z naraščanjem količine medicinskih podatkov zdravniki ne morejo več ročno analizirati vsakega vzorca. Tukaj nastopi potreba po sistemu, ki se iz ogromnih količin podatkov nauči prepoznavati skrite zakonitosti.

Strojno učenje nam omogoča drugačen pristop. Namesto da zapišemo eksplicitna pravila, model analizira podatke in sam odkrije zakonitosti[1], ki jih lahko uporabi za napovedovanje. To je še posebej koristno pri dinamičnih sistemih, kjer se vzorci sčasoma spreminjajo. Takšen način učenja posnema človeško intuicijo. Ljudje se učimo iz izkušenj, ne da bi vedno razumeli natančne zakonitosti, ki stojijo za njimi. Tudi otrok, ki se uči govoriti, ne bere slovničnih pravil, ampak skozi izpostavljenost jeziku prepoznava vzorce in oblikuje stavke. Podobno delujejo sodobni modeli strojnega učenja.

Vendar se tu pojavi pomembno vprašanje. Ali je razumevanje podatkov nujno za napovedovanje? Ali lahko model, ki opazuje zgolj številčne vzorce, izpelje veljavne zaključke brez globljega konceptualnega razumevanja? Včasih se zdi, da je to mogoče. Na primer, model lahko prepozna govor in ustvari besedilo, ne da bi zares razumel pomen besed, ki jih uporablja. A prav na tem mestu prehajamo v osrčje današnjih naprednih metod umetne inteligence, kjer želimo razviti modele, ki se ne le učijo iz podatkov, ampak tudi oblikujejo kompleksne povezave med njimi.

Prvi koraki strojnega učenja so temeljili na preprostih statističnih metodah, ki so omogočale osnovno analizo podatkov. Danes pa so najzmogljivejši modeli z uporabo nevronskih mrež privedli do razvoja velikih jezikovnih modelov (angl. large language model, LLM), ki se ne le učijo jezika, temveč ga tudi ustvarjajo na način, ki je vse bolj podoben človeškemu.

Zgodovinski pregled

Zamisel o učenju iz podatkov ni nova. Že leta 1854 je zdravnik John Snow dokazal, da se kolera širi preko okužene vode, tako da je analiziral vzorce okužb in identificiral vir bolezni brez poznavanja natančne razlage. Ta pristop je bil zgodnji primer podatkovno usmerjene analize, kjer so vzorci v podatkih omogočili ključni znanstveni preboj. Podobno idejo so kasneje uporabili v zgodnjih računalniških modelih, kjer je analiza podatkov postala ključni element odločanja.

V 20. stoletju so se pojavili prvi formalni modeli strojnega učenja. Alan Turing je že leta 1950 v svojem delu "Computing Machinery and Intelligence" predlagal, da bi lahko računalniki pridobili inteligenco skozi učenje. Pomemben korak v tej smeri je bil t.i. perceptron, ki ga je leta 1958 predstavil Frank Rosenblatt kot model umetnega nevrona. Kljub začetnemu navdušenju so preproste nevronske mreže imele resne omejitve, zaradi česar je razvoj umetne inteligence za nekaj desetletij zastal.

Šele v 80. letih prejšnjega stoletja so z odkritjem metode vzvratnega širjenja napake (angl. backpropagation) nevronske mreže spet postale aktualne. Kasneje je eksponentna rast računalniške moči omogočila razvoj globokih nevronskih mrež, ki so prinesle preboj na področju obdelave slik, govora in jezika. Prav te metode so bile ključne pri razvoju LLM, ki danes oblikujejo velik del sodobne umetne inteligence.

Model strojnega učenja

V uvodu smo spoznali, da strojno učenje za svojo napoved uporablja podatke, vendar še nismo natančno definirali, kaj napovedni model sploh je. Napovedni model je funkcija, ki določa povezavo med vhodnimi podatki in ciljno spremenljivko. Natančneje, za dane vhodne podatke model vrne oceno vrednosti ciljne spremenljivke na podlagi vzorcev, naučenih iz preteklih podatkov.

Na primer, če imamo napovedni model, ki napoveduje ceno stanovanj, so vhodni podatki lahko lokacija, velikost in starost stanovanja, ciljna spremenljivka pa je njegova cena. Model je v tem primeru funkcija, ki preslika vhodne spremenljivke v napovedano ceno. Med vhodnimi spremenljivkami in ciljno spremenljivko običajno obstajajo določene povezave. Najverjetneje bomo ugotovili, da obstaja korelacija med velikostjo stanovanja in njegovo ceno, saj so večja stanovanja običajno dražja.

Ker model napoveduje vrednosti, je smiselno definirati tudi napako pri napovedi. Napaka je razlika med dejansko vrednostjo ciljne spremenljivke in vrednostjo, ki jo napove model[2]. V splošnem je cilj učenja modela minimizirati povprečno napako vseh primerov v podatkih, pri čemer lahko uporabljamo različne metrične funkcije za oceno kakovosti modela.

Kako pa iz podatkov pridobimo model? Oglejmo si enostaven primer. Predpostavimo, da opazujemo le velikost stanovanja in njegovo ceno ter domnevamo, da je povezava med njima linearna[3]. Dodatno predpostavimo, da stanovanje s kvadraturo 0 stane 0 evrov. V tem primeru lahko model nastavimo kot preprosto linearno funkcijo, kjer je cena enaka velikosti stanovanja, pomnoženi s koeficientom, ki ga želimo določiti. Za določitev tega koeficienta uporabimo podatke. Najbolj intuitivna izbira bi bila izračun povprečja razmerij med ceno in kvadraturo za vsa obstoječa stanovanja. Ta postopek določanja vrednosti modelskih parametrov imenujemo treniranje modela. Pri bolj kompleksnih modelih je treniranje veliko zahtevnejše, saj vključuje iskanje optimalnih vrednosti več parametrov hkrati s pomočjo naprednih optimizacijskih algoritmov.

Tako smo zaključili preprosto pot od podatkov do napovedi preko modela napovedi. Imamo torej nek začeten model s prostimi parametri, ki jih s postopkom treniranja modela določimo tako, da ja napaka pri testnih primerih[4] čim manjša. Ko imamo model skupaj z določenimi parametri pa lahko to funkcijo napovedi uporabimo za napoved novih napovedi, ki jih napovedni model še ni videl.

Izbira modela strojnega učenja

Pri izbiri napovednega modela ne upoštevamo zgolj podatkov, temveč tudi predznanje o problemu. V nekaterih primerih vemo, da je odnos med spremenljivkami enostaven in dobro opisan z linearnim modelom. V drugih primerih pa že vnaprej vemo, da ima sistem kompleksnejšo strukturo, kar pomeni, da bi preprosti modeli naredili napake pri napovedovanju.

Predstavljajmo si problem napovedovanja cen stanovanj na podlagi kvadrature. Če bi predpostavili, da je ta povezava linearna, bi model morda podcenjeval ali precenjeval določene segmente podatkov. V mestnih središčih so manjša stanovanja nesorazmerno dražja zaradi povpraševanja, v podeželskih območjih pa se cena z večanjem kvadrature ne dviga enakomerno. Če uporabimo preveč tog model[5] ne bomo zajeli ključnih nelinearnih odnosov v podatkih. Tak model ni dovolj fleksibilen, zato pravimo, da trpi zaradi podprileganja (angl. underfitting). Naučeni vzorec je preveč poenostavljen, kar vodi v visoko pristranskost napovedi. Na drugi strani lahko uporabimo model z visoko kompleksnostjo, ki ima veliko prostostnih stopenj in se lahko natančno prilagodi učnim podatkom. Če izberemo model, ki ima dovolj parametrov, da zajame še tako majhne razlike v podatkih, lahko dosežemo skoraj popolno ujemanje z učnimi podatki. Tak model pa pogosto ne posplošuje dobro na nove podatke, saj zajame tudi naključna nihanja in šum v podatkih, namesto da bi prepoznal splošne vzorce. Ta pojav imenujemo preprileganje (angl. overfitting). Model z veliko prostimi parametri ima nizko pristranskost, a visoko varianco. Njegovi parametri se močno prilagodijo učnim podatkom, kar vodi do slabih napovedi na testnih podatkih.

Ključni cilj pri izbiri modela je torej iskanje ravnovesja med pristranskostjo in varianco. Če model vsebuje premalo parametrov (visoka pristranskost, nizka varianca), bo sistematično napačno napovedoval in ne bo zajel ključnih zakonitosti. Če model vsebuje preveč parametrov (nizka pristranskost, visoka varianca), bo prilagojen posameznim podatkovnim točkam in ne bo zmogel posploševanja na nove primere.

V praksi pogosto začnemo z enostavnejšim modelom in postopoma povečujemo njegovo kompleksnost, pri čemer uporabljamo metode validacije, kot je delitev podatkov na učni in testni sklop. Cilj je izbrati model, ki je dovolj fleksibilen, da ujame pomembne značilnosti podatkov, a hkrati dovolj preprost, da ne modelira zgolj šuma.

Nevronske mreže

Nevronske mreže so eden najpomembnejših modelov sodobnega strojnega učenja. Gre za model, ki želi posnemati nevronske mreže v možganih. Tako kot se v možganih posamezni nevroni povezujejo v kompleksne strukture, ki obdelujejo informacije, tudi model nevronskih mrež sestavljajo umetni nevroni, povezani v večplastno strukturo, ki omogoča prepoznavanje kompleksnih vzorcev v podatkih.

Osnovna enota nevronske mreže je perceptron, ki sprejme več vhodnih podatkov, jih uteži (pomnoži z neko konstanto) glede na svojo trenutno konfiguracijo in prek aktivacijske funkcije določi izhod[6]. Več takšnih nevronov tvori plast, plasti pa se povezujejo v večplastno arhitekturo, ki omogoča postopno preslikavo vhodnih podatkov v vedno bolj abstraktne reprezentacije. Čeprav so posamezni perceptroni preprosti, lahko s pravilno povezavo in učenjem dosežemo zelo kompleksne preslikave podatkov.

Ena največjih prednosti nevronskih mrež je njihova fleksibilnost. Medtem ko tradicionalni modeli strojnega učenja pogosto temeljijo na vnaprej določenih pravilih ali preprostih matematičnih povezavah, se lahko nevronske mreže same naučijo nelinearne odnose med spremenljivkami, ki jih je težko formalno opisati. Prav ta lastnost jih naredi posebej primerne za naloge, kot so razpoznavanje slik in jezika ter uporabo pri kompleksnejših napovednih modelih. Vendar pa prav njihova velika zmogljivost prinaša tudi izzive pri treniranju, o katerih smo govorili v prejšnjem poglavju. Nevronske mreže imajo veliko parametrov[7], ki jih moramo optimizirati, in zaradi tega so zelo dovzetne za preprileganje. Poleg tega je pri zasnovi mreže treba sprejeti pomembne odločitve o številu nevronov, številu plasti, saj lahko neustrezno izbran model bodisi ne zajame vseh pomembnih značilnosti (podprileganje) bodisi se preveč osredotoči na specifične podatke in ne generalizira dobro (preprileganje). Ogledali si bomo še, kako te parametre sploh dobimo iz naših podatkov.

Treniranje nevronske mreže je postopek prilagajanja njenih parametrov, da bi model čim bolje napovedoval ciljne vrednosti. Ključni mehanizem za optimizacijo je gradientni spust, ki temelji na izračunu gradienta funkcije napake glede na parametre mreže. Gradient nam pove, v katero smer moramo posodobiti parametre, da zmanjšamo napako modela. S ponavljajočimi se posodobitvami uteži prek algoritmov, kot je vzvratno razširjanje napake (angl. backpropagation), model postopoma izboljšuje svoje napovedi in se prilagaja strukturi podanih podatkov.

Veliki jezikovni modeli

Do zdaj smo spoznali, kako nevronske mreže modelirajo kompleksne odnose v podatkih. Toda ko jih želimo uporabiti za obdelavo jezika, se vprašamo, kako bi besede predstavili na način, ki bi ga lahko obdelovale nevronske mreže.

Nasprotno od številskih podatkov, kjer imajo vrednosti naravno strukturo, so besede diskretne enote brez neposredne številčne reprezentacije. Če bi vsaki besedi preprosto dodelili unikatno številko, bi model ostal brez informacij o pomenskih povezavah med besedami. Ključna rešitev tega problema je uvedba vektorskih predstavitev besed (angl. embeddings).

Vektorske predstavitve besed določajo relacije med besedami na podlagi njihovega konteksta v besedilih. Najpreprostejši modeli se učijo te predstavitve tako, da analizirajo, katere besede se pogosto pojavljajo skupaj. Besede, ki se uporabljajo v podobnih kontekstih, bodo imele podobne vektorske predstavitve, kar omogoča, da model razume semantične povezave med izrazi. Na ta način so v vektorskem prostoru besede, kot sta kralj in kraljica, bližje kot naključni besedi, kot sta kralj in miza.

Ko besede pretvorimo v vektorske predstavitve, lahko nevronske mreže obdelujejo besedilo kot zaporedje vektorjev. Tukaj se neposredno navežemo na koncepte, ki smo jih spoznali v prejšnjih poglavjih: nevroni in plasti v mreži omogočajo obdelavo teh številskih vnosov, model pa se uči s pomočjo gradientnega spusta, ki smo ga že omenili pri treniranju modelov.

Trenutno so najzmogljivejša arhitektura za obdelavo naravnega jezika transformerji, ki tvorijo osnovo sodobnih LLM-jev. Namesto zaporedne obdelave besed, kot pri prejšnjih metodah, transformerji uporabljajo mehanizme pozornosti (angl. attention mechanisms), ki omogočajo vzporedno obdelavo daljših zaporedij besed. S tem model upošteva odnose med besedami v zaporedju, ki ga obdeluje, kar izboljša zajem konteksta in omogoča boljše semantično razumevanje jezikovnih struktur.

Zaključek

S tem smo prišli do konca naše poti – od podatkov do napovednih modelov, od preprostih pristopov do nevronskih mrež in končno do velikih jezikovnih modelov. Pri vsakem koraku smo videli, kako se koncepti nadgrajujejo: od preproste regresije do nevronskih mrež, od osnovne obdelave podatkov do sodobnih metod razumevanja jezika.

Danes so LLM-ji zmožni pisanja esejev, oblikovanja pravnih dokumentov, analize sodne prakse, kodiranja in celo simulacije pravnih argumentov. Prav zaradi tega postajajo nepogrešljiv del pravnega ekosistema – od avtomatizirane pravne podpore do napredne analitike zakonodaje. Toda kljub izjemni zmogljivosti ostajajo številni izzivi – od etičnih vprašanj, povezanih s pristranskostjo modelov in interpretacijo pravnih besedil, do preverjanja zanesljivosti in resničnosti generiranih informacij.

Ker pravo temelji na kontekstu in precizni interpretaciji jezikovnih določil, se pojavlja vprašanje, kako lahko umetna inteligenca resnično podpira pravne procese, ne da bi pri tem izkrivljala ali napačno interpretirala besedila. Ključni izziv pri uporabi LLM-jev v pravu bo tako zagotavljanje transparentnosti, sledljivosti in nadzora nad generiranimi vsebinami. Prihodnost pri povezavi umetne inteligence in prava leži v razvoju sistemov, ki ne bodo le ponujali generiranja besedila, temveč bodo omogočali zanesljive, preverljive in pravno skladne interpretacije.

Seznam literature

-       James, G., Witten, D., Hastie, T., Tibshirani, R.: An Introduction to Statistical Learning: with Applications in R, New York: Springer (2013).

-       Rosenblatt, F.: The Perceptron: A Probabilistic Model for Information Storage and Organization in the BrainPsychological Review 65(6) (1958), str. 386–408.

-       Tulchinsky, T. H.: John Snow, Cholera, the Broad Street Pump; Waterborne Diseases Then and NowCase Studies in Public Health, Academic Press, Cambridge, MA (2018), str. 77–99.

-       Turing, Alan M.: COMPUTING MACHINERY AND INTELLIGENCE, Mind 49 (1950), str. 433–460.

-       Prince, Simon J.D.: UNDERSTANDING DEEP LEARNING, The MIT Press, Cambridge, MA 2023.

-       Werbos, P. J.: Applications of Advances in Nonlinear Sensitivity Analysis, v: System Modeling and Optimization (ur. R. F. Drenick, F. Kozin), Lecture Notes in Control and Information Sciences, vol. 38, Springer, Berlin, Heidelberg (1982), str. 762–770.

OPOMBE

[1] Ponavadi algoritmi strojnega učenja ne dobesedno zaznajo zakonitosti, ampak  si informacije posredno shranijo v parametre modela.

[2] Napako lahko definiramo tudi z drugačno metriko, razlika vrednosti je le osnovni primer.

[3] Linearno korelacijo definiramo tako, da je vrednost ciljne spremenljivke vsota k-kratnika napovedne spremenljivke in neke konstante c.

[4] Primeri, na katerih treniramo naš model.

[5] Tog model je takšen, ki ima manj stopenj prostosti, kot bi ga relacije potrebovale. Primer togega modela pri nas je linearni model (linearna regresija).

[6] Aktivacijska funkcija je nelinearna funkcija, saj bi drugače dobili več sestavljenih linearnih funkcij, ki pa se matematično lahko poenostavijo v eno linearno funkcijo z več parametri, zato bi arhitektura bila nesmiselna.

[7] Že vsak perceptron ima približno toliko parametrov, kolikor ima vhodnih podatkov. Ko v arhitekturo damo več perceptronov, se nam število parametrov pomnoži s številom perceptronov.

Od omejitev do rešitev: razložljiva umetna inteligenca

Od omejitev do rešitev: razložljiva umetna inteligenca

Umetna inteligenca v pravni praksi: Trenutni izzivi in prihodnostne smeri (povzetek iz okrogle mize konference AI x Pravo)

Umetna inteligenca v pravni praksi: Trenutni izzivi in prihodnostne smeri (povzetek iz okrogle mize konference AI x Pravo)