Neuroverkoista - Hallivuori, Joni (My University, 2023)
Neuroverkoilla tarkoitetaan algoritmia, jonka on tarkoitus kuvata ihmisen neuro- niverkkoa. Neuroverkot muodostuvat tasoista neuroneita, joiden "aktivaatioiden" perusteella saadaan seuraavan tason neuroneiden aktivaatiot. Ensimmäisen tason aktivaatiot ovat syöte, jota käsitellään niin sanottujen piilotettujen tasojen läpi ja lopuksi viimeisen tason neuroneista saadaan tuloste. Neuronien aktivoinnit laske- taan edellisestä tasosta tasomuunnoksen avulla. Useimmiten tasomuunnokset ovat neuronikohtaisia painotettuja summia joihin lisätään jokin tietty vakio, ja tämän jälkeen lopullinen aktivaatio saadaan tästä jonkin aktivointifunktion avulla. Yleisiä aktivointifunktioita ovat hyperbolinen tangentti ja ReLU. Yksittäisten painotettu- jen summien laskeminen on kuitenkin raskasta, ja painotuksista tehdään neliömat- riisi ja vakioista vektori. Tällöin laskentatehokkuutta voidaan parantaa lineaarial- gebran keinoin. Neuroverkkoa opetetaan muuttamalla painomatriisia ja vakiovek- toria, ja muutoksen suunnan antaa opetusdata. Neuroverkot ovat mielenkiintoinen ratkaisu tietynlaisiin algoritmiongelmiin. Eräs yksinkertaisimmista esimerkeistä on käsinkirjoitettujen numeroiden tunnistus. Ensin ongelma tuntuu yksinkertaiselta, mutta käsin kirjoitetuissa numeroissa on hyvin paljon eroja. Tämä voidaan ratkais- ta neuroverkoilla helposti, kun tehdään kuvatilasta syötetaso aina samalla tavalla ja opetetaan verkkoa suurella määrällä käsinkirjoitettuja numeroita. Emme varsinai- sesti tiedä mitä lopputulos oikeasti tekee piilotetuilla tasoilla, mutta lopputuloksella on helposti yli 95 prosentin tarkkuus. Neuroverkoilla voidaankin ratkaista hyvällä tarkkuudella ja kevyellä laskennallisuudella useita ongelmia, jotka olisivat laskennal- lisesti hankalia normaaleilla algoritmeilla, mutta itse neuroverkon kouluttaminen on vastaavasti laskennallisesti raskasta. Neuroverkkojen koulutus on usein kymmenien tuhansien muuttujien suhteen optimointia