Pitkän kehitystyön ansiosta tekoäly ja koneoppiminen valtaavat sovelluksia lukuisilla eri aloilla. Datamassojen kerääminen ja käsittely vaativat valtavasti laskentaa, joka suoritetaan yleensä pilvessä. Päätelmien tekeminen ja lopputulosten muodostaminen kannattaa usein kuitenkin tehdä paikallisesti verkon reunalla. Näin voidaan parantaa toiminnan nopeutta, lisätä turvallisuutta ja säästää kustannuksissa.
Artikkelin kirjoittaja Adil Yacoubi toimii Microchipin teknisen markkinoinnin insinöörinä EMEA-alueella. |
Tekoälyä (AI) ja koneoppimista (ML) hyödynnetään monissa hyvinkin erityyppisissä sovelluksissa: matkailu, pankki- ja rahoituspalvelut, teollisuustuotanto, elintarvikeala, terveydenhoito, logistiikka, kuljetusala, viihde jne.
Yksi tunnetuimmista sovelluskohteista on autonominen ajoneuvo, joka pystyy tunnistamaan esteet, jalankulkijat ja muut tiellä liikkuvat autot koneoppimisen avulla. Muita tunnettuja AI/ML-sovelluksia ovat esimerkiksi sairauksien havaitseminen ja ennustaminen sekä elektroniikan piirilevyjen tarkastaminen.
Käyttöönotto kiihtyy
Yksi keskeinen tekoälyn ja koneoppimisen käyttöönottoa nopeuttava tekijä on tietokoneiden laskentatehon jatkuva kasvu, joka mahdollistaa monimutkaisten matemaattisten laskelmien suorittamisen helposti ja nopeasti.
Käytettävissä on myös entistä enemmän algoritmeja, jotka auttavat mallien luomisessa ja tekevät datan perusteella päättelemisestä helpompaa ja nopeampaa. Eri maiden hallitukset ja yritykset myös investoivat valtavasti tälle alueelle.
Tekoälyn ja koneoppimisen soveltamista tukevat helppokäyttöiset työkalut, jotka auttavat muitakin kuin datatieteilijöitä luomaan ja ottamaan käyttöön uusia malleja, ovat hyödyntämisessä keskeisellä sijalla. Niitä on yhä enemmän tarjolla kaikkien ulottuvilla.
Vaikka mallien luominen toteutetaan pilvipalvelujen huipputehokkaissa tietokoneissa, päättely halutaan usein tehdä paikallisesti. Tämä tuo lukuisia etuja esimerkiksi lisäturvallisuutena, koska paikallisesti toimittaessa ei olla yhteydessä ulkomaailmaan. Paikallinen toiminta verkon reunalla tarkoittaa myös, että kaistanleveyttä ei haaskata eikä ylimääräisiä kuluja synny datan lähettämisestä pilveen ja tulosten palauttamisesta takaisin.
Verkon reunalla tapahtuvan päättelyn tärkeimpiä etuja ovat:
- Reaaliaikainen toiminta/välitön vaste
- Alhainen latenssi, turvallinen toiminta
- Alemmat kustannukset
- Verkon kaistanleveyden tehokas käyttö, vähemmän datansiirtoa
- Luotettava toiminta ajoittaisella yhteydellä
- Parempi asiakaskokemus
- Nopeampi vasteaika
- Yksityisyys ja turvallisuus
- Vähäisempi siirrettävä datamäärä parantaa yksityisyyttä
- Pienempi tehonkulutus
- Nopeaa datansiirtoa ei tarvita
- Paikallinen oppiminen
- Suorituskyky paranee, kun jokainen tuote oppii erikseen
Latenssi on hyvä kannustin tehdä päätelmiä paikallisesti, koska tietojen lähettämistä ja tulosten palauttamista ei tarvitse odottaa. Verkon reunalla tapahtuva päättely voi merkittävästi auttaa käyttäjiä, kun koneoppimista voidaan siirtää huippuluokan pilvikoneista tehokkaisiin mikro-ohjaimiin ja prosessoriyksikköihin.
Mitä on tekoäly ja koneoppiminen?
Tekoälyn käsite syntyi 1950-luvulla. Pohjimmiltaan tekoäly korvaa ohjelmointiproseduurin luomalla dataan perustuvia algoritmeja sen sijaan, että ne kirjoitettaisiin manuaalisesti perinteiseen tapaan. Koneoppiminen puolestaan on tekoälyn alaryhmä, jossa kone yrittää poimia oleellisia tietoja annetusta datasta. Koneelle annetaan esivalmisteltua dataa ja sitä pyydetään sen jälkeen luomaan algoritmi, joka auttaa ennustamaan tuloksia uusille tuoreille datajoukoille.
Koneoppiminen perustuu konseptiin, jota kutsutaan ’ohjatuksi oppimiseksi’. Tässä tekniikassa data merkitään ja tulokset perustuvat näihin merkintöihin. Samalla luodaan myös malli näiden merkintöjen perusteella. Toinen tekniikka on ns. syväoppiminen, joka hyödyntää paljon monimutkaisempia algoritmeja, eikä dataa ole merkitty. Tässä artikkelissa tarkastellaan pääasiassa verkon reunalla paikallisesti tapahtuvaa (Edge ML) ohjattua oppimista.
Koneoppimisen peruselementti on neuroverkko, joka koostuu solmukerroksista, joiden kullakin solmulla on yhteys tuloihin tai seuraaviin kerroksiin. Neuroverkkoja on useita tyyppejä. Mitä enemmän siirrytään koneoppimisesta syvään oppimiseen, sitä enemmän nähdään yhä monimutkaisempia verkkoja. Syväoppiminen sisältää myös joitakin palautemekanismeja, kun taas yksinkertaisissa ML-malleissa on pelkistettyjä eteenpäin-toimintoja, jotka siirtyvät datasta lähtöön tai laskentatulokseen.
Näin konetta koulitaan
Koneoppimisen ensimmäinen askel on datankeruu. Kun keskitytään ohjattuun oppimiseen, kerätään merkittyjä dataryhmiä, jotta mallit voidaan löytää oikein. Datan laatu määrää, kuinka tarkka malli on. Data täytyy koota ja muokata satunnaiseksi – jos se on liian organisoitua, malleja ei luoda oikein ja voidaan päätyä huonolaatuisiin algoritmeihin.
Toinen vaihe on puhdistaa ja poistaa epätoivottu data. Kaikki datajoukot, joista puuttuu tietoja, tulisi poistaa. Myös ne tilat, joiden tietoja ei tarvita tai tilat, jotka ovat tyypillisesti tuntemattomia, tulee poistaa.
Sen jälkeen data on jaettava kahteen osaan, joista toinen on koneen koulutusta ja toinen testausta varten.
Kolmas vaihe on algoritmin opettaminen. Tämä on jaettu kolmeen jaksoon. Ensimmäinen askel on valita koneoppimisen luokittelualgoritmi. Niitä on tarjolla useita ja ne soveltuvat erityyppisille tiedoille. Seuraavassa on esimerkkejä koneoppimisen luokittelualgoritmeista:
- Bonsai-puurakenne
- Päättelypuu-rakenne
- Tehostettu puurakenne
- TensorFlow Lite mikro-ohjaimille
- PME (Pattern Matching Engine)
On tärkeä valita oikea mallirakenne, sillä se määrää vasteen, joka saadaan lähtöön, kun ML-algoritmi on suoritettu kerätylle datalle. Tämä saattaa vaatia datatieteilijän taitoja, mutta se voidaan myös jättää hoidettavaksi automaattiselle koneelle, joita useat mallinluonnin työkalut tarjoavat.
Toinen alavaihe on mallin harjoitteluoperaatio, joka koostuu useista iteraatiokierroksista eri kerrosten painotusten ja mallin yleisen tarkkuuden parantamiseksi.
Sen jälkeen malli on evaluoitava, mikä tehdään testaamalla mallia datan osajoukolla - juuri sillä, joka on säilytetty tulevaa testausta ja evaluointia varten. Tämä datajoukko on mallille tuntematon. Näin voidaan verrata mallin antamaa tulosta tunnettuihin tuloksiin.
Kun nämä vaiheet on suoritettu, voidaan käyttää luotua mallia ja validoida tulokset tekemällä päätelmiä kohteista. Ideana on viedä malli kentälle, antaa sille syötteitä ja katsoa, ovatko tulokset oikein.
Microchipin ohjelmistot ja työkalut
Microchip on tehnyt tämän alueen yhteistyötä monien kolmansien osapuolten kanssa. Näitä yrityksiä ovat esimerkiksi Edge Impulse, Motion Gestures ja SensiML.
Microchip tukee myös suosittuja kehysrakenteita. Tällainen on esimerkiksi TensorFlow Lite For Microcontrollers, joka on osa Microchip Harmony -rakennetta. Sitä voidaan käyttää mallien luomiseen Microchipin kaikille piireille, paitsi nykyisille 8 bitin ohjaimille. Yhtiön muut mikro-ohjaimet ja prosessorit ovat kuitenkin yhteensopivia ja tukevat TensorFlow Litea.
Microchipin mikro-ohjaimet ja prosessoriratkaisut tukevat monenlaisia sovelluksia kuten älykästä sulautettua konenäköä. Ne sopivat hyvin myös ennakoivaan ylläpitoon ja huoltoon, joka perustuu esimerkiksi tärinän anturointiin, tehon mittaamiseen tai äänisignaalien valvontaan. Piirivalikoimaa voidaan myös käyttää eleiden tunnistamiseen, ja yhdessä kosketustoimintojen kanssa ne helpottavat ihmisen ja koneen välisen käyttöliittymän hallintaa.
Lisäksi Microchip tarjoaa tehokkaita PCI-kytkimiä, jotka mahdollistavat GPU-yksiköiden liittämisen yhteen ja auttavat näin mallin koulutuksessa. Datankeruu voidaan suorittaa mikro-ohjaimilla, prosessoriyksiköillä, FPGA-piireillä ja antureilla. Kaikki nämä ovat tarjolla Microchipin piirivalikoimissa. Datan validointi ja päättelyprosessi voidaan puolestaan suorittaa mikro-ohjaimilla, prosessoreilla tai FPGA-piireillä.
Kaiken kaikkiaan mainitut ratkaisut tekevät ML-sovelluksesta helposti toteutettavan Microchipin piirien avulla.
Mitä tulee ohjelmistoihin, Microchipin AI/ML-koulutussivusto on mainio paikka tutustua yhtiön uusimpiin ratkaisuihin.
Suosittuja kehysrakenteita tukevan Microchip Harmonyn lisäksi tarjolla on useita koneoppimiseen tarkoitettuja ohjelmistoja yhtiön lukuisten kumppanuuksien ansiosta.
Yksi kumppaniyrityksistä on Edge Impulse, jolla on täydellinen TinyML-ratkaisu, jonka avulla voidaan helposti kerätä dataa, rakentaa malli ja ottaa se käyttöön. Yhtiö käyttää TensorFlow Litea mikro-ohjaimille. Yksi tärkeimmistä eduista on se, että Edge Impulsen koodi on täysin avointa ja rojaltivapaata.
Toinen tärkeä yhteistyökumppani on Motion Gestures, joka on erikoistunut eleiden tunnistamiseen. Tätä voidaan hyödyntää ihmisen ja koneen välisen käyttöliittymän rakentamisessa. Tämä työkalu voi minuuteissa auttaa luomaan ja ottamaan käyttöön erilaisia eleitä lyhentäen näin ohjelmistojen kehitysaikaa. Se tarjoaa hyviä tuloksia eleiden tunnistukseen, jossa lähestytään testeissä jo 100 % tunnistusvarmuutta.
Tätä toimintoa voidaan soveltaa kahdella eri tavalla: joko koskettamalla klassiseen tapaan tai liikkeiden avulla hyödyntämällä erityisiä liikkeiden ilmaisuun tarkoitettuja antureita (IMU).
Näillä alkuun
Microchip tarjoaa useita piirisarjoja, joiden avulla kehittäjät pääsevät helposti alkuun AI- ja ML-sovellusten suunnittelussa. Mikro-ohjainten puolella tarjolla on SAMD21 ML sekä sitä varten suunniteltu ML-evaluointipaketti TDK:n MEMS-anturin kera. Toisessa versiossa hyödynnetään Boschin valmistamaa IMU-anturia.
Liike-eleiden puolella tarjolla on demosarja, johon kuuluu SAMC21 Xplained Pro sekä Qtouch-kosketuslevy. Kyseessä on työkalu, jonka avulla on helppo aloittaa eleitä tunnistavan ML-sovelluksen suunnittelu.
Integroitu graafinen kosketuslevy (IGaT) hyödyntää ML-tekniikkaa. Sen mukana tulee valmis laiteohjelmisto, joka sisältää myös eleiden tunnistusdemon monien muiden demojen lisäksi (autot, kotijärjestelmät, viihde jne.)
Adafruit EdgeBadge - TensorFlow Lite on toinen sarja, joka hyödyntää suoraan TensorFlow Litea.
Siinä on mukana 2 tuuman TFT-näyttö. EdgeBadgea hyödynnetään yleisesti Arduino-yhteisössä. Tarjolla on useita sovellusesimerkkejä, kuten siniaaltodemo, eleohjausdemo ja puhedemo.
Huippuluokan sovellusten puolella PolareFire-videosarjassa on liitännät kaksoiskameralle, MIPI-sarjaväylälle ja HDMI-videolle sekä 2 gigatavun DDR-muisti, 4 gigaa SDRAM-muistia, USB2UART-liitäntä ja gigatavun SPI-flash.
Paketti tarjoaa ML-mallia käyttävän tai siihen pohjautuvan demosarjan esineiden tunnistamiseen.
Lisätietoja täällä.