Hermoverkot ja tekoäly
Neuro- eli hermoverkot (engl. Neural Networks) ovat yksi keskeisimmistä koneoppimisen rakenteista, ja ne ovat erityisen tärkeitä syväoppimisessa.
Hermoverkot pohjautuvat biologisen aivojen toimintaan, ja ne on suunniteltu jäljittelemään tapaa, jolla ihmisaivot prosessoivat tietoa neuroneiden ja niiden välisen yhteyksien avulla. Neuroverkoissa on useita kerroksia "neuroneja" tai solmuja, jotka ovat kytketty toisiinsa kertoimilla painotettujen yhteyksien kautta.
Neuroverkko koostuu yleensä kolmesta pääkerroksesta:
Sisääntulokerros (engl. Input Layer): Tämä kerros vastaanottaa ulkoisia tietoja, jotka on tarkoitus käsitellä. Esimerkiksi kuvankäsittelyssä sisääntulot voivat olla yksittäisten pikselien arvoja.
Piilotetut kerrokset (engl. Hidden Layers): Nämä ovat neuroverkon keskellä olevia kerroksia, jotka suorittavat erilaisia laskutoimituksia sisääntulodatan kanssa. Piilotettujen kerrosten lukumäärä ja niiden neuroneiden määrä vaikuttaa neuroverkon kykyyn oppia monimutkaisia malleja. Syväoppimisessa on tyypillisesti useita piilotettuja kerroksia, jolloin puhutaan syvästä neuroverkosta (engl. deep neural network).
Ulostulokerros (engl. Output Layer): Tämä kerros tuottaa neuroverkon lopullisen tuloksen tai ennusteen käsitellyn tiedon perusteella.
Neuroverkon koulutus tapahtuu käyttämällä suurta määrää dataa ja säätämällä neuroneiden välisten yhteyksien painoarvoja siten, että virhe ennusteiden ja todellisten arvojen välillä minimoidaan.
Esimerkkejä erityyppisistä neuroverkoista:
Perseptroni (engl. Perceptron): Yksinkertainen hermoverkko, jolla on vain yksi tai muutama kerros. Sitä käytetään yleensä yksinkertaisissa luokittelutehtävissä.
Konvoluutioneuroverkko (engl. Convolutional Neural Network = CNN): Erityisesti kuvantunnistukseen suunniteltu hermoverkko, joka kykenee käsittelemään digitaalisia kuvia ja tunnistamaan niissä olevia ominaisuuksia.
Takaisinkytketty neuroverkko (engl. Recurrent Neural Network = RNN): Suunniteltu käsittelemään sekvenssidataa, kuten aikasarjoja tai luonnollista kieltä. RNN:llä on kyky "muistaa" aikaisempia tietojaan ja ottaa ne huomioon uusia ennusteita tehdessään.
LSTM (engl. Long Short-Term Memory): Eräänlainen RNN, joka on suunniteltu paremmin käsittelemään pitkiä datasekvenssejä ilman, että se menettää muistiaan ajan myötä.
Generatiiviset kilpailevat verkot (engl. Generative Adversarial Networks = GANs): GAN-verkko käyttää kahta hermoverkkoa yhdessä – yksi luo uusia datanäytteitä ja toinen arvioi niiden aitoutta. GANeista kerrotaan tarkemmin erillisessä luvussa.
Transformer-arkkitehtuuri esiteltiin vuonna 2017 artikkelissa "Attention Is All You Need" (https://arxiv.org/abs/1706.03762) ja se on mullistanut luonnollisen kielen käsittelyn ja monia muita koneoppimisen sovellusalueita.
Transformerit eroavat perinteisistä takaisinkytketyistä neuroverkoista siinä, että ne kykenevät käsittelemään sekvenssidataa, kuten tekstiä, ilman että niiden tarvitsee käydä läpi dataa tietyssä järjestyksessä. Sen sijaan transformerit käyttävät mekanismia nimeltä **attention**, joka painottaa eri osia datasekvenssistä riippuen niiden merkityksestä kulloinkin käsiteltävälle osalle. Tämä mahdollistaa tehokkaamman ja joustavamman tavan käsitellä sekvenssejä ja on johtanut merkittäviin parannuksiin monilla sovellusalueilla.
Esimerkkejä transformer-arkkitehtuurien sovelluksista:
1. Kielellisten mallien luominen: Kuten OpenAI:n GPT-sarja (engl. Generative Pre-trained Transformer), jotka kykenevät tuottamaan ymmärrettävää ja sujuvaa tekstiä.
2. Käännöspalvelut: esimerkiksi Googlen Kääntäjä, joka käyttää transformer-arkkitehtuuria monikielisten käännösten parantamiseen.
3. Tekstin ymmärtäminen ja luokittelu: Esimerkiksi BERT (engl. Bidirectional Encoder Representations from Transformers) auttaa koneita ymmärtämään tekstin merkityksen analysoimalla sitä molempiin suuntiin - sekä eteen- että taaksepäin tarkasteltavan tekstin rakenteissa.
4. Äänen tunnistus ja synteesi: Transformerit ovat tehokkaita myös puhutun kielen käsittelyssä, esimerkiksi puheentunnistuksessa ja tekstistä puheeksi -synteesissä.
5. Kuvankäsittely ja -tunnistus: Vaikka transformerit ovat erityisen vahvoja luonnollisen kielen käsittelyssä, niitä on myös sovellettu kuvankäsittelyyn, kuten Vision Transformers (ViT), jotka käsittelevät kuvia samalla tavalla kuin tekstiä ja ovat osoittautuneet erittäin tehokkaiksi monissa kuvankäsittelytehtävissä.
Kuva. Luonnollisen hermosolun eli neuronin rakenne.
Kuva. Neuronia mukailevan perseptronin malli. Aktivointifunktiota vaihtamalla voidaan puhua esim. sigmoid neuronista.
Kuva. Neuroneista koostuvan hermoverkon periaate. Kuvan neuronit on järjestetty kerroksittain (vrt. Hidden layers = piilokerrokset), mistä johtuen voidaan puhua syvästä hermoverkosta.