Neuroverkon opettaminen vastavirta-algoritmilla - Kallio, Reetta (My University, 2021)
Neuroverkot ovat tärkeä työkalu kuvan- ja puheentunnistuksessa, klusteroinnissa ja monessa muussa tehtävässä, joihin perinteinen tietokoneohjelma ei pysty. Työn tarkoitus on esitellä neuroverkkoja ja niiden opettamista vastavirta-algoritmin avulla. Vastavirta-algoritmi käyttää hyödykseen funktion differentoituvuutta ja minimoi neuroverkon virhefunktion gradienttimenetelmien avulla. Neuroverkoista esitellään perinteinen rakenne ja kaksi erilaista neuronimallia. Neuroverkkojen opettamisessa keskitytään vastavirta-algoritmin vahvuuksiin varsinkin sigmoid-neuroverkoissa. Työ aloitetaan neuroverkon ja sen rakenteen ja opettamisen esittelyllä. Neuroverkko koostuu kerroksista, jotka sisältävät neuroneita. Neuroverkoissa on aina vähintään 2 kerrosta: syöte- ja ulostulokerros. Näiden kerrosten välillä voi olla yksi tai useam pi piilokerros. Tarkastellaan myös mitä hyötyä neuroverkoista on eri aloilla. Työssä esitellään lisäksi erot ohjatun, ohjaamattoman ja osittain ohjatun oppimisen välillä. Neuroverkko opetetaan opetusaineiston avulla, joka voi sisältää pelkästään syötevektorin tai myös ulostulovektorin. Neuroverkkojen jälkeen tutustutaan matemaattisiin käsitteisiin, joita hyödynnetään vastavirta-algoritmissa. Käsitteitä ovat osittaisderivaatta ja gradientti, konveksisuus ja ääriarvot. Tämän jälkeen siirrytään optimoinnin perusteisiin ja funktion ääriarvon etsimiseen gradienttimenetelmän avulla. Gradienttimenetelmissä käytetään yleensä yksiulotteista viivahakua oikean askelpituuden määrittämiseksi. Työssä esitetään myös ero perinteisten gradienttimenetelmien ja neuroverkon opettamisessa joskus käytettävän stokastisen gradienttimenetelmän välillä. Matemaattisten käsitteiden jälkeen työssä esitellään vastavirta-algoritmi ja sen laskemistapa. Vastavirta-algoritmi aloittaa nimensä mukaisesti neuroverkon ulostulokerroksesta ja siirtyy aina edeltävään kerrokseen, kunnes saavuttaa syötekerroksen. Tavoitteena on löytää neuroverkolle optimaaliset muuttujat, jotta virhefunktion arvo on mahdollisimman pieni tai nolla. Työssä kerrotaan, miten vastavirta-algoritmia käytetään ja, miten sen laskukaavat toimivat. Lopuksi esitellään vastavirta-algoritmin käyttö numerontunnistuksesa ja sigmoid-neuroverkoissa.
Keywords: neuroverkot, vastavirta-algoritmi, koneoppiminen, optimointi