Johdatus tekoälyyn

582216
5
Algoritmit ja koneoppiminen
Aineopinnot
Kurssilla käydään läpi tekoälyn ongelma-alueita ja niihin liittyviä ratkaisumenetelmiä koostuen luennoista, ohjelmointitehtävistä, harjoitustehtävistä, sekä kurssikokeesta.

Koe

10.03.2016 16.00 A111
Vuosi Lukukausi Päivämäärä Periodi Kieli Vastuuhenkilö
2016 kevät 18.01-01.03. 3-3 Suomi Teemu Roos

Luennot

Aika Huone Luennoija Päivämäärä
Ma 14-16 CK112 Teemu Roos 18.01.2016-01.03.2016
Ti 14-16 CK112 Teemu Roos 18.01.2016-01.03.2016

Harjoitusryhmät

Group: 1
Aika Huone Ohjaaja Päivämäärä Huomioitavaa
Ti 12-14 D122 Teemu Roos 25.01.2016—04.03.2016
Group: 2
Aika Huone Ohjaaja Päivämäärä Huomioitavaa
To 14-16 D122 Elias Jääsaari 25.01.2016—04.03.2016
Group: 3
Aika Huone Ohjaaja Päivämäärä Huomioitavaa
Pe 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
     

Kurssin suorittaminen

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ä.

 

Kirjallisuus ja materiaali

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):

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ä.


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

Luento 3 (25.1.2016): Logiikka tekoälyn historiassa | Todennäköisyysmallinnus I

Luento 4 (26.1.2016): Todennäköisyysmallinnus II: Bayesin kaava

Luento 5 (1.2.2016): Todennäköisyysmallinnus III: Naivi Bayes -roskapostisuodatin

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

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

Luento 11 (22.2.2016): Robotiikka

Luento 12 (23.2.2016): EI LUENTOA

Luento 13 (29.2.2016): Vierailuluentoja tekoälyn huipulta

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)

  1. Tehtävät (pdf) | esimerkkiratkaisut (pdf) | Reittiopas (ks. viikon 2 ratkaisu)
    materiaali Reittiopas-tehtävään: Reittiopas1.zip
    palautus viikolla 25.–29.2.
  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.
  3. 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.
  4. 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.
  5. 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.
  6. 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.