HomePredlogi tem za diplomske in magistrske naloge
cover image

Predlogi tem za diplomske in magistrske naloge

Strojno učenje, globoki modeli, razlage, zaupanje

Spodaj naštevam nekaj možnih tem za diplomske naloge, ki jih lahko opravljate pod mojim mentorstvom. Če vas kakšna od tem zanima, mi pišite ([email protected]) ali pa se oglasite pri meni po predavanjih ali kadarkoli. Teme so odprtega tipa; v pogovori z vami za izbrano temo skupaj sestavimo načrt dela in predlagamo cilje, zahtevnost pa ustrezno prilagodimo vašemu predznanju.

Vse naštete teme so sicer primerne tudi za sodelovanje z Laboratorijem za bioinformatiko, kjer iščemo sodelavke in sodelavce, jih dobro opremimo, nudimo delovno mesto v laboratoriju in jih honoriramo.

Blaž Zupan. Zadnji popravki tega zapisa so nastali marca 2025.

Chapter 1: Nadzorovan PCA

Pred časom smo s kolegi objavili članek FreeViz—An intelligent multivariate visualization approach to explorative analysis of biomedical data. Članek govori o metodi, ki zna za večdimenzionalne podatke poiskati projekcijo, kjer so podatki čimbolj ločeni glede na razred. Članek je objavljen leta 2007, so se pa takrat in tudi kasneje ukvarjali z zelo podobno metodo, ki ji pravijo "Supervised PCA", torej metodo glavnih komponent, kjer je cilj ne samo povečanje variance ampak tudi ločitev primerov različnih razredov. Tako FreeViz kot Supervised PCA naj bi znala obravnavati zvezne in diskretne razrede, torej, sta primerna tako za klasifikacijo kot regresijo. FreeViz je implementiran v orodju Orange.

Za Supervised PCA kot vse kaže obstaja nekaj pythonovskih implementacij (npr. tale tu, ki kot vir navaja članek Prediction by Supervised Principal Components slovitih avtorjev s področja statistike). Člankov na temo Supervised PCA se sicer najde še kar nekaj, npr Supervised PCA: A Multiobjective Approach iz leta 2020, pa Supervised principal component analysis: Visualization, classification and regression on subspaces and submanifolds iz leta 2011.

Cilj naloge je:

  • preberi članke (supervised PCA in FreeViz) in še malo pobrskaj po literaturi
  • skušaj razumeti uporabljeno matematiko
  • implementiraj obe tehnike oziroma prilogodi že znane implementacije
  • preglej, kakšen učinek ima regularizacija
  • primerjaj obe tehnike, na primerih in v teoriji razloži, v čem je razlika in kje je bolje uporabiti FreeViz in kje Supervised PCA

Chapter 2: Gručenje

Dendrogrami, ki predstavijo rezultate hierarhičnega razvrščanja, so lahko silno zanimivi in razložljivi, a lahko, predvsem, ko so podatki veliki, tudi prekompleksni. Zanimivo bi bilo obdržati samo dele dendrogramov, ki so stabilni in ki se, tudi ob manjših spremembah v podatkih, ne spreminjajo. V zvezi z njimi bi bilo tudi zaimivo oceniti, koliko skupin sploh imamo.

Slika: Dendrogrami lahko odlično predstavijo rezulat hierarhičnega razvrščanja v skupine, a čim je podatkovni nabor malo večji, postanejo nepregledni, uporabnik pa iz njih ne more razbrati, kako stabilne so pravzaprav odkrite skupine.

Temi na tem področju sta vsaj dve, in sicer:

  • Oblikuj kvantitavni postopek, ki za dedrogram predlaga področje najbolj primernega reza na skupine. Preglej literaturo, kaj na tem področju že obstaja, predlagane tehnike pa računsko primerjaj z enostavno tehniko, ki izhaja iz merjenja silhuete in je podobna tej, ki smo jo na predavanjih uporabljali pri določitvi parametra kk za metodo voditeljev. Računska primerjava pomeni, da poiščeš recimo deset naborov primerov, za njih zgradiš dendrograme in pregledaš, kakšne so razlike med predlaganimi tehnikami pri ocenjevanju najbolj smiselnega števila skupin. Tu te zanima tudi čas, ki jo potreben za poganjanje takega postopka. Najbolj primerno metodo potem implementiraj v izrisu dendrograma v programu Orange, tako da tam na grafični način predlaga uporabniku število skupin.

  • Poenostavitev dendrogramov z oceno stabilnosti vej. Tehnika, ki je na tem področju uveljavljena, je pvclust in njena implementacija v programu R. Problem je tehnike je počasnost in morda pretirana kompliciranost. Zanima nas, ali je moč z enostavnim permutacijskim testom in uporabe silhuete hitro oceniti stabilnost vsake od vej dendrograma. Ideja je namreč, da v njem obdržimo samo veje, ki so tudi po manjši permutaciji podatkov še vedno dovolj stabilne, to je, da je skupina še vedno dovolj dobro ločena od ostalih.

  • Primerjaj hierarhično gručenje s postopkom združevanja sosedov (angl. neighbor joining). Začuda se slednji postopek malo uporablja v podatkovni analitiki, kar je presenetljivo, saj naj bi bil njegov model bolj verna predstavitev odnosov med primeri, plus lahko vodi v veliko bolj kompaktne vizualizacije. Zanimiva diplomska naloga bi lahko raziskala, kako z združevanjem sosedov zgradimo model gručenja, ga poenostavimo (združimo statistično nerazpoznavne elemente), in razložimo. Spet drugačna (enostavnejša) pa bi se lahko samo ukvarjala s tem, kako je ta algoritem v svojih rešitvah različen od dendrogramov hierarhičnega združevanja v skupine.

Chapter 3: Klepetalniki

V okviru tem na področju klepetalnikov nas zanima, ali je možno narediti klepetalnik za izbrano področje, ki ga predstavimo z izbranim naborom dokumentov. Klepetalnik bi radi razvili tako, da ta pri pogovoru in odgovorih na naša vprašanja uporablja besedilo iz našega nabora dokumentov in dokumente ali dele dokumentov pri tem navaja (citira). Ciljamo sicer na klepetalnike, ki so na primer specializirani za določena zelo ozka področja, kot so na primer dnevne novice, molekularna biologija, bioprocesi (tu sodelujemo s podjetjem Novartis), ali pa pravni dokumenti.

Naloga bi torej vsebovala:

  • zbiranje podatkov (dokumentov) in ureditev teh v korpus
  • ustrezno indeksiranje dokumentov
  • razvoj klepetalnika
  • vključevanje nebesedilnih dokumentov v klepetalnik (podatki, tabele, grafi, uporaba napovednih modeliv)
  • vrednotenje rešitve (na vseh nivojih, tudi pri RAG, na primer, nas zanima, katero tehniko izbora dokumentov ali podatkov bi lahko uporabili)

Ena od tem na tem področju je tudi dopolnitev oziroma urejevanje nove edicije knjige Dictyostelium: Evolution, Cell Biology, and the Development of Multicellularity, ki je bila objavljena v letu 2001 in je danes že malce zastarela. Imamo izvorno besedilo knjigo, željo avtorja po sodelovanju, sodelujemo pa tudi z najboljšimi raziskovalci na tem področju, ki so to temo tudi predlagali. Zanima nas, ali je moč zgraditi sistem, ki bi knjigo "prebral" in na podlagi nedavnih objav člankov s področja predlagal ustrezne popravke in dopolnitve.

Chapter 4: Klepetalnik za delotoke

Je možno zgraditi klepetalnik, ki predlaga postopek za analizo podatkov in na primer oblikuje delotoke v izbranem programu za podatkovno analitiko? Konkretno, želeli bi zgraditi klepetalnik, ki bi uporabniku pomaga pri vizualnem programiranju, kot ga implementira program Orange.

Slika: tipičen delotok v programu Orange. Bi bilo možno, da bi ga sistem predlagal na podlagi opisa delotok, npr. "Za vhodne podatke želim izdelati delotok, ki preveri napovedno točnost nekaterih modelov strojnega učenja. Rezultate primerno vizualiziraj.".

Klepetalnika na tem področju je najbrž silno težko izdelati, zato bi se za začetek pri diplomski nalogi lotili česa lažjega, a nič manj zanimivejšega:

  • Iz že izdelanih besedil, ki vsebujejo delotoke, iz lušči delotoke in pripadajočo besedilo. Primer takega besedila je npr. nedavno uporabljeno učno gradivo.
  • Ker so telotoki vključeni v besedila kot slike, bi bilo potrebno iz njih izluščiti strukturo, to je prepoznati gradnike in povezave med njimi. Morda še najlažja bo za to uporaba konvolucijskih nevronskih mrež, ki bi prepoznala območje z ikono in območje z povezavo, znala prepoznati ikono in zgradila delotok. Že samo ta alineja je recimo primerna za temo za diplomsko nalogo.
  • Prvi približek klepetalnika bi potem lahko uporabljal vložitve besedil v vektorski prostor, in besedilo z iskalnim nizom v prostoru vložitev primerjal z besedilom povezanim z določenim delotokom. Tudi ta alineja bi bila primerna za (morda nekoliko enostavnejšo) diplomsko nalogo. Ta bi recimo vključevala uporabo razvrščevalnika slik, ki bi prepoznaval, ali je na sliki delokrog ali pa kaj drugega, in potem uporabil samo slike z delotokom.
  • V naslednjem približku klepetalnika bi iz besedil in delotokov, ki bi bili opisani kot graf, zgradili globoki generativni model.
  • Vse zgornje bi bilo potrebno primerno ovrednotiti.

Iz zgornjega zato izhajajo tri možne teme:

  • Iskalnik delotokov na podlagi besedilnega opisa.
  • Pretvorba slik delotoka v graf.
  • Generativni model delotokov, ki iz besedila tvori graf.

Chapter 5: Bioinformatika

Na področju bioinformatike nas zanimajo teme, povezane z razvojem temeljnih modelov in njihovo uporabo pri analizi podatkov. Posebej nas pritegnejo rešitve, kjer temeljni modeli omogočajo napredno razlago podatkov, podprto z domenskim znanjem. Zanimajo nas tudi pogovorni roboti, ki pri komunikaciji ne uporabljajo zgolj besedilnih odgovorov, temveč vključujejo napovedne in druge modele ter znajo v pogovor vključiti podatkovne baze ali vizualizacije. Primeri takšnih temeljnih modelov vključujejo modele za interpretacijo genskih izrazov ali kemoinformatične modele za analizo molekul. Ključno področje našega zanimanja so torej orodja in pristopi, ki omogočajo razlago poljubnih podatkov na način, ki upošteva specifično znanje o obravnavani problematiki.

Chapter 6: Razvoj programov

K sodelovanju vabimo študente, ki jih zanima razvoj sodobnih orodij za analizo podatkov, umetno inteligenco in uporabniške vmesnike. Sodelujete lahko pri razvoju programa Orange – odprtokodnega orodja za vizualno programiranje in podatkovno rudarjenje (Python) – ali pri razvoju njegove spletne različice, ki je trenutno še v pilotni fazi (Typescript in React). Orange je svetovno znano orodje za podatkovno analitiko, ki je v celoti bilo razvito v Laboratoriju za bioinformatiko UL FRI in je najbrž največji in najbolj uporabljani slovenski odprtokodni program.

Študenti se lahko vključite v različne tipe nalog, kot so:

  • razvoj novih funkcionalnosti v Orangu (npr. moduli za specifične analize podatkov ali napredne vizualizacije),
  • oblikovanje uporabniku prijaznih vmesnikov, primernih za poučevanje in uporabo v industriji ali znanosti,
  • raziskovanje in integracija novih metod strojnega učenja, vključno s temeljnimi modeli.

Chapter 7: Sodelovanje s podjetji

Pri diplomskih nalogah načeloma sodelujemo s podjetji le, če imajo z UL FRI oziroma z laboratorijem podpisano pogodbo o sodelovanju, v kateri je urejen tudi prenos intelektualne lastnine (IP). Pri diplomskih nalogah mentor običajno vloži med 50 in 100 ur dela, kar v primeru sodelovanja s podjetjem štejemo tudi kot konzultacije, zato je pomembno, da so vnaprej urejeni vsi pogoji sodelovanja.

Na kratko: diplomske naloge, pri katerih sodelujem kot mentor, so povezane s projekti, ki jih že izvajamo v laboratoriju. Če bi določeno podjetje želelo sodelovati s FRI, se seveda lahko obrnejo na nas, a je treba sodelovanje urediti še pred potrditvijo teme.

Sodelovanj s podjetji smo sicer izredno veseli. Trenutno na področju diplomskih, magistrskih in doktorskih del sodelujemo s podjetji Genialis, Novartis, Sandoz (oba bivši Lek).