Keinotekoinen neuroverkko (ANN) koneoppimisessa – Data Science Central
On 24 syyskuun, 2021 by adminKeinotekoiset neuroverkot – Johdanto
Keinotekoiset neuroverkot (ANN) tai neuroverkot ovat laskennallisia algoritmeja.
Sen tarkoituksena on simuloida ”neuroneista” koostuvien biologisten järjestelmien käyttäytymistä. ANN:t ovat laskennallisia malleja, jotka ovat saaneet vaikutteita eläinten keskushermostosta. Se kykenee koneoppimiseen sekä hahmontunnistukseen. Ne esitetään toisiinsa kytkettyjen ”neuronien” järjestelminä, jotka voivat laskea arvoja syötteistä.
Neuraaliverkko on suunnattu graafi. Se koostuu solmuista, jotka biologisessa analogiassa edustavat neuroneja, jotka on liitetty toisiinsa kaarien avulla. Se vastaa dendriittejä ja synapseja. Jokaiseen kaareen liittyy paino, kun taas kussakin solmussa. Sovelletaan solmun syötteenä saamia arvoja ja määritetään aktivointifunktio saapuvia kaaria pitkin, joita säädetään kaarien painoilla.
Neuraaliverkko on koneoppimisalgoritmi, joka perustuu ihmisen neuronin malliin. Ihmisen aivot koostuvat miljoonista neuroneista. Ne lähettävät ja käsittelevät signaaleja sähköisten ja kemiallisten signaalien muodossa. Nämä neuronit ovat yhteydessä toisiinsa erityisellä rakenteella, jota kutsutaan synapseiksi. Synapsien avulla neuronit voivat välittää signaaleja. Suurista määristä simuloituja neuroneja muodostuu neuroverkkoja.
Keinotekoinen neuroverkko on tiedonkäsittelytekniikka. Se toimii samalla tavalla kuin ihmisen aivot käsittelevät tietoa. ANN sisältää suuren määrän toisiinsa kytkettyjä prosessointiyksiköitä, jotka työskentelevät yhdessä käsitelläkseen tietoa. Ne myös tuottavat siitä mielekkäitä tuloksia.
Voimme soveltaa neuroverkkoa paitsi luokitteluun. Sitä voidaan soveltaa myös jatkuvien kohdeattribuuttien regressioon.
Neuraalisia verkkoja käytetään paljon tiedonlouhinnassa, jota käytetään eri aloilla. Esimerkiksi taloustieteessä, rikostekniikassa jne. ja hahmontunnistuksessa. Sitä voidaan käyttää myös tietojen luokitteluun suuressa tietomäärässä huolellisen harjoittelun jälkeen.
Neuraaliverkko voi sisältää seuraavat 3 kerrosta:
- Sisääntulokerros – Sisääntuloyksiköiden aktiivisuus edustaa raakainformaatiota, joka voidaan syöttää verkkoon.
- Piilokerros – Määrittää kunkin piilotetun yksikön aktiivisuuden. Tuloyksiköiden aktiivisuus sekä tuloyksiköiden ja piilotettujen yksiköiden välisten yhteyksien painot. Piilotettuja kerroksia voi olla yksi tai useampia.
- Lähtökerros – Lähtöyksiköiden käyttäytyminen riippuu piilotettujen yksiköiden aktiivisuudesta sekä piilotettujen ja lähtöyksiköiden välisistä painoista.
Teknisen neuroverkon kerrokset
Tekninen neuroverkko on tyypillisesti organisoitu kerroksiin. Kerrokset koostuvat monista toisiinsa liitetyistä ”solmuista”, jotka sisältävät ”aktivointifunktion”. Neuroverkko voi sisältää seuraavat 3 kerrosta:
a. Syöttökerros
Syöttökerroksen tarkoituksena on vastaanottaa syötteenä kunkin havainnon selittävien ominaisuuksien arvot. Yleensä syöttökerroksen syöttösolmujen lukumäärä on yhtä suuri kuin selittävien muuttujien lukumäärä. ’Syöttökerros’ esittää mallit verkolle, joka välittää ne yhdelle tai useammalle ’piilokerrokselle’.
Syöttökerroksen solmut ovat passiivisia, eli ne eivät muuta tietoja. Ne saavat syötteekseen yhden arvon ja monistavat sen moniin ulostuloihinsa. Syöttökerroksesta se monistaa jokaisen arvon ja lähettää sen kaikkiin piilotettuihin solmuihin.
b. Piilokerros
Kätketyt kerrokset soveltavat annettuja muunnoksia verkon sisällä oleviin tuloarvoihin. Tässä saapuvat kaaret, jotka menevät muista piilosolmuista tai tulosolmuista, liitetään kuhunkin solmuun. Se yhdistää lähtevät kaaret lähtösolmuihin tai muihin piilosolmuihin. Piilokerroksessa varsinainen käsittely tapahtuu painotettujen ”yhteyksien” järjestelmän kautta. Piilokerroksia voi olla yksi tai useampia. Piilosolmuun tulevat arvot kerrotaan painoilla, jotka ovat ohjelmaan tallennettuja ennalta määrättyjä lukuja. Painotetut syötteet lasketaan sitten yhteen, jolloin saadaan yksi luku.
c. Lähtökerros
Kätketyt kerrokset linkittyvät sitten ”lähtökerrokseen”. Lähtökerros saa yhteydet piilotetuista kerroksista tai tulokerroksesta. Se palauttaa lähtöarvon, joka vastaa vastemuuttujan ennustetta. Luokitusongelmissa on yleensä vain yksi lähtösolmu. Lähtökerroksen aktiiviset solmut yhdistävät ja muuttavat dataa tuottaakseen lähtöarvot.
Neuraaliverkon kyky tuottaa hyödyllistä datan käsittelyä perustuu painojen oikeaan valintaan. Tämä eroaa perinteisestä tiedonkäsittelystä.
Neuraaliverkon rakenne
Neuraaliverkon rakenteesta käytetään myös nimitystä ”arkkitehtuuri” tai ”topologia”. Se koostuu kerrosten lukumäärästä, Elementtiyksiköistä. Se koostuu myös vaihtuvien painojen säätömekanismista. Rakenteen valinta määrittää saavutettavat tulokset. Se on kriittisin osa neuroverkon toteutusta.
Yksinkertaisin rakenne on sellainen, jossa yksiköt jakautuvat kahteen kerrokseen: Syöttökerros ja lähtökerros. Jokaisella tulokerroksen yksiköllä on yksi tulo ja yksi lähtö, joka on yhtä suuri kuin tulo. Lähtöyksiköllä on kaikki tulokerroksen yksiköt yhdistettynä sen tuloon yhdistelmäfunktion ja siirtofunktion avulla. Lähtöyksiköitä voi olla enemmän kuin yksi. Tällöin tuloksena oleva malli on lineaarinen tai logistinen regressio. tämä riippuu siitä, onko siirtofunktio lineaarinen vai logistinen. Verkon painot ovat regressiokertoimia.
Lisäämällä 1 tai useampia piilokerroksia tulo- ja lähtökerrosten väliin ja yksiköitä tähän kerrokseen neuroverkon ennustuskyky kasvaa. Piilokerrosten määrän tulisi kuitenkin olla mahdollisimman pieni. Näin varmistetaan, että neuroverkko ei tallenna kaikkea tietoa oppimisjoukosta, vaan voi yleistää sitä, jotta vältetään ylisovittaminen.
Ylisovittamista voi esiintyä. Se tapahtuu, kun painot saavat järjestelmän oppimaan yksityiskohtia oppimisjoukosta sen sijaan, että se löytäisi rakenteita. Näin tapahtuu, kun oppimisjoukon koko on liian pieni suhteessa mallin monimutkaisuuteen.
Kätketty kerros on olemassa tai ei, verkon ulostulokerroksessa voi joskus olla monta yksikköä, kun ennustettavia luokkia on monta.
Neuraaliverkkojen edut ja haitat
Katsotaanpa muutamia neuroverkkojen etuja ja haittoja:
- Neuraaliverkot suoriutuvat hyvin lineaarisesta ja epälineaarisesta datasta, mutta yleinen kritiikki neuroverkkoja kohtaan, erityisesti robotiikassa, on se, että ne vaativat suurta harjoittelun moninaisuutta, jotta ne toimisivat todellisessa maailmassa. Näin on siksi, että mikä tahansa oppiva kone tarvitsee riittävästi edustavia esimerkkejä, jotta se pystyy vangitsemaan sen taustalla olevan rakenteen, jonka avulla se pystyy yleistämään uusiin tapauksiin.
- Neuraaliverkot toimivat, vaikka yksi tai muutama yksikkö ei reagoi verkkoon, mutta suurten ja tehokkaiden ohjelmistojen neuraaliverkkojen toteuttaminen vaatii paljon prosessointi- ja tallennusresursseja. Vaikka aivoissa on laitteisto, joka on räätälöity tehtävään käsitellä signaaleja neuronien kuvaajan kautta, jopa kaikkein yksinkertaisimman muodon simulointi Von Neumann -tekniikalla voi pakottaa neuroverkon suunnittelijan täyttämään miljoonia tietokantarivejä sen yhteyksille – mikä voi kuluttaa valtavia määriä tietokoneen muistia ja kiintolevytilaa.
- Neuraaliverkko oppii analysoidusta datasta eikä vaadi uudelleenohjelmointia, mutta niitä kutsutaan mustan laatikon malleiksi (black box-malleiksi), ja ne tarjoavat hyvin vähän tietoa siitä, mitä nämä mallit todella tekevät. Käyttäjän tarvitsee vain syöttää sille syötettä ja katsoa, miten se harjoittelee ja odottaa tulosta.
Johtopäätökset
ANN:ia pidetään yksinkertaisina matemaattisina malleina, joilla voidaan tehostaa nykyisiä data-analyysitekniikoita. Vaikka se ei olekaan verrattavissa ihmisaivojen tehoon, se on kuitenkin tekoälyn perusrakennuspalikka.
Vastaa