|
|
||
|---|---|---|
| .. | ||
| README.md | ||
| assignment.md | ||
README.md
Uvod v umetno inteligenco
Skica avtorja Tomomi Imura
Predavanje - kviz
Umetna inteligenca je vznemirljiva znanstvena disciplina, ki preučuje, kako lahko računalnike naučimo, da izkazujejo inteligentno vedenje, npr. opravljajo naloge, v katerih so ljudje dobri.
Računalnike je prvotno izumil Charles Babbage za obdelavo številk po natančno določenem postopku – algoritmu. Sodobni računalniki, čeprav bistveno naprednejši od prvotnega modela iz 19. stoletja, še vedno sledijo isti ideji nadzorovanih izračunov. Tako je mogoče programirati računalnik, da opravi neko nalogo, če poznamo natančen zaporedje korakov, ki jih je treba izvesti za dosego cilja.
Fotografija avtorja Vickie Soshnikova
✅ Določanje starosti osebe na podlagi njene fotografije je naloga, ki je ni mogoče eksplicitno programirati, saj ne vemo, kako v svoji glavi pridemo do številke, ko to počnemo.
Obstajajo pa naloge, za katere ne vemo natančno, kako jih rešiti. Na primer, določanje starosti osebe na podlagi njene fotografije. To se nekako naučimo, ker smo videli veliko primerov ljudi različnih starosti, vendar ne moremo natančno razložiti, kako to počnemo, niti ne moremo programirati računalnika, da to naredi. Prav takšne naloge so zanimive za umetno inteligenco (krajše UI).
✅ Pomislite na nekatere naloge, ki bi jih lahko prenesli na računalnik in bi koristile od UI. Razmislite o področjih financ, medicine in umetnosti – kako ta področja danes koristijo od UI?
Šibka UI proti močni UI
| Šibka UI | Močna UI |
|---|---|
| Šibka UI se nanaša na sisteme UI, ki so zasnovani in usposobljeni za določeno nalogo ali ozek nabor nalog. | Močna UI, ali umetna splošna inteligenca (AGI), se nanaša na sisteme UI s človeško ravnjo inteligence in razumevanja. |
| Ti sistemi UI niso splošno inteligentni; odlično opravljajo vnaprej določeno nalogo, vendar jim primanjkuje pravega razumevanja ali zavesti. | Ti sistemi UI imajo sposobnost opravljanja katere koli intelektualne naloge, ki jo lahko opravi človek, prilagajanja različnim področjem in posedovanja neke oblike zavesti ali samozavedanja. |
| Primeri šibke UI vključujejo virtualne asistente, kot so Siri ali Alexa, algoritme za priporočila, ki jih uporabljajo storitve pretakanja, in klepetalne bote, zasnovane za specifične naloge v podpori strankam. | Doseganje močne UI je dolgoročni cilj raziskav UI in bi zahtevalo razvoj sistemov UI, ki lahko razmišljajo, se učijo, razumejo in prilagajajo v širokem spektru nalog in kontekstov. |
| Šibka UI je zelo specializirana in nima človeških kognitivnih sposobnosti ali splošnih sposobnosti reševanja problemov zunaj svojega ozkega področja. | Močna UI je trenutno teoretični koncept in noben sistem UI še ni dosegel te ravni splošne inteligence. |
Za več informacij glejte Umetna splošna inteligenca (AGI).
Definicija inteligence in Turingov test
Ena od težav pri obravnavi izraza inteligenca je, da ni jasne definicije tega pojma. Lahko bi trdili, da je inteligenca povezana z abstraktnim razmišljanjem ali samozavedanjem, vendar je ne moremo ustrezno opredeliti.
Fotografija avtorja Amber Kipp iz Unsplash
Da bi videli dvoumnost izraza inteligenca, poskusite odgovoriti na vprašanje: "Ali je mačka inteligentna?". Različni ljudje ponavadi dajejo različne odgovore na to vprašanje, saj ni univerzalno sprejetega testa, ki bi dokazal, da je trditev resnična ali ne. In če mislite, da obstaja – poskusite svojo mačko spraviti skozi IQ test...
✅ Razmislite za trenutek, kako definirate inteligenco. Ali je vrana, ki lahko reši labirint in pride do hrane, inteligentna? Ali je otrok inteligenten?
Ko govorimo o AGI, moramo imeti nek način, da ugotovimo, ali smo ustvarili resnično inteligenten sistem. Alan Turing je predlagal način, imenovan Turingov test, ki deluje tudi kot definicija inteligence. Test primerja dani sistem z nečim, kar je inherentno inteligentno – resnično človeško bitje, in ker lahko vsak avtomatski primerjalni test računalniški program zaobide, uporabimo človeškega spraševalca. Če človeško bitje ne more razlikovati med resnično osebo in računalniškim sistemom v besedilnem dialogu, se sistem šteje za inteligentnega.
Klepetalni bot z imenom Eugene Goostman, razvit v Sankt Peterburgu, se je leta 2014 približal prehodu Turingovega testa z uporabo pametnega osebnostnega trika. Vnaprej je napovedal, da je 13-letni ukrajinski deček, kar bi pojasnilo pomanjkanje znanja in nekatere neskladnosti v besedilu. Bot je prepričal 30 % sodnikov, da je človek, po petminutnem dialogu, kar je bila metrika, za katero je Turing verjel, da jo bo stroj lahko dosegel do leta 2000. Vendar je treba razumeti, da to ne pomeni, da smo ustvarili inteligenten sistem ali da je računalniški sistem prevaral človeškega spraševalca – sistem ni prevaral ljudi, temveč so to storili ustvarjalci bota!
✅ Ste že kdaj mislili, da se pogovarjate s človekom, ko ste v resnici govorili s klepetalnim botom? Kako vas je prepričal?
Različni pristopi k UI
Če želimo, da se računalnik obnaša kot človek, moramo nekako modelirati naš način razmišljanja znotraj računalnika. Posledično moramo poskusiti razumeti, kaj naredi človeka inteligentnega.
Da bi lahko programirali inteligenco v stroj, moramo razumeti, kako delujejo naši lastni procesi odločanja. Če se malo poglobite vase, boste ugotovili, da nekateri procesi potekajo podzavestno – npr. lahko ločimo mačko od psa, ne da bi o tem razmišljali – medtem ko drugi vključujejo razmišljanje.
Obstajata dva možna pristopa k tej težavi:
| Pristop od zgoraj navzdol (simbolično razmišljanje) | Pristop od spodaj navzgor (nevronske mreže) |
|---|---|
| Pristop od zgoraj navzdol modelira način, kako oseba razmišlja za reševanje problema. Vključuje pridobivanje znanja od človeka in njegovo predstavitev v obliki, ki jo računalnik lahko prebere. Prav tako moramo razviti način za modeliranje razmišljanja znotraj računalnika. | Pristop od spodaj navzgor modelira strukturo človeških možganov, ki jih sestavlja ogromno število preprostih enot, imenovanih nevroni. Vsak nevron deluje kot tehtano povprečje svojih vhodov, in mrežo nevronov lahko naučimo reševati uporabne probleme z zagotavljanjem učnih podatkov. |
Obstajajo tudi nekateri drugi možni pristopi k inteligenci:
-
Emergentni, sinergijski ali večagentni pristop temelji na dejstvu, da je mogoče kompleksno inteligentno vedenje doseči z interakcijo velikega števila preprostih agentov. Po evolucijski kibernetiki lahko inteligenca nastane iz bolj preprostega, reaktivnega vedenja v procesu prehoda metasistema.
-
Evolucijski pristop ali genetski algoritem je optimizacijski proces, ki temelji na načelih evolucije.
Te pristope bomo obravnavali kasneje v tečaju, trenutno pa se bomo osredotočili na dve glavni smeri: od zgoraj navzdol in od spodaj navzgor.
Pristop od zgoraj navzdol
Pri pristopu od zgoraj navzdol poskušamo modelirati naše razmišljanje. Ker lahko sledimo svojim mislim, ko razmišljamo, lahko poskusimo formalizirati ta proces in ga programirati v računalnik. To se imenuje simbolično razmišljanje.
Ljudje imajo v glavi določena pravila, ki usmerjajo njihove procese odločanja. Na primer, ko zdravnik postavlja diagnozo pacientu, lahko ugotovi, da ima oseba vročino, in zato lahko v telesu poteka vnetje. Z uporabo velikega nabora pravil za določen problem lahko zdravnik pride do končne diagnoze.
Ta pristop se močno opira na predstavitev znanja in razmišljanje. Pridobivanje znanja od človeškega strokovnjaka je lahko najtežji del, saj zdravnik v mnogih primerih ne ve natančno, zakaj pride do določene diagnoze. Včasih rešitev preprosto pride v njegovo glavo brez eksplicitnega razmišljanja. Nekaterih nalog, kot je določanje starosti osebe na podlagi fotografije, sploh ni mogoče zmanjšati na manipulacijo z znanjem.
Pristop od spodaj navzgor
Alternativno lahko poskusimo modelirati najpreprostejše elemente v naših možganih – nevron. V računalniku lahko zgradimo tako imenovano umetno nevronsko mrežo in jo nato poskusimo naučiti reševati probleme z zagotavljanjem primerov. Ta proces je podoben temu, kako se novorojenček uči o svojem okolju z opazovanjem.
✅ Raziščite, kako se dojenčki učijo. Kateri so osnovni elementi dojenčkovih možganov?
Kaj pa ML? Del umetne inteligence, ki temelji na tem, da se računalnik nauči reševati problem na podlagi nekaterih podatkov, se imenuje strojno učenje. Klasičnega strojnega učenja v tem tečaju ne bomo obravnavali – priporočamo vam ločen učni načrt Strojno učenje za začetnike.
Kratek pregled zgodovine UI
Umetna inteligenca se je kot področje začela razvijati sredi dvajsetega stoletja. Sprva je bil prevladujoč pristop simbolično razmišljanje, kar je privedlo do številnih pomembnih uspehov, kot so ekspertni sistemi – računalniški programi, ki so lahko delovali kot strokovnjaki na nekaterih omejenih problematičnih področjih. Vendar se je kmalu izkazalo, da takšen pristop ni dobro skalabilen. Pridobivanje znanja od strokovnjaka, njegovo predstavitev v računalniku in vzdrževanje točne baze znanja se je izkazalo za zelo zapleteno nalogo in predrago za praktično uporabo v mnogih primerih. To je v sedemdesetih letih privedlo do tako imenovane zime UI.
Slika avtorja Dmitry Soshnikov
Sčasoma so računalniški viri postali cenejši, na voljo je bilo več podatkov, zato so pristopi z nevronskimi mrežami začeli kazati odlične rezultate pri tekmovanju z ljudmi na številnih področjih, kot so računalniški vid ali razumevanje govora. V zadnjem desetletju se izraz umetna inteligenca večinoma uporablja kot sinonim za nevronske mreže, saj večina uspehov UI, o katerih slišimo, temelji na njih.
Lahko opazujemo, kako so se pristopi spreminjali, na primer pri ustvarjanju računalniškega programa za igranje šaha:
- Zgodnji šahovski programi so temeljili na iskanju – program je eksplicitno poskušal oceniti možne poteze nasprotnika za določeno število naslednjih potez in izbral optimalno potezo na podlagi optimalnega položaja, ki ga je mogoče doseči v nekaj potezah. To je privedlo do razvoja tako imenovanega alpha-beta obrezovanja algoritma iskanja.
- Strategije iskanja dobro delujejo proti koncu igre, kjer je iskalni prostor omejen z majhnim številom možnih potez. Vendar pa je na začetku igre iskalni prostor ogromen, in algoritem je mogoče izboljšati z učenjem iz obstoječih tekem med človeškimi igralci. Kasnejši eksperimenti so uporabljali tako imenovano razmišljanje na podlagi primerov, kjer je program iskal primere v bazi znanja, ki so zelo podobni trenutnemu položaju v igri.
- Sodobni programi, ki premagujejo človeške igralce, temeljijo na nevronskih mrežah in okrepitvenem učenju, kjer se programi učijo igrati izključno z igranjem proti sebi in učenjem iz lastnih napak – podobno kot ljudje, ko se učijo igrati šah. Vendar pa lahko računalniški program odigra veliko več iger v veliko krajšem času in se tako uči veliko hitreje.
✅ Raziščite še druge igre, ki jih je igrala UI.
Podobno lahko vidimo, kako se je pristop k ustvarjanju "govorečih programov" (ki bi lahko prestali Turingov test) spreminjal:
- Zgodnji programi te vrste, kot je Eliza, so temeljili na zelo preprostih slovničnih pravilih in preoblikovanju vhodnega stavka v vprašanje.
- Sodobni asistenti, kot so Cortana, Siri ali Google Assistant, so vsi hibridni sistemi, ki uporabljajo nevronske mreže za pretvorbo govora v besedilo in prepoznavanje našega namena, nato pa uporabijo nekaj razmišljanja ali eksplicitnih algoritmov za izvedbo zahtevanih dejanj.
- V prihodnosti lahko pričakujemo popoln model, ki temelji na nevronskih mrežah, za samostojno obravnavo dialoga. Nedavne družine nevronskih mrež GPT in Turing-NLG kažejo velik uspeh pri tem.
Slika Dmitry Soshnikov, fotografija avtorja Marina Abrosimova, Unsplash
Nedavne raziskave na področju umetne inteligence
Ogromen nedavni napredek v raziskavah nevronskih mrež se je začel okoli leta 2010, ko so postali dostopni veliki javni podatkovni nabori. Velika zbirka slik, imenovana ImageNet, ki vsebuje približno 14 milijonov označenih slik, je dala zagon ImageNet Large Scale Visual Recognition Challenge.
Slika avtorja Dmitry Soshnikov
Leta 2012 so bile konvolucijske nevronske mreže prvič uporabljene za razvrščanje slik, kar je povzročilo znatno zmanjšanje napak pri razvrščanju (s skoraj 30 % na 16,4 %). Leta 2015 je arhitektura ResNet iz Microsoft Research dosegla natančnost na ravni človeka.
Od takrat so nevronske mreže pokazale zelo uspešno delovanje pri številnih nalogah:
| Leto | Dosežena enakovrednost človeku |
|---|---|
| 2015 | Razvrščanje slik |
| 2016 | Prepoznavanje govora v pogovoru |
| 2018 | Samodejno strojno prevajanje (kitajščina v angleščino) |
| 2020 | Opisovanje slik |
V zadnjih nekaj letih smo bili priča velikim uspehom z velikimi jezikovnimi modeli, kot sta BERT in GPT-3. To se je zgodilo predvsem zaradi dejstva, da je na voljo veliko splošnih besedilnih podatkov, ki omogočajo treniranje modelov za zajemanje strukture in pomena besedil, predhodno treniranje na splošnih zbirkah besedil ter nato specializacijo teh modelov za bolj specifične naloge. Več o obdelavi naravnega jezika bomo izvedeli kasneje v tem tečaju.
🚀 Izziv
Raziskujte po internetu in ugotovite, kje se po vašem mnenju umetna inteligenca najbolj učinkovito uporablja. Je to v aplikaciji za kartiranje, storitvi za pretvorbo govora v besedilo ali videoigri? Raziščite, kako je bil sistem zgrajen.
Kvizi po predavanju
Pregled in samostojno učenje
Preglejte zgodovino umetne inteligence in strojnega učenja z branjem te lekcije. Izberite element iz sketchnote na vrhu te lekcije ali te in ga raziskujte bolj podrobno, da bi razumeli kulturni kontekst, ki je vplival na njegov razvoj.
Naloga: Game Jam
Omejitev odgovornosti:
Ta dokument je bil preveden z uporabo storitve AI za prevajanje Co-op Translator. Čeprav si prizadevamo za natančnost, vas prosimo, da upoštevate, da lahko avtomatizirani prevodi vsebujejo napake ali netočnosti. Izvirni dokument v njegovem maternem jeziku je treba obravnavati kot avtoritativni vir. Za ključne informacije priporočamo profesionalni človeški prevod. Ne prevzemamo odgovornosti za morebitne nesporazume ali napačne razlage, ki izhajajo iz uporabe tega prevoda.




