johdatus tekoälyn taustalla olevaan matematiikkaank aytt ointo hiipui siihen, ett a neuroverkot eiv...

21
Johdatus teko¨ alyn taustalla olevaan matematiikkaan Heli Tuominen Informaatioteknologian tiedekunta Jyv¨ askyl¨ an yliopisto 3.11.2017 Heli Tuominen Johdatus teko¨ alyn taustalla olevaan matematiikkaan

Upload: others

Post on 15-Jul-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Johdatus tekoälyn taustalla olevaan matematiikkaank aytt ointo hiipui siihen, ett a neuroverkot eiv at olleet muita menetelmi a parempia ja silloisilla tietokoneilla ei voitu k asitell

Johdatus tekoalyn taustalla olevaanmatematiikkaan

Heli Tuominen

Informaatioteknologian tiedekuntaJyvaskylan yliopisto

3.11.2017

Heli Tuominen Johdatus tekoalyn taustalla olevaan matematiikkaan

Page 2: Johdatus tekoälyn taustalla olevaan matematiikkaank aytt ointo hiipui siihen, ett a neuroverkot eiv at olleet muita menetelmi a parempia ja silloisilla tietokoneilla ei voitu k asitell

Mita tekoaly on?

Wikipedia: Tekoaly on tietokone tai tietokoneohjelma, jokakykenee alykkaiksi laskettaviin toimintoihin.

Tekoalyefekti (AI effect) - tekoaly on kaikkea, mita ei ole vielatehty.

McCarthy 1955: ’The goal of AI is to develop machines thatbehave as though they were intelligent.’

Encyclopedia Britannica 1991: ’AI is the ability of digitalcomputers or computer controlled robots to solve problemsthat are normally associated with the higher intellectualprocessing capabilities of humans . . .’

Heli Tuominen Johdatus tekoalyn taustalla olevaan matematiikkaan

Page 3: Johdatus tekoälyn taustalla olevaan matematiikkaank aytt ointo hiipui siihen, ett a neuroverkot eiv at olleet muita menetelmi a parempia ja silloisilla tietokoneilla ei voitu k asitell

Mita tekoaly on?

Rich 1983: ’Artificial Intelligence is the study of how to makecomputers do things at which, at the moment, people arebetter.’

Turingin testi (1950): Tietokone on alykas, jos sen vastauksiaei pysty erottamaan ihmisen vastauksista.

Lovelacen testi (2001): Ohjelma/kone on alykas, josulkopuolinen ei pysty tulostusten perusteella sanomaan, mitenOhjelma/kone on paatynyt tuottamaan juuri ne.

Heli Tuominen Johdatus tekoalyn taustalla olevaan matematiikkaan

Page 4: Johdatus tekoälyn taustalla olevaan matematiikkaank aytt ointo hiipui siihen, ett a neuroverkot eiv at olleet muita menetelmi a parempia ja silloisilla tietokoneilla ei voitu k asitell

Mita tekoaly on?

Kysytaanpa Googlelta! (Google Autodraw, Deepart)

Heli Tuominen Johdatus tekoalyn taustalla olevaan matematiikkaan

Page 5: Johdatus tekoälyn taustalla olevaan matematiikkaank aytt ointo hiipui siihen, ett a neuroverkot eiv at olleet muita menetelmi a parempia ja silloisilla tietokoneilla ei voitu k asitell

Missa tekoalya kaytetaan?

hakukoneissa

kameroiden kasvojentunnistuksessa

alypuhelinten aaniohjauksessa

kohdennetussa mainonnassa

roskapostin suodatuksessa

kuvantunnistuksessa

laaketieteellisissa diagnooseissa

pysakointihallien rekisterintunnistimissa

itseajavissa autoissa

...

Heli Tuominen Johdatus tekoalyn taustalla olevaan matematiikkaan

Page 6: Johdatus tekoälyn taustalla olevaan matematiikkaank aytt ointo hiipui siihen, ett a neuroverkot eiv at olleet muita menetelmi a parempia ja silloisilla tietokoneilla ei voitu k asitell

Tekoalyn historiaa6 1 Introduction

Fig. 1.3 History of the various AI areas. The width of the bars indicates prevalence of themethod’s use

this Turing also identified a limit for intelligent programs. It follows, for example,that there will never be a universal program verification system.3

In the 1940s, based on results from neuroscience, McCulloch, Pitts and Hebbdesigned the first mathematical models of neural networks. However, computers atthat time lacked sufficient power to simulate simple brains.

1.2.2 Logic Solves (Almost) All Problems

AI as a practical science of thought mechanization could of course only begin oncethere were programmable computers. This was the case in the 1950s. Newell andSimon introduced Logic Theorist, the first automatic theorem prover, and thus alsoshowed that with computers, which actually only work with numbers, one can alsoprocess symbols. At the same time McCarthy introduced, with the language LISP,a programming language specially created for the processing of symbolic structures.Both of these systems were introduced in 1956 at the historic Dartmouth Confer-ence, which is considered the birthday of AI.

In the US, LISP developed into the most important tool for the implementationof symbol-processing AI systems. Thereafter the logical inference rule known asresolution developed into a complete calculus for predicate logic.

3This statement applies to “total correctness”, which implies a proof of correct execution as wellas a proof of termination for every valid input.

Kuva lahteesta [1].

Heli Tuominen Johdatus tekoalyn taustalla olevaan matematiikkaan

Page 7: Johdatus tekoälyn taustalla olevaan matematiikkaank aytt ointo hiipui siihen, ett a neuroverkot eiv at olleet muita menetelmi a parempia ja silloisilla tietokoneilla ei voitu k asitell

Koneoppiminen

Koneoppiminen on tekoalyn osa-alue, jossa kone/ohjelmaoppii pohjatiedon ja kayttajan toiminnan perusteella. Kaikkiaerilaisia tilanteita varten ei ole erillista ohjetta vaan oppiminentapahtuu kokemuksen pohjalta.

Mitchell 1997: A computer program is said to learn fromexperience E with respect to some class of tasks T andperformance measure P if its performance at tasks in T, asmeasured by P, improves with experience E.

Neuroverkot, syvaoppiminen, paatospuut, tukivektorikoneet,Bayes-verkot

Heli Tuominen Johdatus tekoalyn taustalla olevaan matematiikkaan

Page 8: Johdatus tekoälyn taustalla olevaan matematiikkaank aytt ointo hiipui siihen, ett a neuroverkot eiv at olleet muita menetelmi a parempia ja silloisilla tietokoneilla ei voitu k asitell

Ohjattu, ohjaamaton ja vahvistettu oppiminen

Heli Tuominen Johdatus tekoalyn taustalla olevaan matematiikkaan

Page 9: Johdatus tekoälyn taustalla olevaan matematiikkaank aytt ointo hiipui siihen, ett a neuroverkot eiv at olleet muita menetelmi a parempia ja silloisilla tietokoneilla ei voitu k asitell

Ohjattu, ohjaamaton ja vahvistettu oppiminen

Ohjattu oppiminen Konetta opetetaan luokitellun aineiston(syote-tavoite-parit) avulla. Halutaan, etta kone osaa tehdaluokittelun samankaltaiselle aineistolle. (Kasinkirjoitettujennumeroiden tunnistus.)

Ohjaamaton oppiminen Jaljittelee ihmisen oppimista.Opettamiseen kaytetaan raakadataa, josta pyritaan loytamaansamankaltaisuuksia ja suhteita eri syotteiden valilla.(Akateemikko Teuvo Kohosen (1934) 1980-luvulla kehittamaitseorganisoituva kartta.)

Vahvistettu oppiminen Kone oppii ympariston antamanpalautteen perusteella. (Robotiikka.)

Heli Tuominen Johdatus tekoalyn taustalla olevaan matematiikkaan

Page 10: Johdatus tekoälyn taustalla olevaan matematiikkaank aytt ointo hiipui siihen, ett a neuroverkot eiv at olleet muita menetelmi a parempia ja silloisilla tietokoneilla ei voitu k asitell

Ohjattu oppiminen

Syote-tavoite-parien (x , y) valinta. (esim. kasinkirjoitetuntekstin tunnistamisessa kirjain/sana/rivi)

Opetusesimerkkijoukon valinta.

Syotteen ominaisuusvektorin x = (x1, . . . , xn) valinta.Montako ominaisuutta? Mitka ominaisuudet?

Opetusmenetelman -ja algoritmin valinta.Paatospuu/tukivektorikone/neuroverkko/...?

Alkuparametrien valinta.

Koneen opettaminen opetusesimerkkijoukon avulla.Parametrien paivittaminen.

Testaaminen testijoukon avulla.

Heli Tuominen Johdatus tekoalyn taustalla olevaan matematiikkaan

Page 11: Johdatus tekoälyn taustalla olevaan matematiikkaank aytt ointo hiipui siihen, ett a neuroverkot eiv at olleet muita menetelmi a parempia ja silloisilla tietokoneilla ei voitu k asitell

Ohjattu oppiminen - paatospuut

Puumaisen rakenteen avulla ennustetaan yksinkertaistenpaattelysaantojen ja datan ominaisuuksien avulla tutkittavanmuuttujan arvoja.

Esimerkki: Kuvataan paatospuulla sita, lahteeko ihminen toihinpyoralla. Valintaan vaikuttavia asioita ovat matkan pituus, saa jaihmisen virkeys. Paatospuun antamaa tulosta voisi vaikka soveltaabussiaikataulujen lahettamiseen puhelimeen siina tapauksessa, ettapyoraily ei kysyisena paivana huvita.

Heli Tuominen Johdatus tekoalyn taustalla olevaan matematiikkaan

Page 12: Johdatus tekoälyn taustalla olevaan matematiikkaank aytt ointo hiipui siihen, ett a neuroverkot eiv at olleet muita menetelmi a parempia ja silloisilla tietokoneilla ei voitu k asitell

Keinotekoiset neuroverkot

Jaljittelevat ihmisen aivojen toimintaa.

Keksittiin 1940-luvulla. Uusi aalto 1990-luvulla muttakayttointo hiipui siihen, etta neuroverkot eivat olleet muitamenetelmia parempia ja silloisilla tietokoneilla ei voitu kasitellaneuroverkkojen opettamisessa tarvittavia suuria datamaaria.

2010-luvulla koneiden nopeutuminen ja datan maaran valtavakasvaminen ovat kasvattaneet innostusta syvaoppimiseen(deep learning) =⇒ toinen uusi aalto!

Kuvantunnistus, konenako, puheentunnistus, kieltenkaantajat,pelit ja laaketieteelliset diagnoosit.

Heli Tuominen Johdatus tekoalyn taustalla olevaan matematiikkaan

Page 13: Johdatus tekoälyn taustalla olevaan matematiikkaank aytt ointo hiipui siihen, ett a neuroverkot eiv at olleet muita menetelmi a parempia ja silloisilla tietokoneilla ei voitu k asitell

Keinotekoiset neuroverkot

Koostuu syote- ja ulostulokerroksesta ja niiden valissa olevistapiilokerroksista.

Neuroverkko on funktio f : Rn → Rm.Syote on n-ulotteinen vektori x = (x1, x2, . . . , xn),piilokerrokset hoitavat laskutehtavan ja funktion arvof (x) = y = (y1, y2, . . . , ym) ∈ Rm saadaanulostulokerroksesta.

Heli Tuominen Johdatus tekoalyn taustalla olevaan matematiikkaan

Page 14: Johdatus tekoälyn taustalla olevaan matematiikkaank aytt ointo hiipui siihen, ett a neuroverkot eiv at olleet muita menetelmi a parempia ja silloisilla tietokoneilla ei voitu k asitell

Keinotekoiset neuroverkot

Piilokerroksien ja ulostulokerroksen jokaisessa neuronissalasketaan syotekerroksesta tai piilokerroksesta tulleidensyotteiden painotettu summa ja siihen lisataan neuroninvakiotermi.

Ennen neuronin tuloksen lahettamista seuraavalle neuronillesumma viedaan aktivointifunktioon.

Aktivointifunktiot muuttavat affiinin (eli ensimmaisen asteenpolynomin) syotteen epalineaariseksi.

Heli Tuominen Johdatus tekoalyn taustalla olevaan matematiikkaan

Page 15: Johdatus tekoälyn taustalla olevaan matematiikkaank aytt ointo hiipui siihen, ett a neuroverkot eiv at olleet muita menetelmi a parempia ja silloisilla tietokoneilla ei voitu k asitell

Keinotekoiset neuroverkot - esimerkki

Esimerkki: Syote vektori x = (x1, x2) ∈ R2, yksi kolmen neuroninpiilokerros, yhden neuronin ulostulokerros.

Heli Tuominen Johdatus tekoalyn taustalla olevaan matematiikkaan

Page 16: Johdatus tekoälyn taustalla olevaan matematiikkaank aytt ointo hiipui siihen, ett a neuroverkot eiv at olleet muita menetelmi a parempia ja silloisilla tietokoneilla ei voitu k asitell

Keinotekoiset neuroverkot - esimerkki

Syotevektorin komponentit kerrotaan piilokerroksen neuroneidenpainoilla w0

ij , i ∈ {1, 2}, j ∈ {1, 2, 3, 4}, lasketaan yhteen jasummaan lisataan piilokerroksen neuronin i vakiotermi bi :

z11 = w0

11x1 + w021x2 + b1 =

2∑i=1

w0i1xi + b1,

z12 = w0

12x1 + w022x2 + b2 =

2∑i=1

w0i2xi + b2,

z13 ja z1

4 lasketaan samaan tapaan. Nama summat viedaanpiilokerroksen aktivointifunktiolle, jolloin piilokerroksen neuronienantamat syotteet ulostulokerrokselle ovat

a1 = ϕ(z1), a2 = ϕ(z2), a3 = ϕ(z3) ja a4 = ϕ(z4).

Heli Tuominen Johdatus tekoalyn taustalla olevaan matematiikkaan

Page 17: Johdatus tekoälyn taustalla olevaan matematiikkaank aytt ointo hiipui siihen, ett a neuroverkot eiv at olleet muita menetelmi a parempia ja silloisilla tietokoneilla ei voitu k asitell

Keinotekoiset neuroverkot - esimerkki

Verkon antama tulos saadaan kayttamalla piilokerroksen jaulostulokerroksen valisia painoja ja aktivointifunktiota:

t = ϕ(z21 ) = ϕ

( 4∑i=1

w1i1ai

).

(Ohjatussa oppimisessa) tulosta verrataan syotetta x vastaavaantavoitteeseen y ja opetetaan verkkoa tuloksen ja tavoitteen valisenvirheen avulla.

Heli Tuominen Johdatus tekoalyn taustalla olevaan matematiikkaan

Page 18: Johdatus tekoälyn taustalla olevaan matematiikkaank aytt ointo hiipui siihen, ett a neuroverkot eiv at olleet muita menetelmi a parempia ja silloisilla tietokoneilla ei voitu k asitell

Keinotekoiset neuroverkot - parametrien merkinnat

l on kerrosindeksi, 0 on syote- ja L ulostulokerros

Nl = kerroksen l neuronien lukumaara,

w lij = kerroksen l − 1 neuronin i ja kerroksen l neuronin j

valilla oleva paino,

blj = kerroksen l neuronin j vakiotermi,

z lj = kerroksen l neuronia j vastaava summa

z lj =

Nl−1∑i=1

w lija

l−1i + bl

j ,

alj = kerroksen l neuronin j tulos

alj = ϕ(z lj ) = ϕ

( Nl−1∑i=1

w lija

l−1i + bl

j

),

missa ϕ on aktivointifunktio (voi vaihdella kerroksesta toiseen).Heli Tuominen Johdatus tekoalyn taustalla olevaan matematiikkaan

Page 19: Johdatus tekoälyn taustalla olevaan matematiikkaank aytt ointo hiipui siihen, ett a neuroverkot eiv at olleet muita menetelmi a parempia ja silloisilla tietokoneilla ei voitu k asitell

Keinotekoiset neuroverkot - pisteiden erottaminen

Heli Tuominen Johdatus tekoalyn taustalla olevaan matematiikkaan

Page 20: Johdatus tekoälyn taustalla olevaan matematiikkaank aytt ointo hiipui siihen, ett a neuroverkot eiv at olleet muita menetelmi a parempia ja silloisilla tietokoneilla ei voitu k asitell

Heli Tuominen Johdatus tekoalyn taustalla olevaan matematiikkaan

Page 21: Johdatus tekoälyn taustalla olevaan matematiikkaank aytt ointo hiipui siihen, ett a neuroverkot eiv at olleet muita menetelmi a parempia ja silloisilla tietokoneilla ei voitu k asitell

W. Ertel: Introduction to Artificial Intelligence, Springer, 2011

ConvNetJS - Deep Learning in your browser

Playgroung TensorFlow

Heli Tuominen Johdatus tekoalyn taustalla olevaan matematiikkaan