Johdatus tekoälyyn
Exam
Year | Semester | Date | Period | Language | In charge |
---|---|---|---|---|---|
2016 | spring | 18.01-01.03. | 3-3 | Finnish | Teemu Roos |
Lectures
Time | Room | Lecturer | Date |
---|---|---|---|
Mon 14-16 | CK112 | Teemu Roos | 18.01.2016-01.03.2016 |
Tue 14-16 | CK112 | Teemu Roos | 18.01.2016-01.03.2016 |
Exercise groups
Time | Room | Instructor | Date | Observe |
---|---|---|---|---|
Tue 12-14 | D122 | Teemu Roos | 25.01.2016—04.03.2016 |
Time | Room | Instructor | Date | Observe |
---|---|---|---|---|
Thu 14-16 | D122 | Elias Jääsaari | 25.01.2016—04.03.2016 |
Time | Room | Instructor | Date | Observe |
---|---|---|---|---|
Fri 12-14 | D122 | Elias Jääsaari | 25.01.2016—04.03.2016 |
Information for international students
The course is only given in Finnish.
AI-uutisia ja aiheeseen liittyviä linkkejä
- 3.5.2016 Uusintakokeen tulokset
- 19.4.2016 Uusintakoe. Lunttilappu (ks. alla) sallittu.
- 23.3.2016 Kurssikokeen tulokset
- 17.3.2016 Kurssikokeen arvosteluperusteet
- 15.3.2016 AlphaGo 4–1 Lee Se-dol
- 14.3.1986 (eiku 2016) Tekoälyn seuraava askel... Cyc! MIT Technology Review | Lucid.ai
- 12.3.2016 AlphaGo johtaa viiden ottelun sarjaa 2-0! The Economist
- 11.3.2016 MUISTA ANTAA PALAUTETTA PALAUTEKAAVAKKEELLA: linkki
- 10.3.2016 Kurssikoe. Saat ottaa kokeeseen mukaasi kaksipuolisen, A4-kokoisen, käsinkirjoitetun "lunttilapun". Laskimesta voi olla hyötyä, mutta se ei ole välttämätön.
- 3.3.2016 Opiskele lisää tekoälyä: AI for Games III (Matti Luukkainen, 16.5.–27.5.)
- 1.3.2016 Shakkiturnauksen voittaja: CERBERUS
- 29.2.2016 Mitä on tekoäly? Haastattelussa tekoälytutkija Ray Mooney: Omega Tau podcast
- 25.2.2016 Robopajailmoittautuminen avattu: paina tästä
- 25.2.2016 Tuoreempi video Boston Dynamicsin robotista. (Miksi robottia aina kiusataan?)
- 23.2.2016 Ei tiistain luentoa.
- 5.2.2016 Shakkiturnaus käynnistyy.
- 29.1.2016 Deep learning -guru Yoshua Bengio rauhoittelee tekoälyn uhkakuvista: MIT Technology Review
- 27.1.2016 Tekoäly saavuttaa ihmiset Go-pelissä kymmenen vuotta ennen arvioitua: Nature
-
25.1.2016 Marvin Minsky 9.9.1927–24.1.2016: MIT Technology Review
Completing the course
Kurssin arvostelu perustuu laskuharjoituksiin (noin 33%) ja kurssikokeeseen (noin 67%).
Läpipääsyraja on noin puolet tarjolla olevista suorituspisteistä. Huom: 5 opintopisteen kurssi edellyttää arviolta 18 viikkotuntia työtä. Varaudu siis näkemään vaivaa.
Luennoilla ei ole läsnäolopakkoa, mutta etenkin ensimmäinen luento maanantaina 18.1.2015 on suositeltava.
IRC
Kurssin irc-kanava on #johtek. Sen seuraaminen on suositeltavaa. Ohjeet FuksiWikissä.
Literature and material
Kurssilla ei ole kurssikirjaa. Käsiteltävä materiaali käydään pääosin läpi kurssimonisteessa, jota päivitetään kurssin kuluessa (huomaa myös linkit luentokalvoissa):
- KURSSIMONISTE (pdf; päivitetty 18.2.2016)
Edellisvuoden kurssimateriaalista ja etenkin laskuharjoitusten esimerkkiratkaisuista voi toisinaan olla hyötyä:
Koe
Kurssi-, uusinta- ja erilliskokeissa saa pitää mukana A4-kokoista, kaksipuolista, käsinkirjoitettua "lunttilappua".
Vanhoja kurssi- ja erilliskokeita voi olla myös hyödyllistä katsella, vaikka joitain painotuseroja edellisvuosien kursseihin verrattuna onkin: logiikkaa ei juuri vuoden 2011 jälkeen ole käsitelty, digitaalisen signaalinkäsittelyn osuus on vuoden 2014 jälkeen pienentynyt, ja vuonna 2016 tuli uutena asiana luonnollisen kielen käsittelyä.
- kurssikoe 21.10.2011; esimerkkiratkaisu tehtävään 6 (A*-haku): ratkaisu (pdf)
- erilliskoe 25.11.2011
- erilliskoe 13.1.2012
- erilliskoe 17.4.2012
- erilliskoe 21.8.2012
- kurssikoe 19.10.2012 (sama englanniksi) : arvosteluperusteet (pdf)
- kurssikoe 18.10.2013
- uusintakoe 22.11.2013
- kurssikoe 24.10.2014
Luento 1 (18.1.2016): Tekoälyn filosofiaa | Etsintäalgoritmit.
- Luentokalvot (pdf, 2.6 MB) -- paras-ensin–haku ja A* jätettiin seuraavalle luennolle
-
Aiheet:
- kurssin perustiedot
- tekoäly kulttuurissa
- tekoälyn filosofiaa (heikko vs vahva tekoäly, ...)
- Turingin testi
- Mitä tekoäly oikeasti on? Nykytutkimus, sovellukset, ...
- Verkon läpikäyntialgoritmit (leveys- ja syvyyssuuntainen, A*)
- Ongelmien esittäminen verkkona, reitinoptimointi -
Lisämateriaalia:
- Floreen: Tietorakenteet ja algoritmit -kurssin materiaali (pdf)
- Ertel: Introduction to Artificial Intelligence, Springer 2011. Chapter 6 "Search, Games and Problem Solving"
Paperiversio löytyy kurssikansiosta, Exactum C127. Kopioi, älä vie alkuperäistä!
- Udacity AI -kurssin etsintää käsittelevät videot: erityisesti First search program, A*
- A*-hakua ja muita etsintäalgoritmeja havainnollistava demo
Luento 2 (19.1.2016): Pelit
- Luentokalvot (pdf, 13.9 MB)
- Osallistu luentokyselyyn
-
Aiheet:
- minimax-algoritmi
- alpha-beta-karsinta
- tietokoneshakki -
Lisämateriaalia:
- alpha-beta-karsintaa havainnollistava monivalintatehtävä + video
- alpha-beta-karsintaa havainnollistava video (10 min; huomaa, että laskuharjoitustehtävänä ei ole videon ristinolla)
Luento 3 (25.1.2016): Logiikka tekoälyn historiassa | Todennäköisyysmallinnus I
- Luentokalvot (pdf, 3.1 MB)
- Aktivator
-
Aiheet:
- tietämyksen esittäminen logiikan avulla
- logiikkaohjelmoinnista ja sen ongelmista (lyhyesti)
- todennäköisyyslaskennan peruskäsitteitä: perusjoukko, tapahtumat -
Lisämateriaalia
- P. Tuominen, Todennäköisyyslaskenta I, Limes, 1994
- Ertel: Introduction to Artificial Intelligence, Springer, 2011. Kappale 7 "Reasoning with Uncertainty" (s. 122 asti)
- D. Barber: Bayesian Reasoning and Machine Learning, Cambridge University Press, 2012. Kappale 1 "Probabilistic Reasoning" (ladattavissa ilmaiseksi)
Muuta kiinnostavaa (vapaavalintaista):
- Ertel: Introduction to Artificial Intelligence, Springer, 2011. Chapter 5 "Logic Programming with PROLOG"
- GNU Prolog (käynnistyy laitoksen Linux-koneissa komennolla 'prolog')
- Wikipedia: Prolog
Luento 4 (26.1.2016): Todennäköisyysmallinnus II: Bayesin kaava
- Luentokalvot (pdf, 3.7 MB)
- Aktivator
-
Aiheet:
- ehdollinen todennäköisyys ja riippumattomuus
- Bayesin kaava (käsittely jatkuu ensi viikolla) -
Lisämateriaalia
- The Guardian: A formula for justice
- Better Explained: Understanding Bayes Theorem with Ratios
Luento 5 (1.2.2016): Todennäköisyysmallinnus III: Naivi Bayes -roskapostisuodatin
- Luentokalvot (pdf, 1.5 MB)
- Aktivator
-
Aiheet:
- naivi Bayes -malli
- roskapostisuodattimen toteutus -
Lisämateriaalia:
- Dr Dobbs Journal: Naive Bayesian text classification
- M. Sahami, S. Dumais, D. Heckerman, E. Horvitz (1998). "A Bayesian approach to filtering junk e-mail". AAAI'98 Workshop on Learning for Text Categorization.
Luento 6 (2.2.2016): Todennäköisyysmallinnus IV: Bayes-verkot | Koneoppiminen I
- Luentokalvot (pdf, 2.2 MB)
-
Aiheet:
- Bayes verkot
- datan generoiminen Bayes-verkosta
- approksimatiivinen ("Monte Carlo-") päättely Bayes-verkossa
- johdattelua koneoppimiseen esimerkkien kautta -
Lisämateriaalia
- Ertel: Introduction to Artificial Intelligence, Springer, 2011. Kappale 7.4 "Reasoning with Bayesian Networks"
- D. Barber: Bayesian Reasoning and Machine Learning, Cambridge University Press, 2012. Kappale 3 "Belief Networks" (ladattavissa ilmaiseksi)
Luento 7 (8.2.2016): Koneoppiminen II
- Luentokalvot (pdf; 1.0 MB)
- Aktivator
-
Aiheet:
- koneoppimisen lajit (ohjattu, ohjaamaton, palauteoppiminen, semisupervised, ...)
- lähimmän naapurin luokitin
- naivi Bayes -luokitin (taas!)
- neuroverkkoluokitin -
Lisämateriaalia:
- Data Mining with Weka MOOC: 3.3. "Using Probabilities (Naive Bayes classifier)"
- Weka 3: Data Mining Software in Java
- P. Domingos: A Few Useful Things to Know about Machine Learning (pdf)
- Wikipedia: Naive Bayes classifier
- C. Elkan: Nearest Neighbor Classification (pdf)
Luento 8 (9.2.2016): Neuroverkot
- Luentokalvot (pdf; 2.6 MB) – käsiteltiin vain sivulle 30 asti (itseorganisoiva kartta käsitellään seuraavalla viikolla)
-
Aiheet:
- neuroverkkotyyppejä
- neuroverkkojen oppimisesta
- perseptronialgoritmi (luokitin)
- Hopfielding verkko, Boltzmannin kone
- Kohosen itseorganisoiva kartta (SOM) –> seuraava viikko (luento 10) -
Lisämateriaalia:
- Wikipedia: Types of artificial neural networks
Luento 9 (15.2.2016): Digitaalinen signaalinkäsittely
- Luentokalvot (pdf, 4.9 MB)
-
Aiheet:
- tietokonegraafiikka ja kuvankäsittely
- kuvan ja äänen esitysmuodot
- signaalinkäsittelyn sovelluksia
- hahmontunnistus
- invariantit piirteet (SIFT/SURF) -- opeteltava perusidea (kolme vaihetta), ei yksityiskohtia -
Materiaalia:
- OpenCV -kirjasto
Luento 10 (16.2.2016): Luonnollisen kielen käsittely
- Luentokalvot (pdf, 3.6 MB)
- Aktivator
-
Aiheet:
- luonnollisen kielen käsittelyn sovelluksia
- lauseenjäsennys
- CYK-algoritmi -
Materiaalia:
- Coursera-MOOC: Natural Language Processing
- Wikipedia: CYK algorithm
Luento 11 (22.2.2016): Robotiikka
- Luentokalvot (pdf, 3.2 MB)
-
Aiheet:
- robotiikka tekoälyn "Grand Challengena"
- esimerkkejä scifi- ja todellisista roboteista
- Lego-robottien esittely
- Lejos-ohjelmointiympäristö
- esimerkkejä -
Ohjeita Lego Mindstorms -tehtävään:
- Robottiohjelmoinnin harjoitustyö (kevät 2011)
- aloita tästä: Yleistä NXT:n ohjelmoinnista leJOS:illa
- leJOS API -rajapintakuvaus (sis. kaikki käytettävissä olevat komennot), vaihtoehtoinen linkki
- leJOS -tutoriaali
Luento 12 (23.2.2016): EI LUENTOA
Luento 13 (29.2.2016): Vierailuluentoja tekoälyn huipulta
-
Aiheet:
- Matti Järvisalo: Moderni näkökulma logiikkaan tekoälytutkimuksessa (pdf; 2.9MB)
- Roman Yangarber: Real-life Applications of NLP
Luento 14 (1.3.2016): Kertausluento
-
Aiheet:
- kurssin aihepiirien kertaus
- shakkiturnauksen voittajan julistaminen
- kysymyksiä ja vastauksia
Laskuharjoitukset
(esimerkkiratkaisut tulevat näkyviin, kunhan vastaavat tehtävät on käsitelty käynnissä olevalla kurssilla)
-
Tehtävät (pdf) | esimerkkiratkaisut (pdf) | Reittiopas (ks. viikon 2 ratkaisu)
materiaali Reittiopas-tehtävään: Reittiopas1.zip
palautus viikolla 25.–29.2. -
Tehtävät (pdf) | esimerkkiratkaisut (pdf) | alpha-beta (java) | Reittiopas (java; sisältää myös viikon 1 ratkaisun)
materiaali tämän viikon Reittiopas-tehtävään: Reittiopas-astar.zip
palautus viikolla 1.–5.2. -
Tehtävät (pdf) | esimerkkiratkaisut (pdf) | spam-filtteri (java) | spam-filtteri (python)
materiaali roskapostisuodatintehtävään: spamham.zip
materiaali shakkitehtävään: Shakkibotti.zip | turnauspalvelin
palautus viikolla 8.–12.2. -
Tehtävät (pdf) | esimerkkiratkaisut (pdf) | auto (python) | varashälytin (python) | perseptroni (java) | lähin naapuri (java)
materiaali luokittelutehtäviin Perseptroni.zip (sis. MNIST-datan)
palautus viikolla 15.–19.2. -
Tehtävät (pdf) | esimerkkiratkaisut (pdf) | ratkaisu NLP-tehtävään (java)
materiaali koneoppimistehtävään: Weka-ohje | spirals.arff
materiaali hahmontunnistustehtävään: surf-package.zip
materiaali NLP-tehtävään (Java): NLP.zip
palautus viikolla 22.–26.2. -
Tehtävät (pdf) HUOM: Valmistaudu robotiikkatehtävään jo kotona.
materiaali robotiikkatehtävään: Terminator.java
ilmoittatuminen pajaan
HUOM: ei normaaleja laskareita vaan pajat viikolla 1.–4.3.