Machine learns
1 2023-01-04T08:37:04+00:00 Jotsna Iyer 4f2bfb514a09301de0e5275ee45bf5db41479839 8 1 plain 2023-01-04T08:37:04+00:00 AI for Teachers, An Open Textbook Version 1 English Jotsna Iyer 4f2bfb514a09301de0e5275ee45bf5db41479839This page is referenced by:
-
1
2023-01-04T08:37:04+00:00
Govorica UI: Strojno učenje
16
plain
2023-03-01T08:15:48+00:00
Algoritem je določeno zaporedje navodil za izvedbo naloge. Nalogo razdeli na preproste, lahko razumljive korake, kot dobro napisan recept. Programski jeziki so jeziki, ki jim računalnik lahko sledi in jih izvaja. Delujejo kot most med tem, kar razumemo, in tem, kar lahko razume stroj; so kot stikala za vklop in izklop. Računalnik slike, videoposnetke in navodila razume kot enice (stikalo je vklopljeno) in ničle (stikalo je izklopljeno).
Algoritem, zapisan v programskem jeziku, postane program. Aplikacije so programi, napisani za končnega uporabnika. Tradicionalni programi sprejemajo podatke in sledijo navodilom, da dobijo rezultat. Številni zgodnji programi UI so bili v tem pogledu tradicionalni. Ker se navodila ne morejo prilagajati podatkom, ti programi niso bili prav uspešni pri nalogah, kot je npr. napovedovanje na podlagi nepopolnih informacij in naravna obdelava jezika (NLP).Spletne iskalnike poganjajo klasični algoritmi in algoritmi strojnega učenja. Za razliko od prvih slednji analizirajo podatke za prepoznavanje vzorcev, ki jih nato uporabijo za sprejemanje odločitev ali generiranje napovedi. Lahko bi reklii, da na podlagi podatkov (dobrih in slabih primerov) ustvarijo svoj lasten "recept" za delovanje.
Takšni algoritmi so primerni za zelo kompleksne situacije z veliko manjkajočimi podatki. Sposobni so sami spremljajati izvajanje zadanih nalog in povratne informacije uporabiti za izboljšanje svojega delovanja.
V tem so pravzaprav podobni ljudem, zlasti dojenčkom, ki se veščin učijo izven izobraževalnega sistema. Dojenčki opazujejo, ponavljajo (posnemajo), se učijo, preizkušajo naučeno in se izboljšujejo. Če je treba, tudi improvizirajo.
Vendar je podobnost med stroji in ljudmi precej površinska. Učenje ljudi je drugačno, veliko bolj diferencirano, podrobno in zapleteno kot učenje strojev.
Ena od pogostih nalog, ki se uporablja v aplikacijah strojnega učenja, je klasifikacija. Je na fotografiji pes ali mačka? Ali ima učenec težave pri reševanju nalog, ali je opravil preizkus znanja? Stroj ima na izbiro dve ali več skupin. Aplikacija mora nove podatke razvrstiti v eno od teh skupin. Vzemimo za primer komplet igralnih kart, ki ga po nekem ključu razdelimo na dva kupčka, skupino A in skupino B. Nalsednjo karto (karov as) moramo razvrstiti v skupino A ali skupino B. Najprej moramo razumeti, po kašnem ključu je razdeljen komplet kart - torej potrebujemo primere. Izberemo štiri karte iz skupine A in štiri iz skupine B. Teh osem primerov predstavlja naše učne podatke - podatke, ki nam pomagajo prepoznati vzorec, oz., nas s tem "učijo", kako priti do rezultata. Takoj ko vidimo razporeditev (slika desno), nas večina ugane, da karov as spada v skupino B. Pri tem ne potrebujemo posebnih navodil, človeški možgani so čudežni iskalec vzorcev. Kako pa bi to nalogo opravil stroj? Algoritmi strojnega učenja temeljijo na uveljavljenih statističnih teorijah. Različni algoritmi temeljijo na različnih matematičnih enačbah, ki jih je treba skrbno izbrati, da ustrezajo dani nalogi. Naloga programerja je, da izbere podatke, analizira, katere značilnosti podatkov so pomembne za določen problem, in izbere pravilen algoritem.
Problem klasifikacijePomen podatkov
Vendar pa bi lahko v zgornjem primeru šlo narobe več stvari. Oglejte si sliko. V skupini 1 je premalo kart, da bi lahko ugibali. V skupini 2 je sicer več kart, vendar so vse enake barve, zato ne moremo predvideti, kam uvrstiti karo. Če skupine ne bi bile enako velike, bi v skupini 3 karte s številkami spadale v skupino A, karte s podobami pa v skupino B.
Problemi strojnega učenja so običajno bolj odprti in vključujejo nabore podatkov, veliko večje od kompleta kart. Učne podatke je treba izbrati s pomočjo statistične analize, sicer se vanje prikradejo napake. Dobra izbira podatkov je ključnega pomena za učinkovite aplikacije strojenga učenja, bolj kot pri drugih vrstah programov. Strojno učenje potrebuje veliko število relevantnih podatkov. Osnovni model strojnega učenja mora vsebovati najmanj desetkrat več podatkov, kot je skupno število značilnosti.1Kljub temu je strojno učenje posebej primerno tudi za obdelavo hrupnih, neurejenih in nasprotujočih si podatkov.Ekstrakcija značilnosti
Ko ste si v zgornjem primeru ogledali skupini A in B, ste bržkone najprej opazili barvo kart. Nato številko ali črko in barvo. Pri algoritmih je treba vse te posamezne značilnosti vnesti posebej. Algoritem ne more samodejno vedeti, kaj je pomembno za dano nalogo. Pri izbiri značilnosti si morajo programerji zastaviti številna vprašanja. Koliko značilnosti je premalo, da bi bile uporabne? Koliko jih je preveč? Katere značilnosti so pomembne za nalogo? Kakšno je razmerje med izbranimi značilnostmi - ali je ena značilnost odvisna od druge? Ali je z izbranimi značilnostmi mogoče doseči natančen rezultat?Postopek
Ko programer ustvarja aplikacijo, vzame podatke, iz njih ekstrahira značilnosti, izbere ustrezen algoritem strojnega učenja (matematična funkcija, ki določa postopek) in ga usposobi z uporabo označenih podatkov (v primeru, ko je izhod znan - npr. skupina A ali skupina B), tako da stroj razume vzorec, ki se skriva za problemom. Za stroj razumevanje pomeni zapis v oblik niza številk ali uteži, ki jih dodeli vsaki značilnosti. S pravilno dodelitvijo uteži lahko izračuna verjetnost, da nova karta spada v skupino A ali B. Običajno v fazi učenja programer pomaga stroju tako, da ročno spremeni nekatere vrednosti (uglaševanje). Za tem je treba program pred začetkom uporabe preizkusiti. Pri tem se vanj vnesejo takšni označeni podatki, ki niso bili uporabljeni v fazi učenja, imenujemo jih testni podatki. Nato se oceni učinkovitost stroja pri napovedovanju rezultatov. Ko učinkovitost doseže zadovoljivo stopnjo, lahko začnemo z uporabo programa, ki je sedaj pripravljen za vnos povsem novih podatkov, na podlagi katerih sprejema odločitve ali generira napovedi. Algoritem nato lastno delovanje v realnem času nenehno spremlja in se izboljšuje (prilagoditev uteži za boljše rezultate). Učinkovitost delovanja v realnem času se pogosto razlikuje od izmerjene učinkovitosti v fazi preizkušanja (testiranja). Ker je eksperimentiranje z resničnimi uporabniki drago, zahteva veliko truda in pogosto s seboj prinaša določeno tveganje, se algoritmi praviloma preizkušajo na podlagi preteklih uporabniških podatkov, zaradi česar pa morda ni možno oceniti vpliva na vedenje uporabnikov.1 Zato je pomembno, da se pred uporabo aplikacij strojnega učenja opravi celovita ocena njihovega delovanja:Ali bi radi strojno učenje preizkusili v praksi? Oglejte si to aktivnost.
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
1Theobald, O. Machine Learning For Absolute Beginners: A Plain English Introduction (Second Edition) (Machine Learning From Scratch Book 1) (p. 24). Scatterplot Press. Kindle Edition.
2 Konstan, J., Terveen, L., Human-centered recommender systems: Origins, advances, challenges, and opportunities, AI Magazine, 42(3), 31-42, 2021
-
1
2023-01-04T08:37:04+00:00
Govorica UI: Kako vas YouTube spoznava - 2. del
9
plain
2023-03-05T14:25:42+00:00
Proces
Google v vseh svojih produktih uporablja globoke nevronske mreže za strojno učenje.2 Na podlagi video modela YouTubova nevronska mreža zabeleži videoposnetke, podobne tistim, ki jih je uporabnik že gledal. Nato poskuša napovedati čas gledanja vsakega novega videoposnetka za dani uporabniški model in jih razvrsti na podlagi napovedi. Na koncu prikaže 10 do 20 videoposnetkov (odvisno od naprave) z najvišjimi ocenami.
Proces je podoben modelu strojnega učenja, ki smo ga že opisali. Stroj v tem primeru najprej zabeleži značilnosti uporabniških in video modelov, ki jih je podal programer. Iz sklopa učnih podatkov se nauči, kakšno utež naj dodeli posamezni značilnosti, da bo pravilno napovedal čas (trajanje) ogleda. Nato, po testiranju in potrditvi, da pravilno deluje, lahko začne generirati napovedi in priporočila.Učenje
V fazi učenja se sistemu posreduje na milijone pozitivnih in negativnih primerov. Pozitiven primer je, ko uporabnik klikne na videoposnetek in si ga določen čas ogleduje. Negativen primer je, ko uporabnik ne klikne na videoposnetek ali si ga ne ogleduje dovolj dolgo.2
Nevronska mreža dobi informacijo o značilnostih uporabnika in videoposnetka. Utež vsake vhodne značilnosti prilagodi tako, da preveri, ali je bil čas gledanja za določen videoposnetek in uporabnika pravilno napovedan.
Na stotinah milijard primerov se nauči približno milijardo parametrov (uteži vsake značilnosti).2 Mreža se lahko tudi nauči, da določenih značilnosti ne upošteva (dodeli jim ničelno pomembnost/utež). Zato je lahko model, ki ga ustvari algoritem, zelo drugačen od tistega, ki so si ga zamislili razvijalci.Testiranje
Ko nevronska mreža konča z učenjem, jo preizkusimo na že razpoložljivih podatkih in po potrebi prilagodimo. Poleg natančnosti napovedi mora programer nastaviti izhod sistema na podlagi več vrednostnih sodb. Prikazovanje videoposnetkov, ki so preveč podobni že videnim zagotovo ne bo preveč zanimivo. Kaj v resnici pomeni, da je neko priporočilo dobro? Koliko podobnih posnetkov je treba prikazati in kako raznoliki naj bodo - z ozirom na druge posnetke in na zgodovino uporabnika? Koliko uporabnikovih interesov naj upošteva? Katere vrste priporočil imajo za posledico takojšnje zadovoljstvo, in katere dolgoročno uporabo?1,3 To so pomembna vprašanja, ki jih je treba upoštevati.
Testiranju sledi ocenjevanje priporočil v realnem času. Izmeri se skupni čas gledanja za posamezen sklop napovedanih posnetkov.2 Dlje, kot si uporabnik ogleduje priporočeni sklop videoposnetkov, uspešnejši je model. Zgolj podatek o številu klikov na videoposnetke ne zadostuje za objektivno ocenjevanje. YouTube ocenjuje svoje priporočilne sisteme na podlagi tega, koliko priporočenih videoposnetkov je bilo pogledanih (skoraj) v celoti ter na podlagi skupne dolžine seje, časa do prvega daljšega ogleda in deleža prijavljenih uporabnikov.1Vmesnik
Na koncu poglejmo še, kako so priporočila predstavljena gledalcu: koliko posnetkov naj se prikaže? Ali naj se najboljša priporočila prikažejo naenkrat, ali naj sistem nekatera prihrani za pozneje? 3 Kakšen način prikaza izbrati za sličice in naslove videoposnetkov? Katere druge informacije je potrebno prikazati? Katere nastavitve lahko nadzoruje uporabnik?1 V odgovorih na ta vprašanja se skriva YouTubova skrivnost ohranjanja dveh milijard uporabnikov pred zasloni 24 ur na dan.
----------------------------------------------------------------------------------
1 Davidson, J., Liebald, B., Liu, J., Nandy, P., Vleet, T., The Youtube Video Recommendation System, Proceedings of the 4th ACM Conference on Recommender Systems, Barcelona, 2010
2 Covington, P., Adams, J., Sargin, E., Deep neural networks for Youtube Recommendations, Proceedings of the 10th ACM Conference on Recommender Systems, ACM, New York, 2016
3 Konstan, J., Terveen, L., Human-centered recommender systems: Origins, advances, challenges, and opportunities, AI Magazine, 42(3), 31-42, 2021
4 Spinelli, L., and Crovella, M., How YouTube Leads Privacy-Seeking Users Away from Reliable Information, In Adjunct Publication of the 28th ACM Conference on User Modeling, Adaptation and Personalization (UMAP '20 Adjunct), Association for Computing Machinery, New York, 244–251, 2020 -
1
2023-01-04T08:37:04+00:00
Govorica UI: Kako prilagodljivi učni sistemi spoznavajo učenca - 2. del
8
plain
2023-03-05T16:36:03+00:00
Proces
V zadnjih letih se strojno učenje vse pogosteje uporablja v prilagodljivih učnih sistemih, bodisi kot edina uporabljena tehnologija bodisi v povezavi z drugimi pristopi.2 Tam, kjer se uporablja, je osrednja vloga strojnega učenja ustvarjanje in posodabljanje modelov učencev na podlagi sklopa značilnosti, vključno z rezultati vrednotenja in novimi podatki, ki se ustvarjajo skozi ves čas procesa.1
Za zunanjo zanko se modeli ustvarijo s pomočjo učnih podatkov, tako da se dodelijo ustrezne uteži značilnostim, ki omogočajo učinkovito priporočanje vsebin (gl. poglavje Govorica UI: Strojno učenje). Ti modeli se uporabljajo za redno priporočanje novih učnih poti, ki odražajo napredek učenca in njegove spreminjajoče se interese - podobno kot nova priporočila v YouTubu. Prilagodljiv učni sistem, ki temelji na strojnem učenju, lahko generira tudi bilijon takšnih poti.3
V notranji zanki se strojno učenje uporablja za zagotavljanje ustreznih povratnih informacij, odkrivanje napak, sklepanje o vrzelih v znanju in za oceno obvladovanja enot znanja. Učenec lahko med ukvarjanjem z določeno aktivnostjo naredi napako. Strojno učenje se lahko uporabi za napovedovanje, katere napake izhajajo iz katere vrzeli v znanju. Podobno, če je rešitev naloge pravilna, lahko strojno učenje uporabimo za predvidevanje o tem, katere enote znanja so bile uspešno usvojene.
Druge tehnike, ki se uporabljajo v prilagodljivih sistemih, vključujejo manj avtomatizacije in bolj eksplicitno zapisana pravila za sklepanje.2 Za natančen zajem vseh kriterijev, ki so potrebni pri odločanju, zahtevajo veliko časa za programiranje in dodatna prizadevanja. Poleg tega rezultatov pogosto ni mogoče posplošiti z enega področja na drugo ali z enega problema na drugega.
Orodja, ki uporabljajo strojno učenje, delujejo na podlagi velikanske količine podatkov o dejanski uspešnosti učencev in lahko zato sčasoma ustvarijo zelo dinamične učne poti za učence.1 Tako kot pri vseh aplikacije strojnega učenja pa je treba tudi tukaj pred uporabo v učilnicah opraviti testiranje.Pedagoški model
Spoznali smo že, da YouTube uporablja veliko vrednostnih sodb za odločitev o tem, kaj je dobro priporočilo, npr.: koliko različnih interesov uporabnika naj bo zajetih v enem sklopu priporočil, koliko priporočenih posnetkov naj bo podobnih že videnim, koliko novih vsebin je treba dodati zavoljo raznolikosti itd. (gl. poglavje Govorica UI: Kako vas YouTube spoznava - 2. del). Prilagodljivi učni sistemi vključujejo podobne presoje o tem, kaj pomeni obvladati določeno enoto znanja in kako priti do te stopnje "mojstrstva".4
V primeru prilagodljivih učnih sistemov morajo takšne sodbe/odločitve (kakor tudi smernice o doseganju napredka za učenca) temeljiti na uveljavljenih pedagoških teorijah. Te so vključene v pedagoški model ter skupaj z modelom domene in modelom učenca pomagajo stroju izbrati ustrezen nabor aktivnosti.
Nekatera vprašanja, na katera odgovarja pedagoški model, so: ali je treba učencu najprej predstaviti koncept, aktivnost ali test? Na kateri stopnji zahtevnosti? Kako ovrednotiti učenje in zagotoviti povratne informacije? Kje je potrebna dodatna podpora? Pedagoški model narekuje obseg in poglobljenost aktivnosti in celo opozori, ali naj nadaljujemo v okviru sistema, ali je potrebno poiskati pomoč učitelja.3Vmesnik
Priporočila so prikazana skupaj z drugimi podatki, kot so napredek, uspešnost in cilji učenca. Ključna vprašanja:- Kako podati vsebine?
- Koliko vsebin priporočiti v enem priporočilu?
- Katere vsebine naj bodo neposredno dodeljene in katere v obliki priporočil?
- Kateri podporni viri so uporabljeni?
- Ali so omogočene skupinske aktvnosti?
- Kakšno stopnjo avtonomije dovoliti?
- Ali lahko učenec spreminja svoje izbire (preference)?
- Ali lahko učitelj spreminja učne poti?
- Kateri podatki so prikazani učitelju?
- Ali je učitelj vključen v zanko?
Vrednotenje
Ko se prilagodljiv učni sistem začne uporabljati, spremlja lastno uspešnost glede na merila, ki jih določi programer. Kot pri vsakem orodju UI so lahko podatki pristranski. Sklepanja sistema so lahko netočna. Učenčevi pretekli podatki sčasoma postajajo manj relevantni.6 Zato mora tudi učitelj spremljati delovanje sistema in učencu po potrebi dajati navodila in predlagati popravke.
Tudi učitelji in mladostniki sami naj bi zagotavljali navdih in odkrivali ter predlagali alternativne vire vsebin. Raziskave na področju priporočilnih sistemov so več kot desetletje temeljile na informacijah komercialnih ponudnikov vsebin in spletne maloprodaje. Poudarek je bil torej na zanesljivem zagotavljanju priporočil, ki dajejo rezultate, ki jih je mogoče tržiti. “Presenetljiv užitek ob nepričakovanem odkritju skritega dragulja”7 ali, povedano drugače, sprehod po manj uhojenih stezicah - torej vse tisto, kar navdihuje trajno učenje, ni med prednostmi na strojnem učenju zasnovanih pristopov personaliziranega poučevanja.
------------------------------------------------------------------------------------------------------
1 EdSurge, Decoding Adaptive, Pearson, London, 2016
2 Chrysafiadi, K., Virvou, M., Student modeling approaches: A literature review for the last decade, Expert Systems with Applications, Elseiver, 2013
3 Essa, A., A possible future for next generation adaptive learning systems, Smart Learning Environments, 3, 16, 2016
4 Groff, J., Personalized Learning : The state of the field and future directions, Center for curriculum redesign, 2017.
5 Alkhatlan, A., Kalita, J.K., Intelligent Tutoring Systems: A Comprehensive Historical Survey with Recent Developments, International Journal of Computer Applications 181(43):1-20, March 2019
6 du Boulay, B., Poulovasillis, A., Holmes, W., Mavrikis, M., Artificial Intelligence And Big Data Technologies To Close The Achievement Gap, In: Luckin, Rose ed. Enhancing Learning and Teaching with Technology. London: UCL Institute of Education Press, pp. 256–28, 2018
7 Konstan, J., Terveen, L., Human-centered recommender systems: Origins, advances, challenges, and opportunities, AI Magazine, 42(3), 31-42, 2021