sunnuntai 23. huhtikuuta 2017

Luento 24.4. Koneoppiminen


Luennon aluksi muisteltiin edellisen viikon asioita lyhyesti, mm. Matlab-demoa, jolla voidaan piirtää hiirellä projektiosuora kaksiulotteisen datan koordinaatistoon. Kun kaksi pistettä suoralta on merkitty, Matlab-skripti projisoi datan tälle suoralle ja piirtää tuloksena saatavien yksiulotteisten näytteiden jakauman sekä luokitteluprosentin. Hyvillä projektiosuorilla data oli täydellisesti luokiteltavissa, mutta huonoilla joukot menivät päällekkäin projisoinnin jälkeen. Fisherin lineaarinen erottelija laskee tämän suoran automaattisesti niin että erottelu on optimaalinen.

Tukivektorikone ja logistinen regressio ovat myös lineaarisia luokittimia, mutta niiden opetusalgoritmi on eri kuin LDA:n. Tukivektorikoneen erityispiirre on sen käyttö yhdessä kernelitempun kanssa ja logistisen regression ominaisuutena on sen todennäköisyystulkinta: LR antaa myös luokan todennäköisyyden, ei pelkästään ennustettua luokkaa.

Tämän jälkeen paneuduttiin hermoverkkoihin sekä niiden opetukseen, ja mainittiin  lyhyesti opetusalgoritmin perustuvan derivaattaan ja ketjusääntöön. Näiden avulla voidaan päätellä suunta, jossa luokitteluvirhe pienenee jyrkimmin, ja kyseiset kaavat löytyvät esim. täältä. Perus-backpropagationin lisäksi on olemassa kehittyneempiä ja nopeampia opetusalgoritmeja, ja esim. Matlabissa niitä on lähes parikymmentä. Olennaisin ero algoritmien välillä on niiden nopeudessa ja muistin tarpeessa.
Luentotauolla Matlabilla opetettiin hermoverkko, joka osasi tunnistaa eurooppalaisista rekisterikilvistä kerättyjä merkkejä.Opetus kesti noin 15 minuuttia, ja virheen kehittyminen on esitetty oikealla olevassa kuvassa. Opetuksen aikana mitattiin luokittelijan virhettä opetusaineistossa (10 000 merkkiä) sekä erillisessä testiaineistossa (1 000 merkkiä). Kuvasta nähdään että virhe oli selvästi pienempi opetusaineistolla kuin testijoukossa. Ilmiöstä käytetään nimeä ylioppiminen, ja se tarkoittaa että järjestelmä alkaa oppia opetusaineiston epäolennaisia ja satunnaisia ominaisuuksia, jotka eivät ole yleisesti voimassa. Ensisijainen ratkaisu tähän on lisätä opetusmateriaalin määrää (joko todellisella uudella datalla tai augmentoimalla käytettävissä olevaa dataa; esim. venyttelemällä kuvia, lisäämällä kohinaa jne.).

 

Viime perjantaina valverkkoa testattiin esimerkkikuvilla, joista näytettiin hiirellä merkin sijainti. Testissä havaittiin luokittelun toimivan täysin oikein kun merkki oli hyvin laatikon sisällä. Jos merkin lisäksi 10x10-laatikon sisällä oli muutakin, luokittelu meni väärin.
Tavallisen hermoverkon herkkyys merkin oikealle kohdistukselle on yleinen ongelma. Tämä on saatu valtaosin ratkaistua uudemmissa ns. konvoluutioverkoissa, jotka esiteltiin alun perin jo 1980-luvulla, mutta ovat saavuttaneet valtavan suosion vasta laskentatehon lisäännyttyä 2010-luvulla. Syvät (yli 3 tasoa; jopa 1000 tasoa) konvoluutioverkot ovat aiheuttaneet läpimurron kuvan- ja puheentunnistuksessa.


Lopuksi vilkaistiin tuoreita esimerkkejä syvillä hermoverkoilla saavutetuista tuloksista:

  • Image captioning, joka generoi kuvasta tekstimuotoisen kuvauksen.
  • @DeepDrumpf, joka generoi Tweettejä Donald Trumpilta oppimallaan tyylillä.
  • Microsoftin rohkea mutta valitettavasti hyökkäyksen kohteeksi joutunut Tay-botti. [The Vergen artikkeli; ei lapsille]
  • Visual dialog, joka keskustelee kanssasi saamastaan kuvasta. Kokeile myös demoa.
  • TTY:n iänarviointidemo.
  • Suomi24-aineistolla opetettu suomenkielinen tekstigeneraattori, joka oppii tekstin tuottamisen Suomi24-aineistosta:
    • 1. iteraatio: kusta siin koista siin kuusta siin kuiken kaisin kuukan kuinan koikan ja kainan 
    • 20. iteraatio: perkamentti ja sitten koskeen kanssa tulee tulevaiset halla-aho soini perussuomalaiset halla-aho soini perussuomalaiset halla-aho soini perussuomalaiset halla-aho soini perussuomalaiset halla-aho soini
    • 40. iteraatio: viimeistä mieltä on myös kerrattu ja ollaan tulevaan vaikutus olisi lisää mitkakin kannatus oli saa näyttää suomalaisesta kaupankäyntikoneelle. mutta kuinka paljon kaikkee samanlaisia ei ole koko kun tarjoilun laittaa kun miten on maanantuisin tarkoituksen aikana kanssa.
      http://www.iltasanomat.fi/kotimaa/art-1288707252824.html?pos=ok-nln
      http://www.taloussanomat.fi/2114965
    • 60. iteraatio: hullulta kun ajattelee täällä pitkään suuri nyt kuitenkin itseäni pitäisi olla rahat oikeasti tämän kanssa kun oli kalliilla ja siitä tuli kohtaan....
      http://www.youtube.com/watch?v=houkgurikqq
      minä kaikki katsoa hankkia kun ei ole mitään palstan   katsella ja kuin arvokkaalla kokemuksia ja siitä enää tai kotittaa pieneneen ollen muutama pelkästään, että olen lähinnä kaikki tarkoittaa

Ei kommentteja:

Lähetä kommentti