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

24.10.2014 09.00 A111
Vuosi Lukukausi Päivämäärä Periodi Kieli Vastuuhenkilö
2014 syksy 04.09-21.11. 1-1 Suomi Teemu Roos

Luennot

Aika Huone Luennoija Päivämäärä
To 10-12 B123 Teemu Roos 04.09.2014-17.10.2014
Pe 12-14 B123 Teemu Roos 04.09.2014-17.10.2014

Harjoitusryhmät

Group: 1
Aika Huone Ohjaaja Päivämäärä Huomioitavaa
Ti 16-18 C222 Mikko Kumara 08.09.2014—17.10.2014
Group: 2
Aika Huone Ohjaaja Päivämäärä Huomioitavaa
To 12-14 CK111 Noora Imberg 08.09.2014—17.10.2014
Group: 3
Aika Huone Ohjaaja Päivämäärä Huomioitavaa
Pe 14-16 C222 Noora Imberg 08.09.2014—17.10.2014

Information for international students

The course is only given in Finnish.

Uutisia

  • Uusintakokeen 28.11.2014 tulokset (vaatii kirjautumisen)
  • Laskaripisteet mukana kurssikoetta seuraavissa 1. ja 2. erilliskokeessa. Arvosanaksi tulee parempi vaihtoehdoista "laskarit+koe" vs "pelkkä koe".
  • Uusintakoe 28.11.2014. Laskaripisteet voimassa (jos niistä on etua). Lunttilappu sallittu (ks. alla).
  • Kurssin tulokset (vaatii kirjautumisen)
  • ANNA KURSSIPALAUTETTA. Sillä on väliä.
  • Erilaisia AI-aiheisia kirjastoja ja sovelluksia moneen lähtöön: GNU/LInux AI & Alife HOWTO
  • Jos haluat jatkaa tekoälyopintoja, laitoksella on tarjolla ainakin koneoppimisen ja todennäköisyysmallinnuksen sekä laskennallisen luovuuden kursseja. Muista, että voit suorittaa myös Aallon kursseja; siellä on tarjolla mm. joitakin neuroverkkoaiheisia kursseja.
  • Kokeessa lunttilappu sallittu: kaksipuolinen käsin kirjoitettu A4. Myös laskin on sallittu, mutta ei pakollinen. Lunttilappu on palautettava vastauspaperien mukana. (Sen saa halutessaan myöhemmin takaisin.)
  • 17.10.2014 Shakkiturnauksen jaettu ykkössija boteille, joiden sijoitus oli parempi kuin Deep Gluen: Aozibot, apabot, hyyry, Passenger ja Shallow Red. Onnittelut voittajille!
  • 17.10.2014 Kertausluento: AktivatorPlus
  • 10.10.2014 Lego-pajailmoittautuminen: klik hier
  • 26.9.2014 Viikon 3 Shakki-tehtävän tehtäväpohjasta on julkaistu päivitetty versio, koska osalla opiskelijoista oli ongelmia shakkitekoälyn lataamisessa palvelimelle. Shakkitehtävän voi tästä syystä merkitä tehdyksi myös myöhemmissä laskuharjoitustilaisuuksissa.
  • 20.9.2014 Uusia ryhmiä ei perusteta. Jonossa olijat voivat vieraillu muissa ryhmissä (etenkin tiistain ryhmässä on paljon tilaa).
  • 9.-12.9.2014 Ensimmäiset laskuharjoituskerrat. HUOM: Ilmoittaudu tarvittaessa jonoon (ryhmä 99). Uusi ryhmä perustetaan tarvittaessa.
  • 4.9.2014 Ensimmäinen luento (to 10-12). Läsnäolo suositeltavaa, mutta ei pakollista.
  • 26.8.2014 Ilmoittautuminen alkaa.

Kurssin suorittaminen

Suoritus perustuu laskuharjoituksiin (33%) ja kurssikokeeseen (67%). (Tarkennus jälkikäteen: laskuharjoitukset 40% ja koe 60%.)

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 ensimmäinen luento torstaina 5.9.2014 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ä:

Vanhoja kurssi- ja erilliskokeita voi olla myös hyödyllistä katsella, vaikka joitain painotuseroja edellisvuosien kursseihin verrattuna onkin: esim. logiikkaa ei juuri vuoden 2011 jälkeen ole käsitelty.

Luento 1 (4.9.2014): Tekoälyn filosofiaa | Etsintäalgoritmit.

  • Luentokalvot (pdf, 4.1 MB) – paras-ensin-haku (A*) jäi 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 (5.9.2014): Pelit

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

Luento 4 (12.9.2014): Todennäköisyysmallinnus II: Naivi-Bayes-roskapostinsuodatin

Luento 5 (18.9.2013): Todennäköisyysmallinnus III: Bayes-verkkojen periaatteet

  • Luentokalvot (pdf, 3.0 MB)
  • Aiheet:
    - Bayes verkot
    - eksakti todennäköisyyspäättely Bayes-verkossa
    - datan generoiminen Bayes-verkosta
    - approksimatiivinen ("Monte Carlo-") päättely Bayes-verkossa
  • 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 6 (19.9.2013): Koneoppiminen

Luennot 7–8 (25.–26.9.2013): Neuroverkot

  • Luentokalvot (pdf; 3.9 MB)
  • Aiheet:
    - neuroverkkotyyppejä
    - neuroverkkojen oppimisesta
    - perseptronialgoritmi (luokitin)
    - Hopfielding verkko, Boltzmannin kone
    - Kohosen itseorganisoiva kartta (SOM)
  • Lisämateriaalia:
    - Wikipedia: Types of artificial neural networks

Luennot 9-10 (2.-3.9.2013): Digitaalinen signaalinkäsittely

  • Luentokalvot (pdf, 6.2 MB)
  • Aiheet:
    - tietokonegraafiikka ja kuvankäsittely
    - kuvan ja äänen esitysmuodot
    - signaalinkäsittelyn sovelluksia
    - kohinanpoisto
    - kuvantunnistus
    - invariantit piirteet (SIFT/SURF) -- opeteltava perusidea (kolme vaihetta), ei yksityiskohtia

Luento 11 (9.10.2013): Vierailuluento: Kinect-sensori | Robotiikka I

Luento 12 (10.10.2013): Vierailuluento: Laskennallinen luovuus | Robotiikka II

  • Aiheet:
    - Tony Veale: Topics in Computational Creativity (vierailuluento)
    - Lego-robottien esittely käytännössä
  • Lisämateriaalia:
    - materiaalia ja luennolla näytettyjä linkkejä laskennallisesta luovuudesta: RobotComix.com
    - Raffaello D'Andrea: The astounding athletic power of quadcopter (Youtube)

Luento 13 (16.10.2013): Ei luentoa

  • Luennon ja laskuharjoitusryhmien sijaan pajat.

Luento 14 (17.10.2013): Kertausluento

  • Luento-osallistumislinkki: AktivatorPlus
  • Aiheet:
    - kurssin aihepiirien kertaus
    - shakkiturnauksen voittajan julistaminen
    - kysymyksiä ja vastauksia
     

Laskuharjoitukset

(esimerkkiratkaisut palaavat näkyviin, kun vastaavat tehtävät on käsitelty käynnissä olevalla kurssilla)

  1. Tehtävät (pdf)esimerkkiratkaisut (pdf)
    lisämateriaali Reittiopas-tehtävään: Reittiopas1.zip
  2. Tehtävät (pdf)esimerkkiratkaisut (pdf)
    lisämateriaali Reittiopas-tehtävään: Reittiopas-astar.zip
  3. Tehtävät (pdf) – esimerkkiratkaisut (pdf)
    lisämateriaali shakkitehtävään: Shakkibotti.zip (päivitetty 26.9.) | shakkiturnauspalvelin
  4. Tehtävät (pdf) – esimerkkiratkaisut (pdf)
    lisämateriaali numerontunnistustehtäviin: Perseptroni.zip
  5. Tehtävät (pdf) – esimerkkiratkaisut (pdf)
    lisämateriaali Weka-tehtävään: spirals.arff | Weka-ohje
    lisämateriaali kohinanpoistotehtävään: denoise.py | kuva.png | Java-versio
    lisämateriaali kuvantunnistustehtävään: surf-package.zip
  6. Tehtävät (pdf)
    lisämateriaali robotehtävään: Terminator.java