johdatus tekoälyn taustalla olevaan matematiikkaank aytt ointo hiipui siihen, ett a neuroverkot eiv...
TRANSCRIPT
Johdatus tekoalyn taustalla olevaanmatematiikkaan
Heli Tuominen
Informaatioteknologian tiedekuntaJyvaskylan yliopisto
3.11.2017
Heli Tuominen Johdatus tekoalyn taustalla olevaan matematiikkaan
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
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
Mita tekoaly on?
Kysytaanpa Googlelta! (Google Autodraw, Deepart)
Heli Tuominen Johdatus tekoalyn taustalla olevaan matematiikkaan
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
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
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
Ohjattu, ohjaamaton ja vahvistettu oppiminen
Heli Tuominen Johdatus tekoalyn taustalla olevaan matematiikkaan
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
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
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
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
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
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
Keinotekoiset neuroverkot - esimerkki
Esimerkki: Syote vektori x = (x1, x2) ∈ R2, yksi kolmen neuroninpiilokerros, yhden neuronin ulostulokerros.
Heli Tuominen Johdatus tekoalyn taustalla olevaan matematiikkaan
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
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
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
Keinotekoiset neuroverkot - pisteiden erottaminen
Heli Tuominen Johdatus tekoalyn taustalla olevaan matematiikkaan
Heli Tuominen Johdatus tekoalyn taustalla olevaan matematiikkaan
W. Ertel: Introduction to Artificial Intelligence, Springer, 2011
ConvNetJS - Deep Learning in your browser
Playgroung TensorFlow
Heli Tuominen Johdatus tekoalyn taustalla olevaan matematiikkaan