Keinotekoinen neuroni ( matemaattinen neuroni McCulloch - Pitts , muodollinen neuroni [1] ) on keinotekoisen hermoverkon solmu , joka on yksinkertaistettu malli luonnollisesta hermosolusta . Matemaattisesti keinotekoinen neuroni esitetään tavallisesti yhden argumentin epälineaarisena funktiona - kaikkien tulosignaalien lineaarisena yhdistelmänä . Tätä toimintoa kutsutaan aktivointifunktioksi [2] tai toimintafunktioksi , siirtofunktioksi . Tulos lähetetään yhteen lähtöön. Tällaiset keinotekoiset neuronit yhdistetään verkoiksi - ne yhdistävät joidenkin hermosolujen ulostulot toisten tuloihin. Keinotekoiset neuronit ja verkot ovat ihanteellisen neurotietokoneen pääelementtejä . [3]
Biologinen neuroni koostuu rungosta, jonka halkaisija on 3–100 mikronia ja joka sisältää ytimen (jossa on suuri määrä ydinhuokosia) ja muita organelleja (mukaan lukien pitkälle kehittynyt karkea ER , jossa on aktiivisia ribosomeja , Golgin laite ) ja prosesseja. On olemassa kahdenlaisia versoja. Aksoni on yleensä pitkä prosessi, joka on mukautettu suorittamaan viritystä neuronin kehosta. Dendriitit ovat pääsääntöisesti lyhyitä ja erittäin haaroittuneita prosesseja, jotka toimivat pääpaikkana hermosoluun vaikuttavien kiihottavien ja inhiboivien synapsien muodostumiselle (eri neuroneilla on erilainen aksonin ja dendriitin pituuden suhde). Neuronissa voi olla useita dendriittejä ja yleensä vain yksi aksoni. Yhdellä neuronilla voi olla yhteyksiä 20 000 muun neuronin kanssa. Ihmisen aivokuoressa on noin 80 miljardia neuronia.
W. McCulloch ja W. Pitts ehdottivat keinotekoisen neuronin matemaattista mallia yhdessä näistä neuroneista koostuvan verkon mallin kanssa. Kirjoittajat osoittivat, että verkko tällaisilla elementeillä voi suorittaa numeerisia ja loogisia operaatioita [4] . Käytännössä verkon toteutti Frank Rosenblatt vuonna 1958 tietokoneohjelmana ja myöhemmin elektronisena laitteena - perceptronina . Aluksi hermosolu pystyi toimimaan vain loogisen nollan ja loogisen ykkösen signaaleilla [5] , koska se rakennettiin biologisen prototyypin pohjalta, joka voi olla vain kahdessa tilassa - virittynyt tai virittymätön. Neuraaliverkkojen kehitys on osoittanut, että niiden käyttöalueen laajentamiseksi on välttämätöntä, että neuroni voi toimia paitsi binäärisillä, myös jatkuvilla (analogisilla) signaaleilla. Tällaisen yleistyksen neuronimallista tekivät Widrow ja Hoff [6] , jotka ehdottivat logistisen käyrän käyttöä neuronin laukaisufunktiona.
Yhteyksiä, joiden kautta joidenkin hermosolujen lähtösignaalit menevät toisten tuloihin, kutsutaan usein synapseiksi , analogisesti biologisten neuronien välisten yhteyksien kanssa. Jokaiselle yhteydelle on ominaista oma painonsa . Positiivisen painon omaavia yhteyksiä kutsutaan kiihottaviksi ja negatiivisiksi yhteyksiksi estäviä [7] . Neuronilla on yksi uloskäynti, jota kutsutaan usein aksoniksi , analogisesti biologisen prototyypin kanssa. Neuronin yhdestä lähdöstä signaali voi saapua mielivaltaiseen määrään muiden hermosolujen tuloja.
Matemaattisesti neuroni on painotettu summain, jonka ainoa tulos saadaan sen syötteistä ja painomatriisista seuraavasti:
, missäTässä ja ovat vastaavasti neuronin tulojen signaalit ja tulojen painot, funktiota u kutsutaan indusoiduksi paikalliskenttään ja f(u) on siirtofunktio. Signaalien mahdolliset arvot neuronin tuloissa katsotaan annettuna intervallissa . Ne voivat olla joko erillisiä (0 tai 1) tai analogisia. Lisäsyöttöä ja sitä vastaavaa painoa käytetään neuronin alustamiseen [8] . Alustustoiminnolla tarkoitetaan hermosolun aktivaatiofunktion siirtymistä vaaka-akselia pitkin eli hermosolun herkkyyskynnyksen muodostumista [5] . Lisäksi joskus tietty satunnaismuuttuja, jota kutsutaan siirroksi, lisätään tarkoituksella neuronin lähtöön. Siirtoa voidaan pitää signaalina ylimääräisessä, aina ladatussa synapsissa.
Siirtofunktio määrittää neuronin lähdössä olevan signaalin riippuvuuden sen tulojen signaalien painotetusta summasta. Useimmissa tapauksissa se kasvaa monotonisesti ja sen vaihteluväli on tai , mutta poikkeuksiakin on. Joillekin verkkooppimisalgoritmeille on myös välttämätöntä, että se on jatkuvasti differentioituva koko numeerisella akselilla [8] . Keinotekoiselle neuronille on täysin tunnusomaista sen siirtotoiminto. Erilaisten siirtofunktioiden käyttö mahdollistaa epälineaarisuuden tuomisen hermosolun ja hermoverkon toimintaan kokonaisuudessaan.
Periaatteessa neuronit luokitellaan niiden sijainnin perusteella verkon topologiassa. Jaa:
Neuronin lähdössä oleva signaali on lineaarisesti suhteessa sen sisääntulon signaalien painotettuun summaan.
,missä on funktioparametri. Keinotekoisissa hermoverkoissa, joissa on kerrosrakenne, syöttökerroksen muodostavat pääsääntöisesti neuronit, joilla on tämän tyyppisiä siirtotoimintoja. Yksinkertaisen lineaarifunktion lisäksi sen muunnelmia voidaan käyttää. Esimerkiksi puolilineaarinen funktio (jos sen argumentti on pienempi kuin nolla, niin se on yhtä suuri kuin nolla, ja muissa tapauksissa se käyttäytyy kuin lineaarinen funktio) tai askelfunktio (lineaarinen kyllästymisfunktio), joka voi olla ilmaistaan kaavalla [10] :
Tässä tapauksessa toimintoa voidaan siirtää molempia akseleita pitkin (kuten kuvassa).
Askel- ja puolilineaaristen aktivointifunktioiden haittoja suhteessa lineaariseen voidaan kutsua se, että ne eivät ole differentioituvia koko numeerisella akselilla, mikä tarkoittaa, että niitä ei voi käyttää joidenkin algoritmien mukaisessa oppimisessa.
Toinen nimi on Heaviside-funktio . Edustaa aukkoa. Kunnes painotettu signaali neuronin sisääntulossa saavuttaa tietyn tason , ulostulon signaali on nolla. Heti kun signaali neuronin sisääntulossa ylittää määritellyn tason, lähtösignaali hyppää yhdellä. Ensimmäinen kerrosteisten keinotekoisten hermoverkkojen edustaja , perceptron [11] , koostui yksinomaan tämän tyyppisistä neuroneista [5] . Tämän funktion matemaattinen merkintätapa näyttää tältä:
Tässä on aktivointifunktion siirtymä suhteessa vaaka-akseliin; vastaavasti on ymmärrettävä neuronin tuloissa olevien signaalien painotettu summa ottamatta huomioon tätä termiä. Koska tämä funktio ei ole differentioitavissa koko x-akselilla, sitä ei voida käyttää verkoissa, jotka on koulutettu takaisinpropagation algoritmilla ja muilla algoritmeilla, jotka edellyttävät siirtofunktion differentiaatiota.
Yksi yleisimmin käytetyistä siirtofunktiotyypeistä tällä hetkellä. Sigmoidityyppisten toimintojen käyttöönotto johtui neuronien kynnysaktivointifunktion omaavien hermoverkkojen rajoituksista - sellaisella aktivointitoiminnolla mikä tahansa verkon lähdöistä on joko nolla tai yksi, mikä rajoittaa verkkojen käyttöä, jotka eivät ole luokitteluongelmissa. . Sigmoidifunktioiden käyttö mahdollisti siirtymisen binäärihermosolujen lähdöistä analogisiin [12] . Tämän tyyppiset siirtofunktiot ovat yleensä luontaisia hermoverkon sisäkerroksissa sijaitseville neuroneille.
LogistiikkatoimintoMatemaattisesti logistinen funktio voidaan ilmaista seuraavasti:
Tässä t on funktioparametri, joka määrittää sen jyrkkyyden . Kun t lähestyy ääretöntä, funktio muuttuu kynnysfunktioksi. Kun sigmoidi degeneroituu vakiofunktioksi, jonka arvo on 0,5. Tämän funktion alue on välillä ( 0,1). Tämän toiminnon tärkeä etu on sen johdannaisen yksinkertaisuus:
Se, että tämän funktion derivaatta voidaan ilmaista sen arvolla, helpottaa tämän funktion käyttöä koulutettaessa verkkoa backpropagation-algoritmilla [13] . Sellaisen siirto-ominaisuuden omaavien neuronien ominaisuus on, että ne vahvistavat vahvoja signaaleja paljon vähemmän kuin heikkoja, koska vahvojen signaalien alueet vastaavat ominaisuuden litteitä osia. Tämä estää suurten signaalien kyllästymisen [14] .
Hyperbolinen tangenttiKäyttämällä hyperbolista tangenttifunktiota
eroaa yllä mainitusta logistisesta käyrästä siinä, että sen arvoalue on välillä (-1; 1). Koska suhde on oikea
,niin molemmat kuvaajat eroavat toisistaan vain akselien mittakaavassa. Hyperbolisen tangentin derivaatta ilmaistaan tietysti myös neliöarvofunktiolla; ominaisuus vastustaa kylläisyyttä on täsmälleen sama.
Muokattu hyperbolinen tangenttiMuokatun hyperbolisen tangentin funktion käyttäminen
skaalata y-akselia pitkin intervalliin [-1; 1] mahdollistaa sigmoidisten funktioiden perheen saamisen.
Radial Basis Transfer Function (RBF) käyttää argumenttina tulovektorin ja jonkin ennalta määritellyn aktivointifunktiokeskuksen välistä etäisyyttä. Tämän funktion arvo on sitä suurempi, mitä lähempänä syöttövektori on keskustaa [15] . Säteittäisenä perustana voit käyttää esimerkiksi Gaussin funktiota :
.Tässä on tulosignaalien keskustan ja vektorin välinen etäisyys . Skalaariparametri määrittää funktion vaimenemisnopeuden vektorin siirtyessä pois keskustasta ja sitä kutsutaan ikkunan leveydeksi , parametri määrittää aktivointifunktion siirtymän abskissa-akselia pitkin. Verkkoja, joissa on tällaisia ominaisuuksia käyttäviä neuroneja, kutsutaan RBF-verkoiksi . Vektorien välisenä etäisyytenä voidaan käyttää erilaisia mittareita [16] , yleensä käytetään euklidista etäisyyttä:
.Tässä on neuronin tuloon syötetyn vektorin -:s komponentti ja vektorin -: s komponentti, joka määrittää siirtofunktion keskustan sijainnin. Sen mukaisesti verkkoja, joissa on tällaisia neuroneja, kutsutaan todennäköisyyksiksi ja regressioiksi [17] .
Todellisissa verkoissa näiden hermosolujen aktivointifunktio voi heijastaa jonkin satunnaismuuttujan todennäköisyysjakaumaa tai tarkoittaa mitä tahansa muuttujien välistä heuristista riippuvuutta.
Yllä luetellut toiminnot ovat vain murto-osa monista tällä hetkellä käytössä olevista siirtotoiminnoista. Muita siirtotoimintoja ovat [18] :
Deterministisen keinoneuronin malli on kuvattu edellä, eli neuronin lähdön tila määräytyy yksiselitteisesti tulosignaalien summaimen toiminnan tuloksen perusteella. Myös stokastiset neuronit otetaan huomioon , jolloin hermosolujen vaihto tapahtuu todennäköisyydellä, joka riippuu indusoidusta paikalliskentästä, eli siirtofunktio määritellään seuraavasti:
,jossa todennäköisyysjakauma on yleensä sigmoidin muotoinen:
,normalisointivakio otetaan käyttöön todennäköisyysjakauman normalisoinnin ehdolle . Siten neuroni aktivoituu todennäköisyydellä . Parametri on analoginen lämpötilan (mutta ei hermosolun lämpötilan) kanssa ja määrittää hermoverkon häiriön. Jos pyrimme nollaan, stokastinen neuroni muuttuu tavalliseksi hermosoluksi, jolla on Heavisiden siirtofunktio (kynnysfunktio).
Kynnyssiirtofunktiolla varustettu neuroni voi mallintaa erilaisia logiikkafunktioita.
, missä
Taulukot havainnollistavat, kuinka on mahdollista saada neuroni suorittamaan konjunktio (looginen "AND") ja disjunktio (looginen "OR") tulosignaalien yli asettamalla tulosignaalien painot ja herkkyyskynnys, sekä looginen negaatio. tulosignaali [19] . Nämä kolme operaatiota riittävät mallintamaan täysin minkä tahansa loogisen funktion mistä tahansa argumenttien määrästä.
EI | T | -1.0 | |
---|---|---|---|
w | -1.5 | ||
x | 0 | yksi | |
f | yksi | 0 |
Ja | T | 1.5 | |||
---|---|---|---|---|---|
w 1 | 1.0 | ||||
w 2 | 1.0 | ||||
x 1 | 0 | 0 | yksi | yksi | |
x2_ _ | 0 | yksi | 0 | yksi | |
f | 0 | 0 | 0 | yksi |
TAI | T | 0.5 | |||
---|---|---|---|---|---|
w 1 | 1.0 | ||||
w 2 | 1.0 | ||||
x 1 | 0 | 0 | yksi | yksi | |
x2_ _ | 0 | yksi | 0 | yksi | |
f | 0 | yksi | yksi | yksi |