Keinotekoinen hermoverkko oppii ja tekee alykkaita paatoksia_tensorflow-teknologialla ratkotaan monimutkaisia ongelmia_Kari Roth_QALMARI

Keinotekoinen hermoverkko oppii ja tekee älykkäitä päätöksiä:

TensorFlow'lla ratkotaan monimutkaisia ongelmia

Qalmarin tiedemies, Kari Roth, suoritti TensorFlow -sertifikaatin ja auttaa nyt asiakkaita laajasti erilaisissa syväoppimiseen liittyvissä projekteissa.

Mikä on TensorFlow?

TensorFlow on Googlen kehittämä avoimen lähdekoodin kokonaisratkaisu koneoppimiseen. Siinä on kattava työkalujen, kirjastojen ja yhteisöresurssien ekosysteemi, jonka avulla tutkijat voivat hyödyntää huipputeknologiaa koneoppimisessa ja kehittäjät voivat helposti rakentaa ja ottaa käyttöön koneoppimiseen perustuvia sovelluksia.

Mitä eroa on koneoppimisella ja syväoppimisella?

Koneoppiminen (Machine Learning) käyttää algoritmeja tietojen jäsentämiseen, tiedosta oppimiseen ja tietoihin perustuvien päätösten tekemiseen opitun perusteella.

Syväoppiminen (Deep Learning) on keinotekoisiin hermoverkkoihin perustuva koneoppimisen tyyppi, jossa algoritmeja rakennetaan kerroksittain syvän hermoverkon luomiseksi. Keinotekoinen hermoverkko oppii ja voi tehdä älykkäitä päätöksiä yksin.

Mitä TensorFlow’n ja syväoppimisen avulla voidaan tehdä?

Tällä hetkellä syväoppiminen taitaa olla vasara, joka saa kaiken näyttämään naulalta. Syväoppiminen auttaa ennustamaan ”asioita” tilanteissa, joissa lähtödatan ja ennustettavan ”asian” välinen yhteys on monimutkainen ja vaikeasti algoritmisesti kuvattava. Mikä esimerkiksi erottaa kissan kuvan koirasta? Ihmisten on helppo huomata eroavaisuudet, mutta matemaattisen algoritmin kirjoittaminen asiasta on jo haastavampaa.

Syväoppimisen avulla pystytään muun muassa tunnistamaan kuvista elementtejä, analysoimaan tekstiä ja rakentamaan erilaisia suosittelujärjestelmiä, kuten Twitterin TensorFlow´lla luoma ”Ranked Timeline” -näkymä, jonka avulla käyttäjät eivät jää paitsi verkostonsa tärkeimmistä twiiteistä, vaikka seuraisivatkin tuhansia käyttäjiä. Monien esimerkiksi Googlen ja Facebookin tarjoamien toiminnallisuuksien taustalta löytyy myös Deep Learning -algoritmeja.

 

Esimerkkejä syväoppimisen hyödyntämisestä:

  • Kuvan luokittelu kahteen tai useampaan ryhmään. Kuva voi kuulua myös useampaan kuin yhteen ryhmään.
  • Kohteen havainnointi, paikannus ja luokittelu kuvasta. Kuvassa voi olla useampia kohteita eri luokista. Esimerkiksi autossa voi olla kamera, jonka kuvista halutaan paikantaa autoja, rekkoja, moottoripyöriä, jalankulkijoita jne.
  • Kuvan segmentointi ja uuden kuvan generointi, jossa luokitellaan pikselit eri luokkiin. Esimerkiksi auton kamerasta luokitellaan tie, tiemerkinnät, liikennemerkit, tien reuna, taivas tai lääketieteellisestä näytteestä erotellaan syöpäsolut ja terveet solut.
  • Vian ennustaminen. Esimerkiksi jonkin laitteen tai koneen toimintaa mittaavien anturien datasta ennustetaan vikaantumistodennäköisyyttä, jotta huolto voidaan suorittaa ennen pahempaa rikkoontumista.
  • Tekstin analysointi ja luokittelu. Esimerkiksi kirjoitetusta arvostelusta päätellään, onko kyseessä positiivinen vai negatiivinen arvostelu.
  • Suositusjärjestelmät. Esimerkiksi mitä elokuvia käyttäjä mahdollisesti haluaisi katsoa katseluhistorian perusteella, kun tiedossa on muiden käyttäjien katseluhistoriat.

Minkälainen on TensorFlow sertifionti?

Varsinainen sertifiointi on koe, jonka suorittamiseen on viisi tuntia aikaa. Kokeessa rakennetaan ja opetetaan viisi mallia erilaisille dataseteille. Mallit arvostellaan koneellisesti asteikolla 1–5. Perusteita ja pisterajoja ei ole tarkkaan annettu. Kerrotaan vain, että pisteytys painottuu loppupään malleja päin. Malleja voi aikarajan puitteissa lähettää arvosteltavaksi, kuinka monta kertaa tahansa ja kaikki tehtävät annetaan kerralla. Eli, kun yhden osan mallia opetetaan, voi työskennellä toisen kanssa. Hyvänä vinkkinä luin jostain, että kaikkiin osiin kannattaa ensin tehdä jonkunlainen baseline-malli, ja sitten parannella niitä tarpeen mukaan.

TensorFlow-sertifikaatti on ollut tarjolla maaliskuusta 2020 asti.

Kuinka vaikea TensorFlow sertifikaatti on?

Syväoppiminen on kiinnostanut minua kovasti aina, ja olen aktiivisesti seurannut alan uutisia pyrkien pääsemään pintaa syvemmälle aiheesta. Olen myös omien harrastusprojektieni kautta päässyt harjoittamaan Deep Learning -taitojani jo jonkin aikaa.

TensorFlow-sertifikaattia varten suoritin Courseran kurssin, joka käytännössä käy läpi kaiken, mitä sertifikaatin suorittamiseen tarvitaan. Käsitteellisesti kurssissa ei ollut paljoakaan uutta, ja keskityinkin enemmän siihen, miten juuri TensorFlow’lla malleja rakennetaan, koulutetaan ja käytetään. Treenasin myös paljon erilaisilla dataseteillä. Tämän jälkeen itse koe ei ollut kovin vaikea, kun tietää, mitä tekee. Harjoittelu oli tärkeä osa prosessia, koska muuten viiden tunnin aikaraja olisi voinut osoittautua haasteelliseksi mallien saamisessa vaadittavalle tasolle.

Minkälaisia projekteja odotat pääseväsi toteuttamaan TensorFlow’lla?

Teknologiana TensorFlow on minulle niin innostava, että se tekee projektista kuin projektista mielenkiintoisen. Seuraavana sivuprojektina on tarkoitus virittää Qalmarin loungessa sijaitsevan olutkaapin kylkeen videokamera, ja sen kuvista tunnistaa ja seurata, mitä kaappiin menee sisään ja mitä tulee ulos.

Kari Roth erityisosaaminen ja teknologiat

KARI ROTH
Senior Software Developer,
Certified Google TensorFlow Developer
Työkokemus: 20 vuotta
Teknologioita: C/C++, MATLAB, LabVIEW, Python, Git, ROS, Embedded, Signal Processing, Elixir, Neo4J, TensorFlow

Saku Hautala_co-founder_QALMARI

Tarvitsetko TensorFlow-osaamista?

Ota yhteyttä, niin jutellaan lisää!

Saku Hautala
COB
saku.hautala@qalmari.fi
+358 40823 8512

JAA KIRJOITUS

Saattaisit olla kiinnostunut myös tästä:

Kaupungin liikennevirtojen simulaattori rakentui Elixir-ohjelmointikielellä, case: Turku City Data

Simulaatioexpertti, Kari Roth, toteutti Turku City Datalle kaupungin liikennevirtojen simulointiin tarkoitetun työkalun funktionaalisen Elixir-ohjelmointikielen avulla.

Elixir toimii Erlang OTP -virtuaalikoneen päällä jossa ”Everything is a process”, eli prosessien luonti on suositeltavaa ja edullista.

"Kaiken kaikkiaan projekti oli todella mielenkiintoinen ja sitä oli hauska tehdä. Ja mikä parasta, asiakas oli tyytyväinen projektiin."

Seuraavaksi