Kun käsitellään pieniä tietojoukkoja, joissa saattaa olla tarpeeksi tietoa mallin kouluttamiseen, mutta määrällisesti dataa ei ole riittävästi, voidaan käyttää useita tekniikoita mallin suorituskyvyn parantamiseksi. Yksi tällainen menetelmä on datan laajentaminen tilastollisten periaatteiden mukaan. Esimerkiksi voidaan kaksinkertaistaa alkuperäiset tiedot ottamalla huomioon eri piirteiden keskiarvo ja keskihajonta suhteessa siihen, onko kohdearvo 0 vai 1. Näiden tietojen avulla voidaan luoda uusia synteettisiä esimerkkejä, jotka jakavat alkuperäisten tietojen keskiarvon ja hajonnan, ja lisätä ne alkuperäiseen tietojoukkoon. Tämä voi olla tehokas tapa lisätä koulutusdatan määrää ilman, että se vääristää mallin oppimista liikaa.
On kuitenkin tärkeää huomata, että kaikkien piirteiden oletetaan olevan normaalisti jakautuneita, mikä on vahva oletus, ja tällainen lähestymistapa ei aina takaa parasta mahdollista lopputulosta. Jos mallin suorituskyvyn parantamiseen on aikaa ja resursseja, voidaan tutkia piirteiden tilastollisia ominaisuuksia tarkemmin ja käyttää niitä synteettisten tietojen luomiseen. Tämä vaatii huolellisuutta ja tarkkuutta, mutta voi tuottaa hyviä tuloksia erityisesti silloin, kun alkuperäinen data on rajallinen.
Toinen tärkeä tekniikka, joka auttaa estämään ylisovitusta (overfitting), on piirteiden vähentäminen. Ominaisuudet voivat vaikuttaa ennustettavuuteen eri tavoin ja ne, jotka ovat puhtaita kohteen suhteen, tarjoavat enemmän tietoa luokittelua varten. Päätöspuissa piirteet arvioidaan tärkeyden mukaan, mutta monimutkaisempia tietojoukkoja käsitellessä, kuten aurinkosähkön käyttöönoton ennustaminen, voi olla vaikeampaa hahmottaa, mitkä piirteet ovat merkittävimpiä. Tällöin apuna voi olla työkaluja, kuten Graphviz, joka auttaa visualisoimaan päätöspuita ja arvioimaan piirteiden tärkeyttä.
Optinen arviointi ei ole ainoa tapa, jolla piirteiden tärkeyttä voidaan mitata. Yksi vaihtoehto on Gini-tärkeyden laskeminen, joka mittaa, kuinka paljon piirre vähentää epäpuhtautta datassa. Scikit-learn tarjoaa yksinkertaisen funktion, joka mahdollistaa piirteiden luokittelun Gini-tärkeyden mukaan. Tämä voidaan visualisoida ja arvioida edelleen.
Toinen suosittu menetelmä on Pääkomponenttianalyysi (PCA), joka on ei-valvottu menetelmä. PCA hajottaa monimuotoisen datan ortogonaalisiksi komponenteiksi, jotka selittävät suurimman osan datan varianssista. Tämä menetelmä auttaa säilyttämään vain ne ulottuvuudet, jotka selittävät tarpeeksi suuren osan varianssista, ja voi näin ollen vähentää piirteiden määrää ja estää ylisovitusta. Esimerkiksi usein havaitaan, että datasta 95 %:n varianssi voidaan selittää pienemmällä määrällä komponenteja kuin alkuperäisillä piirteillä.
Kun datan määrä kasvaa tai kun käytetään monimutkaisempia malleja, kuten Neuroverkot tai SVM (tukivektorit), on tärkeää ymmärtää, miten nämä menetelmät toimivat ja mitä etuja ne voivat tarjota. Vaikka tässä kirjassa emme mene syvälle näiden työkalujen toimintaan, on tärkeää ymmärtää, että koneoppimisen kenttä kehittyy jatkuvasti ja uusia työkaluja, kuten tukivektori-koneita, naiivin Bayesin menetelmiä ja k-lähimmän naapuriluokittimia, otetaan käyttöön monenlaisissa sovelluksissa.
On myös huomattava, että SVM voi olla hyvin tehokas erityisesti ei-lineaarisissa luokitteluongelmissa, mutta sen laskentateho on suuri, joten sitä kannattaa käyttää pääasiassa pienemmissä tietojoukoissa. SVM:n perusidea on etsiä linja, taso tai hypertaso, joka erottaa luokkia datassa, ja se pyrkii löytämään suurimman mahdollisen välin (marginaalin) luokkien väliin. Tämä antaa mallille luotettavampia tuloksia, koska suurin mahdollinen marginaali minimoi virheiden määrän ja lisää ennustettavuutta.
Yhteenvetona voidaan todeta, että vaikka datan käsittely ja mallin kouluttaminen ovat monivaiheisia prosesseja, erilaisten menetelmien, kuten datan laajentamisen, piirteiden vähentämisen ja PCA:n käyttö, voivat merkittävästi parantaa mallin tarkkuutta ja estää ylisovitusta. Koneoppimisen tehokas hyödyntäminen edellyttää syvempää ymmärrystä käytettävistä menetelmistä ja niiden soveltamisesta oikeassa yhteydessä.
Mikä on optimaalisin askelpituus tekoälyverkon harjoittelussa?
Matemaattisesti laskettuna alaspäin kulkeminen tarkoittaa negatiivisen gradientin seuraamista kustannusfunktion tai virhefunktion suhteen. Gradientti, joka matematiikassa merkitään Nabla-operaattorilla ∇, on vektori, joka osoittaa jyrkimmän nousun pisteessä ja kertoo kaltevuuden pituuden. Kaltevuus löytyy kustannusfunktion osittaisderivaatan kautta kullekin ulottuvuudelle. Tämä muistuttaa kysymystä: "Mikä on mäen kaltevuus jalkojeni alla, jos katselen itään?" ja vastaavien kysymysten esittämistä pohjoiseen, etelään ja muihin ulottuvuuksiin. Gradienttivektori osoittaa ylöspäin. Negatiivisen gradientin seuraaminen määrittää iteraatiivisen prosessin 𝑎𝑛+1 = 𝑎𝑛 − 𝛾∇𝑓(𝑎𝑛), jossa 𝑎 on malli-parametri, jota muutetaan hieman joka askeleella, ja 𝛾 ilmaisee askelpituuden (tai virheen pienentämisnopeuden, eli oppimisnopeuden).
Jos askelpituus on säädettävissä, 𝛾 voi muuttua jokaisessa iteraatiossa, ja sen säätämiseen on useita erikoistuneita menetelmiä. Käytännössä gradienttinen lasku aloitetaan usein satunnaisista arvoista (satunnaisella alustuksella) ja iteroidaan, kunnes kustannus (tai virhe) pienenee tasolle, joka ei välttämättä ole absoluuttinen (matemaattinen) minimi, mutta joka on riittävän pieni hyväksyttäväksi. Jos kustannusfunktio on konveksi ja jatkuva, kuten useimmissa monikerroksisissa perceptroneissa (MLP), gradienttinen lasku pitäisi johtaa globaalille minimiarvolle. Tähän voi kuitenkin vaikuttaa se, että aineiston ominaisuuksilla on eri mittakaavat, kuten esimerkin "tilitapahtuman saldo" ja "ikä". Tällöin konvergenssi voi alkuun olla harhaanjohtavaa ja viedä kauemmin löytämään minimin. Tämän estämiseksi aineisto tulisi skaalata ennen neuroverkkojen kouluttamista.
Koulutuksen aikana gradienttinen lasku voidaan laskea joka iteraatiossa jokaiselle ominaisuudelle ja koulutuksen aineiston jokaiselle yksittäiselle esimerkkille. Tätä kutsutaan "batch gradient descent" -menetelmäksi, mutta se voi olla laskennallisesti erittäin kallista. Halvempi vaihtoehto on "stochastic gradient descent" (SGD), jossa valitaan satunnainen yksittäinen esimerkki koulutusdatasta joka vaiheessa ja lasketaan gradientit vain tämän esimerkin perusteella. Tämä nopeuttaa oppimisprosessia, mutta voi olla epävakaata globaalin minimin löytämisen suhteen. Sen lopulliset parametrit voivat olla hyvät, mutta eivät optimaaliset. Toisaalta, satunnaisen gradienttisen laskun "heilahteleva" liike voi auttaa prosessia jättämään paikalliset miniminsä ja löytämään globaalit minimit, jos oppimisnopeutta (askelpituutta) vähennetään asteittain. Tämä niin kutsuttu "simuloitu jäähdyttäminen" muistuttaa metallurgiassa käytettävää prosessia, jossa sulatettu metalli jäähtyy hitaasti.
Kun tarkastellaan monikerroksisia perceptroneja (MLP), jotka liittyvät tekoälyverkkojen koulutukseen, hyvä esimerkki oppimistehtävästä on käsinkirjoitettujen numeroiden tunnistaminen. Tämä tehtävä perustuu yleisesti käytettävään MNIST-databaselle, joka sisältää 50 000 harjoituskuvaa ja 10 000 testikuvaa. Kuvien resoluutio on pieni (28x28 pikseliä), mutta useimmiten tämä riittää tunnistamaan numerot. Vaikka käsinkirjoitukset voivat joskus olla epäselviä, kuten esimerkeistä näkyy, tämä tunnistustehtävä tarjoaa hyvän johdannon neuroverkkojen toimintaan.
Tekoälyverkon oppiminen vaatii, että datan syöttäminen verkkoon on mahdollisimman tarkkaa. MNIST-kuvissa mustavalkoiset pikselit voivat olla joko nolla-arvoja (jos ne eivät ole kirjoituksen alueella) tai ykkösarvoja (jos ne ovat kirjoitetulla alueella). Tämän tiedon syöttäminen syötekerrokseen, joka tässä tapauksessa koostuu 784 neuronista, on tärkeä vaihe verkon oppimisprosessissa. Jatkamme tämän aineiston kouluttamista monikerroksisilla perceptroneilla, kuten scikit-learnin tarjoama MLP-luokittaja, ja käytämme erityisiä parametreja verkon koulutuksessa.
Kun gradienttinen lasku on tehokas ja oikein säädetty, se voi auttaa verkoa löytämään optimaalisen ratkaisun, mutta on tärkeää huomioida, että oppimisprosessin optimointi ei aina johda täydellisiin tuloksiin. Esimerkiksi satunnaisen gradienttisen laskun aikana on mahdollista, että malli päätyy paikalliseen minimiin, eikä globaalille minimiin. Tämä on luonnollinen osa oppimisprosessia, joka voi parantaa verkon kykyä yleistää ja tunnistaa aiemmin näkemättömiä malleja, mutta se saattaa myös estää mallia löytämästä täydellistä ratkaisua.
On tärkeää, että malli ei pelkästään opi koulutusdatasta, vaan myös yleistää hyvin tuntemattomaan dataan. Tämä edellyttää huolellista hyperparametrien säätämistä, kuten oppimisnopeuden hallintaa ja mahdollisesti jopa erilaisten menetelmien, kuten simuloidun jäähdytyksen, käyttöä, jotta malli voi välttää jäämistä paikallisiin minimeihin ja löytää globaalin ratkaisun.
Miten Transformers-teknologia on mullistanut kielimallien kehityksen ja tieteellisen tutkimuksen
Transformer-verkkojen kehitys on ollut yksi merkittävimmistä harppauksista tekoälyn ja koneoppimisen historiassa. Näiden verkkojen kyky käsitellä valtavia määriä kontekstuaalista tietoa on mahdollistanut monia uusia sovelluksia, joista kielenkäännös on vain yksi esimerkki. Esimerkiksi saksankielinen käännös lauseelle "to book a flight" on nyt oikein "einen Flug buchen", kun taas aikaisemmin vanhemmat käännösohjelmat olisivat saattaneet tuottaa virheellisen muodon "zu Buch ein Flug". Tällaiset onnistumiset ovat mahdollistaneet transformer-verkkojen laajamittaisen käytön monilla alueilla, jotka vielä äskettäin olivat ihmisen älykkyyden yksinoikeuksia.
Yksi merkittävimmistä näistä malleista on BERT, joka tarkoittaa Bidirectionaalisia Encoder-esityksiä Transformers-verkosta. BERT on nostanut kielenkäsittelyn uuden aikakauden, sillä sen avulla voidaan ratkaista tehtäviä, kuten kysymysten vastaamista ja kielten välisiä inferenssejä. Tämä malli on rikkonut useita benchmarkkeja, kuten GLUE ja decaNLP, jotka testaavat kielimallien suorituskykyä. Toiset, kuten ELMo ja erityisesti GPT-mallit (Generative Pre-trained Transformer), ovat myös herättäneet huomiota omilla suorituskyvyillään. Esimerkiksi GPT-3 ja GPT-4 ovat esimerkkejä autoregressiivisista kielenluontimalleista, jotka kykenevät tuottamaan inhimillistä kieltä erittäin monenlaisilla aiheilla.
Yksi tärkeistä kehitysaskeleista transformer-teknologiassa on ollut valtavat datamäärät, joita käytetään näiden verkkojen kouluttamiseen. OpenAI:n ChatGPT-malli on saanut huomiota sen perusteella, kuinka suuri määrä internetistä, kirjoista ja muista lähteistä peräisin olevaa tekstiä on kerätty sen kouluttamiseen. Tämä suuri datajoukko, joka sisältää jopa useita teratavuja tekstiä, antaa transformer-verkkojen kuten GPT:n kyvyn ymmärtää kielen rakenteet ja tuottaa inhimillistä tekstiä. Tällainen koulutus on mahdollistettu suurella laskentateholla, erityisesti erikoistuneilla supertietokoneilla, kuten Microsoftin Azure-alustalla, joka on yhdistetty Nvidia GPU:iden tehoon. Tämä kaikki on maksanut satoja miljoonia dollareita, mikä on rajoittanut tämän teknologian avoimuutta ja johtanut kaupallisiin sopimuksiin, jotka poikkeavat alkuperäisestä avoimen lähdekoodin ideologiasta.
Transformer-verkkojen koulutuksessa käytettyjen menetelmien tarkempi säätäminen on saanut aikaan erityisesti GPT-mallien fine-tuning- eli hienosäätöprosessit. Tämä sisältää mallien kouluttamisen tietyille tehtäville ja varmistamisen, että ne pystyvät noudattamaan käyttäjän ohjeita ja toimimaan monenlaisissa tilanteissa. Fine-tuning voi sisältää esimerkiksi opettamista oikeiden vastausten tuottamiseen tai kyvyn käydä keskustelua eri aiheista. Tällöin käytetään usein valmiita datakokoelmia, joissa on esimerkkejä oikeista ja vääristä vastauksista, jotta malli osaisi toimia mahdollisimman tarkasti. Lisäksi Mallin suorituskykyä testataan vertaamalla sen tuloksia olemassa oleviin benchmarkkeihin ja käyttämällä reaalimaailman testauksia.
Tämä kehitys on tuonut merkittäviä muutoksia myös tieteelliseen tutkimukseen. GPT-pohjaiset työkalut, kuten Consensus, Semantic Scholar ja Elicit, auttavat tutkijoita vastaamaan yksinkertaisiin tutkimuskysymyksiin, järjestämään lähteitä ja jopa laatimaan tutkimusraportteja. Tällaiset työkalut pystyvät tukemaan monenlaista tutkimusta, olipa kyseessä bibliografian järjestäminen tai uusien tutkimusartikkeleiden etsiminen. Tutkimusrobotit, kuten Research Rabbit ja LitMaps, auttavat akateemista yhteisöä seuraamaan tieteellisen keskustelun suuntaa ja tunnistamaan keskeisiä julkaisuja. Näiden työkalujen avulla voidaan myös luoda visuaalisia karttoja, jotka yhdistävät tieteelliset julkaisut ja tarjoavat tehokkaita välineitä tieteen eteenpäin viemiseksi.
Vaikka GPT-mallit tarjoavat huomattavaa tukea tieteellisessä työssä, niiden käyttö ei ole ilman haasteita. Yksi suurimmista haasteista on se, kuinka nämä työkalut voivat tuottaa virheellisiä tai harhaanjohtavia tuloksia, jos niitä ei käytetä oikein. Mallit, kuten ChatGPT, voivat myös tuottaa keskusteluja, jotka saattavat vaikuttaa ihmismäisiltä, mutta ovat silti pohjimmiltaan vain tilastollisia ennusteita. Tämä herättää keskustelua tekoälyn roolista ja sen mahdollisista riskeistä, erityisesti silloin, kun kyse on tekoälyn kehittämisestä kohti yleistä älykkyyttä (AGI), joka saattaa ylittää ihmisen kognitiiviset kyvyt.
Tämän teknologian tulevaisuus tulee todennäköisesti muuttamaan tieteellistä tutkimusta ja sen käytäntöjä merkittävästi. On kuitenkin tärkeää huomioida, että vaikka nämä työkalut tarjoavat suuria mahdollisuuksia, niiden eettiset ja yhteiskunnalliset vaikutukset ovat edelleen kysymysmerkki. Kuten on käynyt ilmi OpenAI:n kehityksessä, avoimuus ja läpinäkyvyys eivät aina ole etusijalla, kun teknologiat, kuten GPT, muuttuvat kaupallisesti hallituiksi.
Miten valita paras toiminta agentin ympäristössä: voimaannuttaminen ja ennakoiva toiminta
Voimaannuttaminen tarkoittaa niitä mahdollisuuksia, jotka eliöllä on toimia ympäristössään, tai toisin sanoen sitä hallintaa, joka sillä on ympäristönsä suhteen omasta subjektiivisesta näkökulmastaan. Jos tiedät, että sinulla on vaihtoehtoja – nousta ylös, kävellä, puhua, laulaa, oppia, jopa poistua huoneesta – olet voimaantunut. Jos vaihtoehtoja ei ole tai et ole tietoinen niistä, et ole voimaantunut. Tämän voimaannuttamisen määrää voidaan tarkastella informaatioteorian näkökulmasta, ja se voidaan esittää agentin toimijoiden (toiminnan suorittamisen välineet) ja antureiden (ympäristön tilan aistimiseen käytettävät välineet) välisenä maksimipotentiaalisena kausaalisena virtauksena. Tähän liittyy myös Shannonin (1948) kanavan kapasiteetti, joka määrittää keskimääräisen yhteisen tiedon määrän, joka vastaanotetussa signaalissa sisältää tietoa alkuperäisten lähetettyjen signaalien todennäköisyysjakaumasta. Tämä voi olla erityisesti agentin toimien ja sen antureiden havaitsemien signaalien välinen kanavan kapasiteetti.
Ajatellaan tätä käsitettä, kun puhumme niin sanotusta havainto-toiminta-silmukasta (Powers 2005). Tässä silmukassa agentti valitsee toiminnan edellisen aikavälin antureilta saamien syötteiden perusteella, ja tämä toiminta vaikuttaa ympäristön tilaan, mikä puolestaan muuttaa seuraavia agentin aistimuksia. Tämä sykli toistuu, ja siinä määritellään tiedon virta agentin toimijoilta antureille seuraavassa aikavälin vaiheessa. Voimaannuttaminen, joka on yhteinen maksimivaihtoehtojen määrä, määrittyy tämän virran perusteella, joka ilmenee agentin valitsemista toimista ja niiden vaikutuksista.
Voimaannuttaminen määrittää toimintamahdollisuuksien alueen, josta agentti valitsee ne, jotka lupaavat suurimman mahdollisen tulevaisuuden voimaannuttamisen. Seuraava askel voi olla yksi, mutta se voi olla myös kokonainen joukko seuraavia askeleita, jotka määrittelevät mahdollisuuksien horisontin. Tämä horisontti riippuu siitä, kuinka pitkälle agentti voi tarkastella tulevaisuutta tai kuinka monimutkainen malli agentilla on käytössään, jota se pystyy ylläpitämään.
Esimerkiksi agentti, joka on sijoitettu kaksidimensionaaliseen rajalliseen ruudukkoon, jossa on viisi mahdollisuutta toimia: liikkua pohjoiseen, itään, etelään, länteen tai pysyä paikoillaan, voi tarkastella näitä viittä vaihtoehtoa vain yhden aikavälin horisontilla. Jos agentti sijaitsee ruudukon keskellä, se huomaa, että sillä on kaikki viisi vaihtoehtoa. Jos se on kuitenkin ruudukon reunoilla, se huomaa, että se on rajoittunut yhdellä vaihtoehdolla vähemmän. Kulmassa se havaitsee vielä vähemmän vaihtoehtoja. Voimaannuttamisen periaatteella agentti siis liikkuu pois kulmista ja reunoilta, koska reunoista poispäin liikkuminen merkitsee suurempaa voimaannuttamista.
Kun agentilla on laajempi horisontti ja se pystyy tarkastelemaan enemmän tulevaisuuden mahdollisuuksia, sen voimaannuttaminen kasvaa. Tällöin agentti huomaa ympäristönsä rajoitukset ja pystyy liikkumaan keskelle, missä se kokee suurinta voimaannuttamista. Tällainen agentti pystyy tarkastelemaan vaihtoehtojaan pitkälle tulevaisuuteen, jolloin sen valinnat voivat muuttua sen mukaan, kuinka monelle askeleelle se voi ennakoida. Tällöin se on vähemmän rajoittunut ja voi valita mahdollisimman monen vaihtoehdon joukosta.
Tämä voimaannuttamisen periaate voi olla hyvin tehokas työkalu monenlaisten ongelmien ratkaisemiseen, joissa ei tarvita muuta kuin paikallista tietoa nykytilanteesta agentin ohjaamiseksi kohti korkeampaa tavoitetta. Se voi olla erityisen hyödyllistä tilanteissa, joissa agentilla ei ole historiatietoa, vaan ainoastaan tieto hetkellisistä olosuhteista.
Tällaisen mallin käyttö ei kuitenkaan ole ilman haasteita. Agentin kyky tarkastella tulevaisuutta riippuu sen mallin monimutkaisuudesta ja sen kyvystä luoda ennusteita ympäristönsä tulevista tiloista. Jos agentti pystyy tarkastelemaan vain yhden askeleen tulevaisuuteen, sen toiminta on rajallisempaa, mutta sen malli voi olla yksinkertaisempi ja nopeampi. Jos sen horisontti ulottuu pitkälle, se pystyy tarkastelemaan monimutkaisempia tilanteita ja tekemään parempia valintoja, mutta tämä vaatii enemmän laskentatehoa ja mallin ylläpitämistä.
Tämä periaate laajentaa meidän ymmärrystämme agenttien toiminnan optimoinnista ja voi tarjota uusia näkökulmia autonomisten järjestelmien kehittämiseen. Voimaannuttaminen ei ole vain teoreettinen käsite, vaan se tarjoaa käytännön työkaluja, joita voidaan soveltaa monenlaisiin haasteisiin – olipa kyseessä robotin liikkuminen, itsenäisten ajoneuvojen ohjaus tai muissa autonomisissa järjestelmissä tapahtuva päätöksenteko.

Deutsch
Francais
Nederlands
Svenska
Norsk
Dansk
Suomi
Espanol
Italiano
Portugues
Magyar
Polski
Cestina
Русский