GenAI opetettava kone
Taustatietoa opetettavasta koneesta
Opetettava kone on ensimmäinen hankkeessamme kehitetty sovellus, joka on suunniteltu erityisesti perusopetusikäisten käyttöön soveltuvaksi. Hankkeemme tavoitteena on saada oppijat, opettajat ja opettajaksi opiskelevat ymmärtämään tekoälyyn / koneoppimiseen liittyviä turvallisuuskysymyksiä, teknologioita ja malleja kokeilujen ja keksimisen kautta. Kaikki kehitystyö perustuu korkeatasoiseen kansainväliseen tutkimukseen.
Opetettavan koneen kehitystyön yhteydessä on toteutettu Joensuussa ja Oulussa koulukokeiluja, joihin on osallistunut useita satoja 4. ja 9. luokkalaisia koululaisia. Saatujen kokemusten avulla sovellusta on kehitetty edelleen. Olemme julkaisseet tälle sovellukselle oppimateriaalit, jotka löytyvät osoitteesta: https://www.generation-ai-stn.fi/materiaalit
Voit käyttää sovellusta millä tahansa laitteella
Generation AI hankkeessa kehitettävät sovellukset ovat responsiivisia, eli ne toimivat niin tietokoneella, tabletilla kuin puhelimella käytettynä.
Voit siis valita sinulle sopivan laitteen ja käyttää opetettavaa konetta sillä.
A. Opetusdatan lisääminen ja tekoälyn opettaminen: avausnäkymä eli tyhjä opetettava kone
Generation Ai hankkeessa kehitetty opetettava kone edustaa ohjattua koneoppimista.
Opetusdata: Käytännössä se tarkoittaa sitä, että opetusdatan syöttämisen yhteydessä kerrotaan myös tieto mihin luokkaan lisätty kuva kuuluu. HUOM! opetusdataa voi kerätä yhdessä! kolmen pisteen takaa löytyy toiminto, jonka avulla voit lisätä esim. puhelimia mukaan työskentelyyn.
Opettaminen: Opetusdatan syöttämisen jälkeen tekoäly harjoittelee tällä aineistolla ja pyrkii muokkamaan neuroverkkoaan siten, että se kykenisi yleistämään oppimansa myös täysin ulkopuoliseen aineistoon.
Syöte: Tämän kautta voit näyttää tekoälylle opetusdatan ulkopuolisia kuvia. Tekoälyn tulisi tunnistaa esim. kissoja ja koiria lajiteltaessa vaikkapa sattumanvarainen netistä löytynyt kissa tai naapurin kolli, jonka saisit kameran linssiin.
Luokittelija: Näet tästä millä varmuudella opetettava kone tunnistaa syötteen sisällön kuuluvan johonkin opetusdatan luokista.
A. Opetusdatan lisääminen ja tekoälyn opettaminen: esimerkkiaineisto
Esimerkkiaineiston opetusdata: Tässä esimerkkiaineistossa opetusdata on jaettu kolmeen luokkaa: 1) ihminen valokeilassa; 2) kuvitettu ihminen (eli vaikkapa oppikirjassa oleva ihminen); 3) tikku-ukko (viivapiirros). Tässä tapauksessa opetusaineisto on haettu netistä, mutta sen voi myös kuvata kameralla.
Opettaminen: tässä esimerkissä opetusdata on jo opetettu tekoälylle. Jos opetusdataan tehtäisiin muutoksia, pitäisi tekoäly opettaa painamalla “opeta luokittelija” painiketta.
Syöte: Syötteessä on webbikameran kuva ja sen kuvassa on ihminen.
Luokittelija: Tekoäly on 100% varma, että kyseessä on “ihminen valokeilassa” luokka.
B. Toimintakorttien tekeminen: esimerkkiaineisto
Hankkeessamme on kehitetty yksinkertainen tapa toteuttaa käyttäjälle näkyvä reaktio luokittelijan tunnistamaan kuvaan – toimintakortit.
Toimintakortissa voi olla seuraavia sisältöjä: a) tekstiä; b) musiikkia tai sovelluksessa äänitettyä puhetta; c) kuva; d) Youtube video tai vastaava sisältö.
Tähän saakka perusopetusikäisille suunnatuissa opetettavissa koneissa toimintakortteja koskeva osio on puuttunut.
Tämä tehnyt opetettavien koneiden opetuskäytöstä vaikeata, sillä koneoppimismallit on pitänyt viedä johonkin ohjelmointi tai robotiikkatyökaluun yksinkertaistenkin toiminallisuuksien tekemiseksi. Kansainvälisten tutkimusten perusteella se on koettu opettajien keskuudessa usein vaikeaksi ja suoranaiseksi esteeksi.
Opettava kone perustuu syväoppimiseen ja neuroverkkoihin
Sovellus perustuu Googlen kehittämään avoimen lähdekoodin tensorflow teknologiaan. Kyseessä on syväoppimiseen perustuva koneoppimisteknologia, jota hyödynnetään laajasti mm. tietoteknisissä sovelluksissa ja erilaisissa arkipäiväisissä koneissa ja laitteissa.
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.
Syväoppiminen edustaa tekoälyn toimintaa eli päättelytekniikoita, mutta sen ohella tekoälyä täytyy myös opettaa. Yleisimmät lähestymistavat opettamiseen ovat 1) ohjattu oppiminen, 2) ohjaamaton oppiminen ja 3) vahvistusoppiminen.
Generation AI opetettava kone oppii ohjatusti
Hankkeessamme kehitetty opetettava kone oppii siten, että sille syötetään opetusdataa. Siihen liittyy tieto, mihin kategoriaan tai luokkaan sen pitää kuulua.
Opetusdatan syöttämisen jälkeen tekoäly harjoittelee tällä aineistolla ja pyrkii muokkamaan neuroverkkoaan siten, että se kykenisi yleistämään oppimansa myös täysin ulkopuoliseen aineistoon.
Kuinka opetettava kone voi toimia puhelimessa?
Olet saattanut käyttää kehittämäämme opetettavaa konetta puhelimella tai tabletilla. Tiesitkö, että tekoäly eli koneoppimismalli ladataan käyttöä varten laitteen muistiin ja monimutkaiset laskutoimitukset tehdään laitteessa?
Käytännössä opetettava koneemme ei kuitenkaan aloita kaikkea alusta, vaan se hyödyntää hyvin suosittua koneoppimisteknologiaa, jota kutsutaan siirto-oppimiseksi. Eli käytännössä merkittävä osa sovelluksen tekoälystä on koulutettu aiemmin ja nyt sitä hyödynnytetään uuden ongelman ratkaisuun.
Siirto-oppiminen mahdollistaa sen, että opetettavan koneen tekoäly toimii missä tahansa puhelimessa, tabletissa tai tietokoneessa. Edes internet-yhteyttä ei tarvita. Koneoppimismalli nimittäin ladataan laitteeseen ja vain ensimmäinen neuroverkon kerros koulutetaan uudella aineistolla.
Miten opetettava kone on käytännössä toteutettu eli miten appi toimii?
Sovellus perustuu node.js (javascript) ohjelmointityökaluun, npm paketinhallintaan ja react käyttöliittymäkirjastoon. Sovelluksen eri toimintoja on mahdollista käyttää yhdessä eri laitteilta, joka on puolestaan toteutettu WebRTC teknologialla ja hankkeen omalla signalointipalvelimella.
Näiden työkalujen yhdistelmä takaa sen, että GenAI opetettava kone täyttää nykyaikaiselta www-sovellukselta vaadittavat esteettömyys-, käytettävyys – ja responsiivisuusvaatimukset.
Kun käyttäjä käynnistää opetettavan koneen, käynnistyy selaimeen tekoälyohjelmisto (tuettua syväoppimista edustava, siirto-oppimiseen perustuva, koneoppimismalli), joka lataa etukäteen opetetun Tensorflow mallin laitteeseen käyttöä varten. Kuten jo aiemmin on todettu, käyttäjä opettaa vain pienen pintakerroksen käyttäessään sovellusta.
Lisätietoa
* Opi lisää keinotekoisista neuroverkoista ja syväoppimisesta Elements of AI verkkokurssilla (ilmainen): https://course.elementsofai.com/fi/5/1
Valmiita koneoppimismalleja, jotka on tehty opetettavalla koneella
Näiden valmiiden mallien avulla voit perehtyä opetettavan koneen toimintaan. Voit muunnella näitä vapaasti eli tehdä näistä haluamanlaisesi. Toimi näin saadaksesi jonkun alla olevista malleista laitteellesi: a) naksauta mallin alla olevaa linkkiä ja tallenna zip tiedosto laitteellesi ja b) käynnistä opetettava kone ja avaa malli sinne (yläosan avaa painike).
Huom! puhelinten tiedostonhallinta voi olla sekava, joten mallit kannattanee avata kannettavalla tai tabletilla.
Tekoäly autossa
Tässä aineistossa opetettava kone on opetettu luokittelemaan syötteestä seuraavat tiedot: näkyykö edessä vastaantuleva auto vai edellä oleva auto ja onko nopeusrajoitus 30km/h vai 60km/h.
https://drive.google.com/file/d/1dF6xzveecpgB6A-mR9uPpsM19HmtLeGp/view
Kuinka imuri osaa vältellä legoja ja sukkia?
Tässä aineistossa opetettava kone on opetettu luokittelemaan syötteestä seuraavat tiedot: onko imurin kamerassa näkyvissä sukka vai legoja.
https://drive.google.com/file/d/10pYugJQ0xnaYlb21AD6SC5QGaf0KyItd/view
Erottaako tekoäly ihmisen tikku-ukosta?
Tässä aineistossa opetettava kone on opetettu luokittelemaan syötteestä seuraavat tiedot: näkyykö kuvassa oikea ihminen, kuvitettu ihminen vaiko tikku-ukko
https://drive.google.com/file/d/1EJ1-edT0TpeYs3xEgEM1x5sviG-oUCLw/view
Oikea ankka vai aku-ankka?
Tässä aineistossa opetettava kone on opetettu luokittelemaan seuraavat tiedot: näkyykö kuvassa oikea vai sarjakuva eläin
https://drive.google.com/file/d/1p809vvuPVv65P8AHW0Y8I0S9SBt6pwwd/view
Opetettavan koneen oppimateriaalit julkaistaan EDUCA messuilla keväällä 2024
Tämän hetken oppimateriaalit ovat tutkimukseen osallistuneiden yhteiskehittämiskoulujen käyttöön soveltuvia ja vaativat tutkijan läsnäolon tai esittelyn.
Workshop materiaaleja
Käytännön vinkkejä opetettavan koneen käyttöön
GenAI opetettava kone voi auttaa sinua ymmärtämään, kuinka koneoppiminen toimii. Voi kuitenkin olla, että mallisi ei toimi haluamallasi tavalla. Voit silloin rohkeasti kokeilla erilaisia lähestymistapoja mallin parantamiseen.
Kun käytät kuvan tunnistavaa mallia, kokeile näitä temppuja:
- Taustan/ympäristön vaihtaminen. Yritä kouluttaa kone tunnistamaan muutamia esineitä. Tarkista sitten, toimiiko se edelleen, kun kyseiset kohteet ovat eri taustaa tai eri valaistusolosuhteita tai vuorokaudenaikaa vasten.
Jos käytät asennon/poseerauksen tunnistavaa koneoppimismallia (PoseNet), kokeile näitä metkuja:
- PoseNET malli ei vain seuraa, miltä asento näyttää, kuten ovatko kätesi ylhäällä vai alhaalla. Se myös seuraa, missä kohtaa näyt kuvassa. Joten jos seisot paikallaan kehyksen vasemmalla puolella, PoseNet näyttää, että olet eri asennossa kuin jos seisot paikallaan kehyksen oikealla puolella.