Neuroverkkojen luokittelu. Mitä ovat keinotekoiset neuroverkot

    Vaihe 4. Sovellamme sääntöä 2, jonka ehto on tämä lause. Saamme alkuperäisen lausunnon tulosteen.

    Huomaa, että tilanteen yksinkertaistamiseksi oletimme, että molemmissa tapauksissa tosiasiat "Taivas on pilvien peitossa" ja "Barometri putoaa" ovat jo järjestelmän tiedossa. Itse asiassa järjestelmä selvittää jonkin säännön ehtoon sisältyvän tosiasian totuuden tai valheellisuuden kysymällä siitä käyttäjältä sillä hetkellä, kun se yrittää soveltaa sääntöä. Annettu esimerkki valittiin tarkoituksella hyvin yksinkertaiseksi, eikä se heijastele monia päättelyn organisointiin liittyviä ongelmia asiantuntijajärjestelmässä. Erityisesti esimerkki voi antaa vaikutelman, että suora päättelyketju on tehokkaampi kuin käänteinen, mikä itse asiassa ei yleisesti ottaen pidä paikkaansa. Tietyn päättelystrategian tehokkuus riippuu tehtävän luonteesta ja tietokannan sisällöstä. Diagnostisissa järjestelmissä suoraa päättelyä käytetään useammin, kun taas suunnittelujärjestelmissä käänteinen päättely on tehokkaampaa. Joissakin järjestelmissä päättely perustuu käänteisen ja rajoitetun suoran yhdistelmään. Tätä yhdistettyä menetelmää kutsutaan sykliseksi.

  • 2.7 Päätösten selitykset

ES:n selittävä osa selittää, kuinka järjestelmä sai ratkaisun ongelmaan (tai miksi se ei saanut ratkaisua) ja mitä tietoa se käytti tehdessään, mikä helpottaa asiantuntijan testaamista ja lisää käyttäjän luottamusta lopputulos. Koska tietopohjaiset järjestelmät toteutetaan tietokoneilla, syöttötieto joko havaitaan tietokoneelle ymmärrettävässä muodossa, ts. bitteinä ja tavuina. Kuitenkin, jotta kouluttamaton käyttäjä voisi olla vuorovaikutuksessa, se vaatii luonnollisen kielen viestintävälineitä. Suurimmalla osalla tietopohjaisista järjestelmistä on melko primitiivinen luonnollisen kielen käyttöliittymä - kelvollisia käyttäjän syötteitä rajoittavat tietokannan sisältämät käsitteet. Joten käyttämällä yksinkertaisen ES:n ja tietokannan esimerkkiä, käyttäjän ja järjestelmän välinen dialogi voidaan kuvitella seuraavasti:

Järjestelmä: Haluatko tietää, tarvitseeko sinun tuoda sateenvarjo mukaasi?

Käyttäjä: Kyllä.

Järjestelmä: Onko totta, että taivas on pilvien peitossa?

Käyttäjä: Kyllä.

Järjestelmä: Onko totta, että barometri putoaa?

Käyttäjä: Kyllä.

Järjestelmä: (pienen "ajattelun" jälkeen) Sinun tulee ottaa sateenvarjo mukaasi.

Kuten tästä esimerkistä voidaan nähdä, kuulemisen aikana dialogialoite kuuluu järjestelmään, ja itse EY:n kuuleminen näyttää samalta kuin ihmisasiantuntijan kuuleminen: kysytään joukko kysymyksiä ja niiden analyysin perusteella. , annetaan asiantuntijalausunto.

Yksi tärkeimmistä tietopohjaisten järjestelmien erityisongelmista on tiedon edustamisen ongelma. Tämä selittyy sillä, että tiedon esitysmuodolla on merkittävä vaikutus järjestelmän ominaisuuksiin ja ominaisuuksiin. Jotta kaikenlaista tietoa todellisesta maailmasta voidaan manipuloida tietokoneen avulla, on tarpeen suorittaa niiden mallinnus. Tällaisissa tapauksissa on tarpeen erottaa tietokoneella käsiteltäväksi tarkoitettu tieto ja henkilön käyttämä tieto.

Tiedon esitysmallia suunniteltaessa tulee huomioida esityksen yhtenäisyys ja ymmärtämisen helppous. Homogeeninen esitys johtaa päätelmien hallintamekanismin yksinkertaistamiseen ja tiedonhallinnan yksinkertaistamiseen. Tiedon esityksen tulee olla asiantuntijoiden ja järjestelmän käyttäjien ymmärrettävää. Muuten tiedon hankkiminen ja sen arviointi on vaikeaa. Tätä vaatimusta on kuitenkin melko vaikea täyttää yhtäläisesti sekä yksinkertaisissa että monimutkaisissa tehtävissä. Yleensä yksinkertaisissa tehtävissä ne pysähtyvät johonkin keskimääräiseen (kompromissi) esitykseen, mutta strukturointi ja modulaarinen esitys ovat välttämättömiä monimutkaisten ja suurten ongelmien ratkaisemiseksi.

Tyypillisiä tiedon esitysmalleja ovat: mallit: tuotanto, kehysten käyttöön perustuva semanttinen verkko, looginen malli.

23. Neuroverkot. Neuroverkkojen tyypit. Algoritmit hermoverkkojen harjoittamiseen. Hermoverkkojen soveltaminen hahmontunnistusongelmiin.

Keinotekoinen hermoverkko(INS) - matemaattiset mallit sekä niiden ohjelmisto- tai laitteistototeutukset, jotka on rakennettu biologisten hermoverkkojen organisoinnin ja toiminnan periaatteelle - elävän organismin hermosoluverkostot. Tämä käsite syntyi aivoissa ajattelun aikana tapahtuvien prosessien tutkimuksessa ja näiden prosessien mallintamisessa. Ensimmäinen tällainen aivomalli oli perceptroni. Myöhemmin näitä malleja alettiin käyttää käytännön tarkoituksiin, pääsääntöisesti ongelmien ennustamisessa.

ANN:t ovat yhdistettyjen ja vuorovaikutuksessa olevien yksinkertaisten prosessorien (keinotekoisten neuronien) järjestelmä. Tällaiset prosessorit ovat yleensä melko yksinkertaisia, varsinkin kun verrataan henkilökohtaisissa tietokoneissa käytettyihin prosessoreihin. Jokainen prosessori tällaisessa verkossa käsittelee vain signaaleja, jotka se vastaanottaa ajoittain ja signaaleja, jotka se lähettää säännöllisesti muille prosessoreille. Siitä huolimatta, kun tällaiset paikallisesti yksinkertaiset prosessorit yhdistetään riittävän suureen verkkoon, jossa on ohjattu vuorovaikutus, ne pystyvät yhdessä suorittamaan varsin monimutkaisia ​​tehtäviä.

Koneoppimisen näkökulmasta hermoverkko on erityinen tapaus hahmontunnistusmenetelmistä, diskriminanttianalyysistä, klusterointimenetelmistä jne. Neuroverkkokoulutus on matemaattisesti katsottuna moniparametrinen epälineaarinen optimointiongelma. Kybernetiikan näkökulmasta hermoverkkoa käytetään adaptiivisissa ohjaustehtävissä ja robotiikan algoritmeina. Tietotekniikan ja ohjelmoinnin kehityksen näkökulmasta neuroverkko on tapa ratkaista tehokkaan rinnakkaisuuden ongelma. Ja tekoälyn näkökulmasta ANN on konnektivismin filosofisen virtauksen perusta ja pääsuunta rakenteellisessa lähestymistavassa tutkia mahdollisuutta rakentaa (simuloida) luonnollista älykkyyttä tietokonealgoritmeilla.

Neuraaliverkkoja ei ohjelmoida sanan tavallisessa merkityksessä ovat koulutettuja. Oppimiskyky on yksi hermoverkkojen tärkeimmistä eduista perinteisiin algoritmeihin verrattuna. Teknisesti oppiminen on neuronien välisten yhteyksien kertoimien löytämistä. Oppimisprosessissa hermoverkko pystyy tunnistamaan monimutkaiset tulojen ja tulosten väliset suhteet sekä suorittamaan yleistyksen. Tämä tarkoittaa, että onnistuneen koulutuksen tapauksessa verkko pystyy palauttamaan oikean tuloksen koulutusnäytteestä puuttuvien tietojen perusteella.

Merkittäviä käyttökohteita

Hahmontunnistusja luokittelu. Kuvina voivat toimia eri luonteiset esineet: tekstisymbolit, kuvat, äänikuviot jne. Verkostoa opetettaessa tarjotaan erilaisia ​​kuvakuvioita, joista käy ilmi, mihin luokkaan ne kuuluvat. Näyte esitetään yleensä piirrearvojen vektorina. Tässä tapauksessa kaikkien ominaisuuksien kokonaisuuden pitäisi olla määrittää yksilöllisesti luokan Jolle näyte kuuluu. Jos ominaisuuksia ei ole tarpeeksi, verkko voi liittää saman näytteen useisiin luokkiin, mikä ei pidä paikkaansa. Verkkokoulutuksen lopussa se voidaan esittää aiemmin tuntemattomilla kuvilla ja saada vastaus tiettyyn luokkaan kuulumisesta.

Tällaisen verkon topologialle on ominaista se, että neuronien lukumäärä lähtökerroksessa on yleensä yhtä suuri kuin määritettyjen luokkien lukumäärä. Tämä määrittää vastaavuuden hermoverkon lähdön ja sen edustaman luokan välille. Kun verkkoon esitetään kuva, jossakin sen lähdöistä tulee näkyä merkki, että kuva kuuluu tähän luokkaan. Samanaikaisesti muissa lähdöissä tulee olla merkki siitä, että kuva ei kuulu tähän luokkaan. Jos kahdessa tai useammassa lähdössä on merkki luokkaan kuulumisesta, katsotaan, että verkko ei ole "epävarma" vastauksestaan.

Päätöksenteko ja johtaminen. Tilanteet ovat luokituksen alaisia, joiden ominaisuudet syötetään hermoverkon tuloon. Verkon ulostulossa pitäisi näkyä merkki ratkaisusta. Tässä tapauksessa erilaisia ​​kriteerejä ohjatun järjestelmän tilan kuvaamiseksi käytetään tulosignaaleina.

Klusterointi. Klusteroinnilla tarkoitetaan tulosignaalijoukon jakamista luokkiin huolimatta siitä, että luokkien lukumäärää tai ominaisuuksia ei tiedetä etukäteen. Harjoittelun jälkeen tällainen verkko pystyy määrittämään, mihin luokkaan tulosignaali kuuluu. Verkko voi myös signaloida, että tulosignaali ei kuulu mihinkään valituista luokista - tämä on merkki siitä, että opetusnäytteestä puuttuu uutta dataa. Tällainen verkko siis voi havaita uusia, aiemmin tuntemattomia signaaliluokkia. Verkoston tunnistamien luokkien ja aihealueella olevien luokkien välisen vastaavuuden määrittelee henkilö. Klusterointia toteuttavat esimerkiksi Kohosen neuroverkot.

Ennustaminenjalikiarvo. Neuraaliverkon kyky ennustaa seuraa suoraan sen kyvystä yleistää ja korostaa piileviä riippuvuuksia tulo- ja lähtötietojen välillä. Harjoittelun jälkeen verkko pystyy ennustamaan tietyn sekvenssin tulevan arvon useiden aikaisempien arvojen ja/tai joidenkin tällä hetkellä olemassa olevien tekijöiden perusteella. On huomattava, että ennustaminen on mahdollista vain silloin aiemmat muutokset määräävät jossain määrin tulevat muutokset. Esimerkiksi osakekurssien ennustaminen viime viikon osakehintojen perusteella voi onnistua tai ei onnistu, kun taas huomisen lottotulosten ennustaminen viimeisen 50 vuoden tietojen perusteella ei tuskin onnistu.

Tietojen pakkausjaAssosiatiivinen muisti. Hermoverkkojen kyky tunnistaa eri parametrien välisiä suhteita mahdollistaa korkeadimensionaalisen datan ilmaisemisen kompaktimmin, jos data on tiiviisti yhteydessä toisiinsa. Käänteistä prosessia - alkuperäisen tietojoukon palauttamista tiedosta - kutsutaan (auto)assosiatiiviseksi muistiksi. Assosiatiivisen muistin avulla voit myös palauttaa alkuperäisen signaalin/kuvan kohinaisista/vaurioituneista tulotiedoista. Heteroassosiatiivisen muistin ongelman ratkaiseminen mahdollistaa sisältöosoitteellisen muistin toteuttamisen.

Ongelmanratkaisun vaiheet

Tiedonkeruu koulutusta varten;

    Tietojen valmistelu ja normalisointi;

    Verkkotopologian valinta;

    Verkon ominaisuuksien kokeellinen valinta;

    Harjoitteluparametrien kokeellinen valinta;

    todellinen koulutus;

    koulutuksen riittävyyden tarkistaminen;

    Parametrien säätö, loppukoulutus;

    Verbalisointi myöhempää käyttöä varten.

    Joitakin näistä vaiheista tulisi harkita yksityiskohtaisemmin.

Tiedonkeruu koulutusta varten

Tietojen valinta verkkokoulutukseen ja niiden käsittely on vaikein vaihe ongelman ratkaisemisessa. Harjoittelutietojoukon on täytettävä useita ehtoja:

Edustavuus – tietojen tulee havainnollistaa aihealueen todellista tilaa;

Johdonmukaisuus – koulutusnäytteen epäjohdonmukaiset tiedot johtavat huonoon verkkokoulutuksen laatuun;

Alkutiedot muunnetaan sellaiseen muotoon, jossa ne voidaan lähettää verkon tuloihin. Jokainen tietotiedoston merkintä kutsutaan oppiva pariskunta tai oppimisvektori. Koulutusvektori sisältää yhden arvon jokaiselle verkkotulolle ja koulutustyypistä (valvottu tai valvomaton) riippuen yhden arvon jokaiselle verkkolähdölle. Verkon kouluttaminen "raaka-aineella" ei yleensä anna korkealaatuisia tuloksia. On olemassa useita tapoja parantaa verkon "näkemystä".

Normalisointi suoritetaan, kun eri mittaisia ​​tietoja syötetään eri tuloihin. Esimerkiksi verkon ensimmäinen tulo toimitetaan arvoilla nollasta yhteen ja toinen - sadasta tuhanteen. Normalisoinnin puuttuessa toisen tulon arvoilla on aina huomattavasti suurempi vaikutus verkon ulostuloon kuin ensimmäisen tulon arvoilla. Normalisoitaessa kaikkien tulo- ja lähtötietojen mitat yhdistetään;

Kvantisointi suoritetaan jatkuville suureille, joille on varattu äärellinen joukko diskreettejä arvoja. Kvantisointia käytetään esimerkiksi äänisignaalien taajuuksien asettamiseen puheentunnistuksessa;

Suodatus suoritetaan "meluisille" tiedoille.

Lisäksi sekä syöttö- että lähtötietojen esittämisellä on tärkeä rooli. Oletetaan, että verkko on koulutettu tunnistamaan kuvissa olevat kirjaimet ja sillä on yksi numeerinen tulos - kirjaimen numero aakkostossa. Tässä tapauksessa verkko saa väärän vaikutelman, että kirjaimet numeroilla 1 ja 2 ovat samankaltaisempia kuin kirjaimet numeroilla 1 ja 3, mikä ei yleensä pidä paikkaansa. Tällaisen tilanteen välttämiseksi käytetään verkkotopologiaa, jossa on suuri määrä lähtöjä, jolloin jokaisella lähdöllä on oma merkityksensä. Mitä enemmän lähtöjä verkossa on, sitä suurempi on luokkien välinen etäisyys ja sitä vaikeampi on sekoittaa niitä.

Verkkotopologian valinta. Verkon tyyppi tulee valita ongelman ja käytettävissä olevien koulutustietojen perusteella. Ohjattu oppiminen vaatii "asiantuntija-arvioinnin" jokaiselle otoksen elementille. Joskus tällaisen arvion saaminen suurelle tietomäärälle on yksinkertaisesti mahdotonta. Näissä tapauksissa luonnollinen valinta on ohjaamaton oppimisverkko, kuten itseorganisoituva Kohosen kartta tai Hopfield-hermoverkko. Muiden ongelmien ratkaisussa, kuten aikasarjaennusteissa, asiantuntija-arvio sisältyy jo alkuperäiseen tietoon ja se voidaan poimia käsittelyn aikana. Tässä tapauksessa voit käyttää monikerroksista perceptronia tai Word-verkkoa.

Verkon ominaisuuksien kokeellinen valinta. Yleisen rakenteen valinnan jälkeen on tarpeen kokeellisesti valita verkkoparametrit. Perceptronin kaltaisissa verkoissa tämä on kerrosten lukumäärä, piilotettujen kerrosten lohkojen lukumäärä (Word-verkot), ohitusyhteyksien olemassaolo tai puuttuminen ja neuronien siirtotoiminnot. Kun valitaan kerrosten ja hermosolujen lukumäärä niissä, on lähdettävä siitä, että verkon yleistyskyky on sitä suurempi, mitä suurempi on neuronien välisten yhteyksien kokonaismäärä. Toisaalta yhteyksien määrää ylhäältä rajoittaa koulutustiedon tietueiden määrä.

Oppimisparametrien kokeellinen valinta. Kun olet valinnut tietyn topologian, sinun on valittava neuroverkon koulutusparametrit. Tämä vaihe on erityisen tärkeä valvotuille verkoille. Parametrien oikea valinta ei ratkaise vain sitä, kuinka nopeasti verkon vastaukset konvergoivat oikeiksi vastauksiksi. Esimerkiksi alhaisen oppimisnopeuden valitseminen lisää lähentymisaikaa, mutta joskus vältetään verkon halvaantuminen. Oppimismomentin kasvu voi johtaa sekä konvergenssiajan pidentämiseen että pienenemiseen virhepinnan muodosta riippuen. Parametrien tällaisen ristiriitaisen vaikutuksen perusteella voidaan päätellä, että niiden arvot tulisi valita kokeellisesti oppimisen suorittamiskriteerin (esimerkiksi virheen minimoiminen tai harjoitusajan rajoittaminen) ohjaamana.

Varsinainen verkoston koulutus. Oppimisprosessin aikana verkko skannaa harjoitusnäytteen tietyssä järjestyksessä. Selausjärjestys voi olla peräkkäinen, satunnainen jne. Jotkut valvomattomat verkot, kuten Hopfield-verkot, skannaavat näytteen vain kerran. Muut, kuten Kohosen verkot ja valvotut verkot, skannaavat näytteen monta kertaa, yhdellä täydellisellä läpikäynnillä ns. oppimisen aikakausi. Opettajan kanssa oppiessa lähtötietojoukko jaetaan kahteen osaan - varsinaiseen harjoitusnäytteeseen ja testitietoihin; erotteluperiaate voi olla mielivaltainen. Harjoitusdata syötetään verkkoon harjoittelua varten ja testitiedoista lasketaan verkon virhe (testitietoja ei koskaan käytetä verkon kouluttamiseen). Siten jos virhe pienenee testitiedoissa, verkko yleistyy. Jos harjoitustietojen virhe pienenee edelleen ja testidatan virhe kasvaa, verkko on lopettanut yleistämisen ja vain "muistaa" harjoitustiedot. Tätä ilmiötä kutsutaan verkon uudelleenkoulutukseksi tai ylisovitukseksi. Tällaisissa tapauksissa harjoittelu yleensä keskeytetään. Harjoitteluprosessin aikana voi ilmaantua muita ongelmia, kuten halvaantuminen tai verkon joutuminen virhepinnan paikalliseen minimiin. On mahdotonta ennustaa etukäteen tietyn ongelman ilmenemistä, samoin kuin antaa yksiselitteisiä suosituksia niiden ratkaisemiseksi.

Harjoittelun riittävyyden tarkistaminen. Jopa onnistuneen, ensi silmäyksellä koulutuksen tapauksessa verkosto ei aina opi tarkalleen, mitä luoja halusi siltä. On tapaus, jossa verkko on koulutettu tunnistamaan kuvia tankeista valokuvista, mutta myöhemmin kävi ilmi, että kaikki tankit on kuvattu

sama tausta. Tämän seurauksena verkko "oppii" tunnistamaan tämän tyyppisen maaston sen sijaan, että "oppii" tunnistamaan tankkeja. Siten verkosto ei "ymmärrä" sitä, mitä siltä vaadittiin, vaan sitä, mikä on helpoin yleistää.

Luokittelu syötetietojen tyypin mukaan

Analogiset neuroverkot (käyttää tietoa reaalilukujen muodossa);

Binaariset neuroverkot (toimivat binäärimuodossa esitetyllä tiedolla).

Luokittelu koulutuksen luonteen mukaan

Ohjattu oppiminen - hermoverkon lähtöpäätösavaruus tunnetaan;

Ohjaamaton oppiminen - hermoverkko generoi lähtöpäätösavaruuden vain syöttötoimintojen perusteella. Tällaisia ​​verkostoja kutsutaan itseorganisoituviksi;

Vahvistusoppiminen on järjestelmä seuraamusten ja palkkioiden määrittämiseksi ympäristöstä.

Luokittelu synapsivirityksen luonteen mukaan

Kiinteillä yhteyksillä varustetut verkot (hermoverkon painokertoimet valitaan välittömästi ongelman olosuhteiden perusteella, kun taas: , missä W ovat verkon painokertoimet);

verkot, joissa on dynaamisia yhteyksiä (niille oppimisprosessin aikana synaptisia yhteyksiä säädetään, eli , missä W ovat verkon painokertoimet).

Luokittelu signaalin lähetysajan mukaan

Useissa hermoverkoissa aktivointitoiminto voi riippua paitsi yhteyksien painokertoimista w ij, mutta myös impulssin (signaalin) lähetysajankohdasta viestintäkanavien τ kautta ij. Siksi yleensä aktivoiva (lähettävä) viestintätoiminto c ij elementistä u i elementtiin u j on muotoa: . Sitten synkroninen verkko kutsutaan sellaiseksi verkkoksi, jonka lähetysaika τ ij jokainen sidos on joko nolla tai kiinteä vakio τ. asynkroninen kutsutaan sellaiseksi verkkoksi, jonka lähetysaika τ ij jokaiselle elementtien väliselle linkille u i ja u j omaa, mutta myös pysyvää.

Luokittelu suhteiden luonteen mukaan

Feedforward verkot

Kaikki yhteydet on suunnattu tiukasti tuloneuroneista lähtöhermosoluihin. Esimerkkejä tällaisista verkoista ovat Rosenblatt-perceptron, multilayer perceptron, Word-verkot.

Toistuvat hermoverkot

Lähtöhermosolujen tai piilokerroksen hermosolujen signaali välitetään osittain takaisin tulokerroksen hermosolujen tuloihin (palaute). Toistuva verkko Hopfield-verkko "suodattaa" syötetyn datan palaten vakaaseen tilaan ja mahdollistaa siten tiedon pakkaamisen ja assosiatiivisen muistin rakentamisen ongelmien ratkaisemisen. Toistuvien verkkojen erikoistapaus ovat kaksisuuntaiset verkot. Tällaisissa verkoissa kerrosten välillä on yhteyksiä sekä tulokerroksesta lähtökerrokselle että vastakkaiseen suuntaan. Klassinen esimerkki on Coscon hermoverkko.

Radiaaliset kantafunktiot

Keinotekoiset hermoverkot, jotka käyttävät radiaalisia perushermoverkkoja aktivointitoimintoina (tällaisista verkoista käytetään lyhennettä RBF-verkot). Yleisnäkymä säteittäiskantafunktiosta:

, Esimerkiksi,

missä x- hermosolujen tulosignaalien vektori, σ - funktioikkunan leveys, φ( y) on laskeva funktio (useimmiten nolla tietyn segmentin ulkopuolella).

Säteittäiselle perusverkolle on tunnusomaista kolme ominaisuutta:

Ainoa piilotettu kerros

Vain piilotetun kerroksen neuroneilla on epälineaarinen aktivointitoiminto

Tulo- ja piilokerrosten yhteyksien synaptiset painot ovat yhtä

Tietoja koulutusmenettelystä - katso kirjallisuus

Itseorganisoituvat kortit. Tällaiset verkot ovat kilpailukykyinen neuroverkko, jossa on oppimista

valvomatta suorittamassa visualisointitehtävää ja

klusterointi. Se on menetelmä moniulotteisen avaruuden projisoimiseksi pienemmän ulottuvuuden (useimmiten kaksiulotteisen) tilaan, sitä käytetään myös mallinnus-, ennustamis- yms. ongelmien ratkaisemiseen. Se on yksi Kohosen hermoverkkojen versioista. Kohosen itseorganisoituvat kartat palvelevat ensisijaisesti visualisointia ja alustavaa ("tiedustelu") datan analysointia.

Kohosen verkkoon menevä signaali menee kaikkiin hermosoluihin kerralla, vastaavien synapsien painot tulkitaan solmupaikan koordinaatteiksi ja lähtösignaali muodostetaan ”voittaja vie kaiken” -periaatteen mukaan eli lähimpänä oleva neuroni. (synapsipainojen mielessä) tulosignaalilla on nollasta poikkeava lähtösignaaliobjekti. Oppimisprosessin aikana synapsien painoja säädetään siten, että hilasolmut "sijoittuvat" paikallisen tiedon tiivistymisen paikkoihin, eli ne kuvaavat datapilven klusterirakennetta, toisaalta yhteyksiä. neuronien välillä vastaavat naapuruussuhteita vastaavien klusterien välillä piirreavaruudessa.

Tällaisia ​​karttoja on kätevää pitää moniulotteisessa tilassa olevien solmujen kaksiulotteisina ruudukoina. Aluksi itseorganisoituva kartta on linkeillä yhdistettyjen solmujen ruudukko. Kohonen tarkasteli kahta vaihtoehtoa solmujen yhdistämiseksi - suorakulmaisessa ja kuusikulmaisessa ruudukossa - erona on, että suorakaiteen muotoisessa ruudukossa kukin solmu on kytketty 4 viereiseen solmuun ja kuusikulmaisessa - 6 lähimpään solmuun. Kahdella tällaisella ruudukolla Kohosen verkon rakentamisprosessi eroaa vain paikasta, jossa tietyn solmun lähimmät naapurit kulkevat.

Verkon alkuperäinen sisäkkäisyys tietoavaruudessa valitaan mielivaltaisesti. Tekijän SOM_PAK-paketti tarjoaa vaihtoehtoja solmujen satunnaiseen alkusijaintiin avaruudessa ja muunnelman solmujen sijainnille tasossa. Sen jälkeen solmut alkavat liikkua avaruudessa seuraavan algoritmin mukaisesti:

Datapiste valitaan satunnaisesti x.

Lähin määritetään x karttasolmu (BMU - Best Matching Unit).

Tämä solmu siirtää annetun askeleen kohti x:ää. Se ei kuitenkaan liiku yksin, vaan kuljettaa mukanaan tietyn määrän lähimpiä solmuja jostain kartan naapurustosta. Kaikista liikkuvista solmuista datapistettä lähinnä oleva keskussolmu liikkuu eniten, ja loput kokevat sitä pienempiä siirtymiä, mitä kauempana ne ovat BMU:sta. Kartan virittämisessä on kaksi vaihetta - karkea (järjestys) ja hienosäätö (hienosäätö). Ensimmäisessä vaiheessa valitaan suuret naapurustojen arvot ja solmujen liike on kollektiivista - seurauksena kartta "levittää" ja heijastaa karkeasti tietorakennetta; hienosäätövaiheessa lähialueen säde on 1-2 ja solmujen yksittäiset paikat on jo säädetty. Lisäksi bias-arvo pienenee tasaisesti ajan myötä, eli se on suuri jokaisen harjoitusvaiheen alussa ja lähellä nollaa lopussa.

Algoritmi toistaa tietyn määrän aikakausia (on selvää, että vaiheiden määrä voi vaihdella suuresti tehtävästä riippuen).

Tunnetut verkkotyypit: Rosenblatt Perceptron, Monikerroksinen Perceptron, Jordan-verkko, Elman-verkko, Hamming-verkko, Word-verkko, Hopfield-verkko, Kohosen verkko, Cognitron, Neokognitroni, kaoottinen hermoverkko, värähtelevä hermoverkko, vastapropagaatioverkko, yleinen regressioverkko, todennäköisyyslaskennan verkko, siamilainen neuroverkko Mukautuvat resonanssiverkot.

Algoritmit hermoverkkojen harjoittamiseen.

takaisinlisäystä

nopea leviäminen

Konjugaattigradienttimenetelmä

Levenberg-Marquard-algoritmi

Kvasi-Newtonilainen algoritmi

Delta delta viivalla

Kohosen algoritmi

OVK (oppimisvektorikvantisoija)

Pseudo-inversiomenetelmä (yksiarvon hajottelu)

K-keinomenetelmä

Algoritmit poikkeamien asettamiseen

Neuroverkon kouluttaminen tarkoittaa sitä, että kerromme sille mitä me

saamme häneltä. Tämä prosessi on hyvin samanlainen kuin lapselle aakkosten opettaminen. Näytämme lapselle kuvan kirjaimesta "A", kysymme häneltä: "Mikä kirjain tämä on?" Jos vastaus on väärä, kerromme lapselle vastauksen, jonka haluaisimme häneltä: "Tämä on A-kirjain." Lapsi muistaa tämän esimerkin oikean vastauksen kanssa, eli hänen muistissaan tapahtuu joitain muutoksia oikeaan suuntaan. Toistamme kirjeen esitysprosessia uudestaan ​​​​ja uudestaan, kunnes kaikki 33 kirjainta muistavat tiukasti. Tätä prosessia kutsutaan "ohjatuksi oppimiseksi".

Kun koulutamme neuroverkkoa, toimimme täsmälleen samalla tavalla. Meillä on tietokanta, joka sisältää esimerkkejä (joukko käsin kirjoitettuja kuvia kirjeistä). Esittämällä "A"-kirjaimen kuvan hermoverkon sisääntuloon, saamme siitä jonkin vastauksen, joka ei välttämättä ole oikea. Tiedämme myös oikean (halutun) vastauksen - tässä tapauksessa haluaisimme signaalitason olevan maksimi hermoverkon lähdössä, jonka tunniste on "A". Yleensä joukko (1, 0, 0, ...) otetaan halutuksi lähdöksi luokittelutehtävässä, jossa 1 on lähdössä "A" ja 0 kaikissa muissa lähdöissä. Laskemalla eron halutun vastauksen ja verkon todellisen vasteen välillä, saamme 33 numeroa - virhevektori. Virheen takaisinetenemisalgoritmi on joukko kaavoja, joiden avulla voit laskea tarvittavat korjaukset hermoverkkojen painotuksiin virhevektorista. Voimme esittää saman kirjaimen (sekä eri kuvia samasta kirjaimesta) hermoverkkoon monta kertaa. Tässä mielessä harjoittelu on enemmän kuin harjoitusten toistamista urheilussa - harjoittelua.

Osoittautuu, että esimerkkien toistuvan esittämisen jälkeen hermoverkon painot vakiintuvat ja hermoverkko antaa oikeat vastaukset kaikkiin (tai melkein kaikkiin) tietokannan esimerkkeihin. Tässä tapauksessa sanomme, että "hermoverkko on oppinut kaikki esimerkit", "hermoverkko on koulutettu" tai "hermoverkko on koulutettu". Ohjelmistototeutuksissa on havaittavissa, että oppimisprosessin aikana virhearvo (kaikkien lähtöjen neliöityjen virheiden summa) pienenee asteittain. Kun virhearvo saavuttaa nollan tai hyväksyttävän alhaisen tason, harjoitus keskeytetään ja tuloksena olevaa hermoverkkoa pidetään koulutetuksi ja valmiina käytettäväksi uudella datalla.

On tärkeää huomata, että kaikki tiedot, jotka neuroverkolla on tehtävästä, sisältyvät esimerkkisarjaan. Siksi neuroverkkokoulutuksen laatu riippuu suoraan opetusjoukon esimerkkien määrästä sekä siitä, kuinka täydellisesti nämä esimerkit kuvaavat annettua tehtävää. Joten esimerkiksi hermoverkkoa ei ole järkevää käyttää talouskriisin ennustamiseen, jos koulutusnäytteessä ei ole kriisejä. Uskotaan, että neuroverkon täysimittaiseen harjoitteluun tarvitaan vähintään muutama kymmenen (tai parempi kuin satoja) esimerkkejä.

Toistamme vielä kerran, että neuroverkkojen koulutus on monimutkainen ja tiedeintensiivinen prosessi. Neuraaliverkkojen koulutusalgoritmeilla on erilaisia ​​parametreja ja asetuksia, jotka edellyttävät niiden vaikutuksen ymmärtämistä.

Neuroverkon sovellus

Kun hermoverkko on koulutettu, voimme soveltaa sitä hyödyllisten ongelmien ratkaisemiseen. Ihmisaivojen tärkein ominaisuus on, että kun ne on oppinut tietyn prosessin, ne voivat toimia oikein niissä tilanteissa, joissa se ei ole ollut oppimisprosessissa. Voimme esimerkiksi lukea melkein minkä tahansa käsialan, vaikka näemme sen ensimmäistä kertaa elämässämme. Samoin hermoverkko, joka on asianmukaisesti koulutettu, voi todennäköisimmin reagoida oikein uuteen tietoon, jota ei ole sille aiemmin esitelty. Voimme esimerkiksi piirtää kirjaimen "A" eri käsialalla ja pyytää sitten hermoverkkoamme luokittelemaan uuden kuvan. Koulutetun hermoverkon painot tallentavat paljon tietoa kirjainten yhtäläisyyksistä ja eroista, joten voit luottaa oikean vastauksen uuteen kuvan versioon.

Hermoverkkojen soveltaminen hahmontunnistusongelmiin.

Käsialan tunnistustehtävä

Annettu: 30x30 pikselin mustavalkoinen rasterikuva kirjeestä

Välttämätön: määritä mikä kirjain se on (aakkosissa on 33 kirjainta)

Neuroverkon muotoilu:

Annettu: 900 binäärimerkin syöttövektori (900 = 30x30)

Välttämätön: rakentaa neuroverkko, jossa on 900 tuloa ja 33

kirjaimilla merkityt uloskäynnit. Jos neuroverkon sisääntulo on kirjaimen "A" kuva, niin lähtösignaalin maksimiarvo saavutetaan lähdössä "A". Samoin hermoverkko toimii kaikille 33 kirjaimelle.

Selvitetään, miksi on tarpeen valita hermoverkon lähtö, jolla on maksimi signaalitaso. Tosiasia on, että lähtösignaalin taso voi yleensä ottaa minkä tahansa arvon jostakin segmentistä. Tässä ongelmassa emme kuitenkaan ole kiinnostuneita analogisesta vastauksesta, vaan vain luokan numerosta (kirjaimen numero aakkostossa). Siksi käytetään seuraavaa lähestymistapaa - jokaiselle kategorialle on määritetty oma lähtönsä, ja hermoverkon vaste on luokka, jonka lähdössä signaalitaso on maksimi. Tietyssä mielessä signaalin taso lähdössä "A" on varmuus siitä, että käsin kirjoitettu kirjain "A" syötettiin hermoverkon tuloon. Tehtävät, joissa on tarpeen määrittää syöttötiedot johonkin tunnetuista luokista, kutsutaan luokittelutehtävät. Esitetty lähestymistapa on tavallinen tapa luokitella käyttämällä hermoverkkoja.

Kuinka rakentaa neuroverkko. Nyt kun on käynyt selväksi, mitä tarkalleen haluamme rakentaa, voimme siirtyä kysymykseen "miten rakentaa tällainen hermoverkko". Tämä ongelma ratkaistaan ​​kahdessa vaiheessa:

Neuroverkon tyypin (arkkitehtuuri) valinta.

Neuraaliverkon painojen valinta (harjoittelu).

Ensimmäinen askel on valita seuraavat:

mitä hermosoluja haluamme käyttää (sisääntulojen määrä, siirtofunktiot);

miten ne pitäisi liittää toisiinsa;

mitä pitää neuroverkon tuloina ja lähdöinä.

Ensi silmäyksellä tämä tehtävä tuntuu ylivoimaiselta, mutta onneksi meidän ei tarvitse keksiä hermoverkkoa tyhjästä - erilaisia ​​hermoverkkoarkkitehtuureja on useita kymmeniä, ja monien tehokkuus on matemaattisesti todistettu. Suosituimmat ja tutkituimmat arkkitehtuurit ovat monikerroksiset perceptronit, yleinen regressiohermoverkko, Kohosen hermoverkot ja muut.

Toisessa vaiheessa meidän tulisi "kouluttaa" valittu hermoverkko, eli valita sen painojen arvot niin, että se toimii tarpeen mukaan. Kouluttamaton hermoverkko on kuin lapsi - sille voidaan opettaa mitä tahansa. Käytännössä käytetyissä neuroverkoissa painojen määrä voi olla useita kymmeniä tuhansia, joten harjoittelu on todella monimutkainen prosessi. Monille arkkitehtuureille on kehitetty erityisiä oppimisalgoritmeja, joiden avulla voit säätää hermoverkon painoja tietyllä tavalla. Suosituin näistä algoritmeista on Error Back Propagation -menetelmä, jota käytetään esimerkiksi perceptronin kouluttamiseen.

Kansalliskokouksen tässä kehitysvaiheessa onnistuneesti ratkaisemia tehtäviä ovat mm.

visuaalisten, kuulokuvien tunnistaminen; valtava ulottuvuus: tekstintunnistuksesta ja tutkanäytön kohteista puheohjausjärjestelmiin;

assosiatiivisen tiedon haku ja assosiatiivisten mallien luominen; puheen synteesi; luonnollisen kielen muodostuminen;

mallien ja erilaisten epälineaaristen ja vaikeasti kuvattavien matemaattisten järjestelmien muodostaminen ennustaen näiden järjestelmien kehitystä ajassa:

sovellus tuotannossa; syklonien ja muiden luonnonprosessien kehityksen ennustaminen, valuuttakurssien muutosten ja muiden rahoitusprosessien ennustaminen;

ennakoivat ohjaus- ja säätöjärjestelmät; robottien ja muiden monimutkaisten laitteiden ohjaus

erilaiset äärelliset automaatit: jonotus- ja kytkentäjärjestelmät, tietoliikennejärjestelmät;

päätöksenteko ja diagnostiikka, lukuun ottamatta loogista johtopäätöstä; varsinkin alueilla, joilla

ei ole olemassa selkeitä matemaattisia malleja: lääketiede, oikeuslääketiede, rahoitusala;

Vaikka lähes kaikkien näiden ongelmien ratkaisemiseen on olemassa tehokkaita matemaattisia menetelmiä, ja huolimatta siitä, että hermoverkot häviävät erityisiin ongelmiin erikoistuneille menetelmille, johtuen niiden universaalisuudesta ja lupauksesta globaalien ongelmien ratkaisemiseen, esimerkiksi tekoälyn rakentamiseen ja ajatteluprosessin mallintamiseen. , ne ovat tärkeä tutkimusalue, joka vaatii huolellista tutkimista.

Tason pisteistä ja niiden välisistä yhteyksistä voit rakentaa monia graafisia muotoja, joita kutsutaan kaavioiksi. Jos ajattelemme jokaista pistettä yksittäisenä neuronina ja pisteiden välisiä yhteyksiä dendriiteinä ja synapseina, saamme hermoverkon.

Mutta jokainen neuronien yhteys ei ole tehokas tai yleisesti tarkoituksenmukainen. Siksi nykyään on olemassa vain muutama toimiva ja ohjelmallisesti toteutettu hermoverkkoarkkitehtuuri. Kuvaan vain lyhyesti heidän laitettaan ja heidän ratkaisemiaan tehtäväluokkia.

Yhteyksien arkkitehtuurin mukaan hermoverkot voidaan ryhmitellä kahteen luokkaan: suorat jakeluverkot, jossa sidoksissa ei ole silmukoita Kuva 1, ja toistuvat verkot, jossa palaute on mahdollista Kuva 3

Kuva 2 Feedforward neuroverkot

Kuva 3 Toistuvat neuroverkot

Feedforward-verkot on jaettu yksikerroksisiin perceptroneihin (verkkoihin) ja monikerroksisiin perceptroneihin (verkkoihin). Perceptronin nimen hermoverkkoja varten keksi amerikkalainen neurofysiologi F. Rosenblatt, joka vuonna 1957 keksi ensimmäisen neuroprosessorielementti (NPE), eli hermoverkko. Hän osoitti myös perceptronin päätösalueen konvergenssin sen harjoittelun aikana. Välittömästi tämän jälkeen aloitettiin voimakas tutkimus tällä alueella ja ensimmäinen Mark I -neurotietokone luotiin.

Monikerroksiset verkot eroavat toisistaan ​​siinä, että tulo- ja lähtötietojen välissä on useita ns. piilotettuja neuronikerroksia, jotka lisäävät malliin epälineaarisia yhteyksiä.

Harkitse yksinkertaisimman monikerroksisen hermoverkon laitetta. Mikä tahansa hermoverkko koostuu syöttökerros ja tulostuskerros. Vastaavasti esitetään riippumattomat ja riippuvat muuttujat. Verkon neuronit muuntavat syöttödataa ja sitä verrataan ulostuloon. Jos poikkeama on suurempi kuin määritetty, hermosolujen välisten yhteyksien painot ja hermosolujen kynnysarvot muuttuvat erityisellä tavalla. Jälleen tapahtuu prosessi, jossa lasketaan lähtöarvo ja verrataan sitä standardiin. Jos poikkeamat ovat pienempiä kuin määritetty virhe, oppimisprosessi lopetetaan.

Monikerroksisessa verkossa on tulo- ja lähtökerrosten lisäksi ns piilotetut kerrokset. Ne ovat hermosoluja, joilla ei ole suoria lähtötietojen syötteitä, vaan ne on kytketty vain syöttökerroksen lähtöihin ja lähtökerroksen tuloon. Siten piilotetut kerrokset muuttavat edelleen tietoa ja lisäävät malleihin epälineaarisuutta. Ymmärtääksesi paremmin monikerroksisen perceptronin rakenteen, katso kuva 4

Kuva 4 Monikerroksinen Perceptron

Jos yksikerroksinen hermoverkko selviytyy erittäin hyvin luokittelutehtävistä, koska neuronien lähtökerros vertaa edellisestä kerroksesta saatuja arvoja kynnykseen ja antaa arvoksi joko nolla, eli alle kynnysarvon. arvo tai yksi - enemmän kuin kynnysarvo (jos kyseessä on hermosolun sisäisen kynnyksen toiminta), eikä se pysty ratkaisemaan useimpia käytännön ongelmia (jonka Minsky ja Papert osoittivat), sitten monikerroksinen perceptron, jolla on sigmoidipäätös Funktiot pystyy approksimoimaan minkä tahansa toiminnallisen riippuvuuden (tämä todistettiin lauseen muodossa). Mutta samaan aikaan ei ole tiedossa tarvittavaa määrää kerroksia, vaadittua määrää piilotettuja hermosoluja tai aikaa, joka tarvitaan verkon kouluttamiseen. Nämä ongelmat kohtaavat edelleen neuroverkkojen tutkijat ja kehittäjät. Henkilökohtaisesti minusta näyttää siltä, ​​että kaikki hermoverkkojen käytön innostus perustuu juuri tämän lauseen todistukseen. Myöhemmin näytän itse, kuinka neuronit voivat mallintaa eri toimintoluokkia, mutta en väitä olevani täydellinen todiste.



Toistuvien hermoverkkojen luokka on paljon laajempi, ja itse verkot ovat suunnittelultaan monimutkaisempia.

Toistuvien verkkojen käyttäytyminen kuvataan differentiaali- tai differentiaaliyhtälöillä, yleensä ensim- mäistä kertaluokkaa. Tämä laajentaa suuresti hermoverkkojen laajuutta ja niiden kouluttamista. Verkko on järjestetty siten, että jokainen neuroni saa syötteen muilta hermosoluilta, mahdollisesti sekä itsestään että ympäristöstä. Tämäntyyppinen verkko on tärkeä, koska sitä voidaan käyttää epälineaaristen dynaamisten järjestelmien mallintamiseen.

Toistuvia verkkoja ovat mm Hopfield-verkostot ja Kohosen verkot.

Hopfield-verkkojen avulla voit käsitellä järjestämättömiä (käsinkirjoitettuja kirjaimia), aika- (aikasarjat) tai avaruuskuvioita (kaavioita). Yksinkertaisimman tyyppisen toistuvan hermoverkon esitteli Hopfield ja se rakennettiin N:stä neuronista, joista jokainen oli yhteydessä kaikkiin paitsi itseensä, ja kaikki neuronit tulostetaan. Hopfield-hermoverkkoa voidaan käyttää assosiatiivisena muistina. Hopfield-verkkoarkkitehtuuri on esitetty kuvassa 5

Kuva 5 Hopfield-verkkoarkkitehtuuri

Kohosen verkostoa kutsutaan myös "itseorganisoituvaksi ominaisuuskartaksi". Tämäntyyppinen verkosto on suunniteltu itsenäiseen oppimiseen harjoittelun aikana, sille ei tarvitse kertoa oikeita vastauksia. Oppimisprosessin aikana verkon tuloon syötetään erilaisia ​​näytteitä. Verkko kaappaa niiden rakenteen piirteet ja jakaa näytteet klusteriin, ja jo koulutettu verkko kohdistaa jokaisen uuden saapuvan esimerkin johonkin klustereista jonkin "läheisyys"-kriteerin ohjaamana. Verkko koostuu yhdestä tulo- ja yhdestä lähtökerroksesta. Tuloskerroksen elementtien määrä määrittää suoraan kuinka monta erilaista klusteria verkko pystyy tunnistamaan. Jokainen lähtöelementeistä vastaanottaa koko tulovektorin tulona. Kuten missä tahansa hermoverkossa, jokaiselle yhteydelle on määritetty tietty synaptinen paino. Useimmissa tapauksissa jokainen lähtöelementti on kytketty myös naapureihinsa. Näillä kerroksen sisäisillä yhteyksillä on tärkeä rooli oppimisprosessissa, koska painoja säädetään vain sen elementin läheisyydessä, joka parhaiten reagoi seuraavaan syötteeseen. Tuotoselementit kilpailevat keskenään oikeudesta toimia ja "oppia opetus". Se, jonka painovektori on lähimpänä tulovektoria, voittaa.

Neuroverkot voidaan luokitella seuraavasti:

Oppimisen luonne

Neuroverkkojen luokittelu oppimisen luonteen mukaan jakaa ne:

  • ohjattua oppimista käyttävät neuroverkot;
  • hermoverkot, jotka käyttävät ohjaamatonta oppimista.

Tarkastellaan tätä tarkemmin.

Ohjattua oppimista käyttävät neuroverkot. Valvottu oppiminen olettaa, että jokaiselle tulovektorille on kohdevektori, joka edustaa vaadittua lähtöä. Yhdessä heitä kutsutaan harjoituspariksi. Tyypillisesti verkostoa koulutetaan tietylle määrälle tällaisia ​​harjoituspareja. Tulosvektori esitetään, verkon ulostulo lasketaan ja sitä verrataan vastaavaan kohdevektoriin. Seuraavaksi painoja muutetaan algoritmin mukaisesti, joka pyrkii minimoimaan virheen. Harjoitusjoukon vektorit esitetään peräkkäin, virheet lasketaan ja painoja säädetään kullekin vektorille, kunnes koko harjoitusmatriisin virhe saavuttaa hyväksyttävän tason.

Neuraaliverkot käyttävät ohjaamatonta oppimista. Ohjaamaton oppiminen on paljon uskottavampi oppimismalli keinotekoisten hermoverkkojen biologisten juurien kannalta. Kohosen ja monien muiden kehittämä se ei tarvitse kohdevektoria lähdöille eikä siksi vaadi vertailua ennalta määriteltyihin ideaalisiin vasteisiin. Harjoitussarja koostuu vain syöttövektoreista. Oppimisalgoritmi säätää verkon painot siten, että saadaan johdonmukaiset lähtövektorit eli riittävän läheisten tulovektorien esittäminen antaa samat lähdöt. Siksi oppimisprosessi poimii harjoitusjoukon tilastolliset ominaisuudet ja ryhmittelee samanlaiset vektorit luokkiin.

Asteikkoasetus

  • verkot kiinteillä yhteyksillä - hermoverkon painokertoimet valitaan välittömästi ongelman olosuhteiden perusteella;
  • verkot, joissa on dynaamisia yhteyksiä - heille, oppimisprosessissa, synaptisia painoja säädetään.

Syöttötietojen tyyppi

  • analoginen - tulotiedot esitetään reaalilukujen muodossa;
  • binääri - kaikki syötetiedot tällaisissa verkoissa esitetään nollina ja ykkösinä.

Sovellettu hermoverkkomalli

Feedforward-verkot - kaikki yhteydet on suunnattu tiukasti tuloneuroneista lähtöhermosoluihin. Tällaisia ​​verkkoja ovat esimerkiksi: yksinkertaisin perceptroni (kehittäjä Rosenblatt) ja monikerroksinen perceptroni.

Toistuvat hermoverkot - signaali ulostulohermosoluista tai piilokerroksen neuroneista välittyy osittain takaisin tulokerroksen neuronien sisääntuloihin.

Säteittäiset kantafunktiot ovat eräänlainen neuroverkko, jossa on piilotettu kerros säteittäisiä elementtejä ja tuloskerros lineaarisia elementtejä. Tämän tyyppiset verkot ovat melko kompakteja ja nopeasti koulutettuja. Suosittelevat Broomhead ja Lowe (1988) ja Moody and Darkin (1989). Säteittäisessä kantaverkossa on seuraavat ominaisuudet: yksi piilokerros, vain piilokerroksen neuroneilla on epälineaarinen aktivointifunktio ja tulo- ja piilokerrosten synaptiset painot ovat yhtä.

Itseorganisoituvat kartat tai Kohosen verkot - tällainen verkkoluokka koulutetaan pääsääntöisesti ilman opettajaa ja sitä käytetään menestyksekkäästi tunnistusongelmissa. Tämän luokan verkot pystyvät havaitsemaan uutuuden syöttötiedoissa: jos verkko koulutuksen jälkeen kohtaa tietojoukon, joka on erilainen kuin mikään tunnetuista näytteistä, se ei pysty luokittelemaan tällaista joukkoa ja siten paljastamaan uutuuttaan. Kohosen verkossa on vain kaksi kerrosta: tulo ja lähtö, jotka koostuvat säteittäisistä elementeistä.

Luento #4

Neuroverkkojen topologia.

Neuroverkot voidaan topologisen osan näkökulmasta jakaa kolmeen tyyppiin:

1. Täysin yhdistetyt verkot.

Keinotekoinen hermoverkko, jokainen neuroni lähettää lähtösignaalinsa muille neuroneille ja itselleen. Kaikki tulosignaalit välitetään kaikille hermosoluille. Verkon lähtösignaaleina voivat olla kaikki tai useampia lähtöhermosoluja tietyn verkon toimintajaksojen määrän jälkeen.

2. Monikerroksiset verkot (kerroksiset).

Ne koostuvat verkkoon yhdistyneistä neuroneista, kerros sisältää joukon neuroneja yhteisillä lähtösignaaleilla. Tässä tapauksessa kerrosten lukumäärä ja hermosolujen lukumäärä kussakin kerroksessa voi olla mielivaltainen, eikä se liity etukäteen muiden kerrosten neuronien määrään. Sitä rajoittavat kuitenkin PC:n tai erikoistuneen mikropiirin resurssit, johon neuroverkko yleensä toteutetaan.

Jos verkko koostuu Q-tasoista, ne numeroidaan vasemmalta oikealle. Ulkoiset tulot asetetaan ensimmäisen kerroksen tulojen päälle, ja tulokerros on usein numeroitu nollakerrokseksi ja summaksi, eikä signaalin muuntamista suoriteta tässä.

Verkon lähdöt ovat viimeisen kerroksen lähtösignaaleja, monikerroksisessa hermoverkossa on tulo- ja lähtökerrosten lisäksi yksi tai useampi välikerros, jota kutsutaan piilokerroksiksi.

Piilotetuilla kerroksilla varustetun hermoverkon avulla voit korostaa globaaleja datayhteyksiä ylimääräisten synoptisten yhteyksien ja hermosolujen välisen vuorovaikutuksen lisääntymisen vuoksi.

3. Heikot verkot.

Monikerroksiset neuroverkot jaetaan seuraaviin tyyppeihin:

  1. Monotoniset neuroverkot.

Nämä ovat hermoverkkoja, jotka ovat monikerroksisten verkkojen erikoistapaus, jossa on lisäehtoja yhteyksille ja elementeille. Jokainen verkon kerros lähtökerrosta lukuun ottamatta on jaettu kahteen lohkoon: A) Jännittävää B) Jarrutus.

Lohkojen väliset liitännät jaetaan myös estäväksi ja kiihottavaksi. Päästä pois lohkosta A lohkoon B on vain kiihottavia kytkentöjä, mikä tarkoittaa, että mikä tahansa lohkon lähtösignaali B on minkä tahansa lohkon lähtösignaalin monotoninen ei-vähentyvä funktio A, jos nämä liitännät ovat vain estäviä, niin mikä tahansa lohkon lähtösignaali B on minkä tahansa lohkon lähtösignaalin monotonisesti ei-nouseva funktio A. On tärkeää, että monotoniverkkojen elementit edellyttävät elementin lähtösignaalin monotoniriippuvuutta tulosignaalien parametreista.

2. Neuroverkot ilman palautetta

Näissä verkoissa syöttökerroksen neuronit vastaanotettuaan tulosignaalit muuntavat ne ja välittävät ne ensimmäisen piilokerroksen neuronille, sitten ensimmäinen piilokerros syttyy ja niin edelleen Q:lle kerrokselle asti, joka tuottaa lähtösignaalit.



Monikerroksisten verkkojen klassinen muunnelma ovat myötäkytkentäverkot, joita kutsutaan monikerroksisiksi perceptroneiksi. Yli 80 % hermoverkkosovelluksista kuuluu monikerroksisiin verkkoihin ilman palautetta.

Riisi. yksi

Neuraaliverkot, joissa on palautetta näissä verkoissa, tiedot seuraavilta kerroksilta välitetään seuraaville kerroksille.

Takaisinkytkentäkäsite on tyypillinen dynaamisille verkoille, joissa järjestelmän jonkin elementin lähtösignaali vaikuttaa tämän elementin tulosignaaliin.

Siten jotkin ulkoiset signaalit vahvistetaan järjestelmässä kiertävillä signaaleilla. Itse asiassa palautetta on läsnä melkein minkä tahansa eläimen hermostossa. Sillä on tärkeä rooli tutkittaessa erityistä hermoverkkojen luokkaa, jota kutsutaan toistuviksi. Nämä verkot on rakennettu dynaamisista hermosoluista, joiden käyttäytymistä kuvataan differentiaali- tai erotusyhtälöillä, yleensä ensimmäisen kertaluokan.

Neuraaliverkkoja, joissa on palautetta, ovat esimerkiksi Elman-verkot (Kuva 2) ja Giordano-verkot (Kuva 3)

Poistu
Riisi. 3
Giordanon verkko

On huomattava, että keinotekoisen hermoverkon syntetisointiongelma riippuu suuresti ratkaistavasta ongelmasta.

Ei ole olemassa muodollista algoritmia vaaditun arkkitehtuurin määrittämiseksi.

Usein hermoverkon optimaalinen versio voidaan saada intuitiivisella valinnalla. Käytännössä usein valitaan joko tarkoituksella pieni hermoverkko ja sitä asteittain kasvatetaan, tai tietoisesti suuri ja pienennetään sitä vähitellen paljastaen käyttämättömiä yhteyksiä.

  1. Neuroverkkojen koulutus.

Hermoverkko on mukautuva järjestelmä.

Sen sykli koostuu 2 vaiheesta: oppiminen (koulutus) ja verkkotoiminta.

Siksi neuroverkko on koulutettava ennen kuin sitä käytetään käytännössä minkä tahansa ongelman ratkaisemiseen. Kyky oppia ympäristötiedoista ja oppimisen tuloksena parantaa suorituskykyään on hermoverkkojen tärkein ominaisuus. Verkon kyky ratkaista rintaman aiheuttamat ongelmat työvaiheessa riippuu siitä, kuinka hyvin vaihe suoritetaan, hermoverkon koulutuksesta.

Oppimisteoria tarkastelee kolmea perusominaisuutta, jotka liittyvät neuroverkon oppimiseen esimerkin avulla:

1) Kapasiteetti - se määrittää kuinka monta kuvaa verkko voi muistaa ja mitä toimintoja ja päätösrajoja sille voidaan muodostaa.

2) Kuvien monimutkaisuus - se määrittää kuinka monta koulutusesimerkkiä tarvitaan hermoverkon yleistyskyvyn saavuttamiseksi.

3) Laskennallinen monimutkaisuus - tärkeä ominaisuus on koulutukseen käytetty aika. Harjoitteluaika ja harjoittelun laatu liittyvät pääsääntöisesti käänteisesti toisiinsa. Nämä parametrit on valittava kompromissin perusteella.

Oppimisen käsitteeseen liittyy monia toimintoja. Tässä suhteessa on vaikea antaa tälle prosessille yksiselitteistä määritelmää.

Neuroverkon näkökulmasta voidaan käyttää seuraavaa määritelmää:

Oppiminen on prosessi, jossa hermoverkon vapaat parametrit viritetään sen ympäristön simulointityökalulla, johon tämä verkko on upotettu. Oppimisen tyyppi määräytyy sen mukaan, kuinka näitä parametreja säädetään. Tämä oppimisprosessin määritelmä olettaa seuraavan tapahtumasarjan:

A) Neuraaliverkko vastaanottaa ärsykkeitä ulkoisesta ympäristöstä

B) Tämän seurauksena hermoverkon vapaat parametrit muuttuvat

V) Sisäisen rakenteen muuttamisen jälkeen hermoverkko reagoi viritteeseen eri tavalla.

Tätä luetteloa selkeistä säännöistä oppimisongelman ratkaisemiseksi kutsutaan oppimisalgoritmiksi. Kaikille hermoverkkoarkkitehtuureille soveltuvaa universaalia oppimisalgoritmia ei ole.

Oppimisalgoritmit eroavat toisistaan ​​tavassa, jolla ne säätävät neuronien synoptisia painoja ja kynnysarvoja. Erottuva ominaisuus on tapa, jolla koulutettu hermoverkko kommunikoi ulkomaailman kanssa. Tässä yhteydessä puhutaan oppimisparadigmasta, joka liittyy ympäristön malliin, jossa tietty hermoverkko toimii.

Oppimisalgoritmien joukko on jaettu 2 luokkaan: Deterministinen (antunut) ja Stokastinen (todennäköisyys). Ensimmäisessä niistä neuronien synoptisten painojen säätö on jäykkä toimintosarja, ja toisessa se perustuu toimiin, jotka ovat jonkin satunnaisen prosessin alaisia.

Neuraaliverkkojen koulutusparadigmat

Neuroverkoille on kolme koulutusparadigmaa:

1) Ohjattu oppiminen (ohjattu oppiminen)

2) Ohjaamaton oppiminen (itseoppiminen)

3) Mixed (opettajan kanssa ja ilman)

Oppiminen opettajan kanssa

Useimmat hermoverkkomallit mahdollistavat opettajan läsnäolon. Opettaja voidaan ymmärtää harjoitustietojen joukkona (koulutussarja) tai ulkopuolisena tarkkailijana, joka määrittää tuotoksen arvon.

Valvotut hermoverkot ovat työkaluja tiedon poimimiseen hermoverkon lähtöjen ja tulojen välisistä suhteista tietojoukosta. Neuroverkon laatu riippuu sille koulutusprosessin aikana esitettävästä opetusdatan joukosta, kun taas opetusdatan tulee olla tyypillistä tehtävälle, jota neuroverkko oppii ratkaisemaan.

Tiedot, joita käytetään yleisesti neuroverkon kouluttamiseen, jakautuvat usein kahteen luokkaan:

Osa tiedoista käytetään harjoitteluun ja toista testaukseen. Siksi verkkokoulutuksen laatu riippuu suoraan koulutusjoukon esimerkkien määrästä ja siitä, kuinka hyvin nämä esimerkit kuvaavat ratkaistavaa ongelmaa.

Neuraaliverkko on kokoelma hermosolumaisia ​​elementtejä, jotka on tietyllä tavalla kytketty toisiinsa ja ulkoiseen ympäristöön painokertoimien määrittämillä yhteyksillä. Verkossa olevien neuronien suorittamien toimintojen mukaan voidaan erottaa kolme tyyppiä:

1. Syöttöhermosolut, joihin syötetään syötetoimintoa koodaava vektori tai ulkoisen ympäristön kuva, ne eivät yleensä suorita laskennallisia proseduureja ja tiedot välittyvät syötteestä lähtöön muuttamalla niiden aktivointia;

2. Lähtöhermosolut, joiden lähtöarvot edustavat hermoverkon lähtöjä; muunnokset niissä suoritetaan lausekkeiden avulla. Niillä on tärkeä tehtävä verkon lähdön arvon saattamiseksi vaaditulle aikavälille (tämä tehdään aktivointitoiminnolla);

3. Välihermosolut, jotka muodostavat perustan hermoverkkoille, joissa muunnoksia myös suorittavat lausekkeet.

Useimmissa hermomalleissa neuronin tyyppi liittyy sen sijaintiin verkossa. Jos neuronilla on vain ulostuloyhteydet, se on tuloneuroni, jos päinvastoin, se on lähtöhermosolu. On kuitenkin mahdollista, että topologisesti sisäisen neuronin ulostuloa pidetään osana verkon lähtöä. Verkon toiminnan aikana tulovektori muunnetaan lähtövektoriksi, suoritetaan jonkin verran tietojen käsittelyä. Verkon suorittaman datan muuntamisen tietyn tyypin määräävät paitsi hermosolujen kaltaisten elementtien ominaisuudet, myös sen arkkitehtuurin ominaisuudet, nimittäin hermosolujen välisten yhteyksien topologia, tiettyjen hermosolujen kaltaisten elementtien osajoukkojen valinta. tiedon syöttämistä ja tulostamista varten verkkokoulutuksen menetelmät, neuronien välisen kilpailun olemassaolo tai puuttuminen, neuronien välisen tiedonsiirron suunnan ja menetelmien ohjaus ja synkronointi.

Topologian näkökulmasta hermoverkkojen päätyyppiä voidaan erottaa kolme: 1) täysin kytketty (kuva 4, a); 2) monikerroksinen tai kerrostettu (kuva 4, b); 3) heikosti kytketty (paikallisilla liitännöillä) (kuva 4, c).

Riisi. 4. Neuroverkkojen arkkitehtuurit: a - täysin yhdistetty verkko; b - monikerroksinen verkko sarjaliitännöillä;

c - löyhästi kytketyt verkot

Täysin yhdistetyissä hermoverkoissa jokainen neuroni lähettää lähtösignaalinsa muille neuroneille, mukaan lukien itselleen. Kaikki tulosignaalit syötetään kaikkiin hermosoluihin. Verkon lähtösignaalit voivat olla kaikki tai osa neuronien lähtösignaaleista verkon useiden kellojaksojen jälkeen.

Monikerroksisissa hermoverkoissa neuronit yhdistetään kerroksiksi. Kerros sisältää joukon neuroneja yhteisillä tulosignaaleilla. Kerroksessa olevien neuronien lukumäärä voi olla mikä tahansa, eikä se riipu muiden kerrosten hermosolujen lukumäärästä. Yleensä verkko koostuu Q tasosta, jotka on numeroitu vasemmalta oikealle. Ulkoiset tulosignaalit syötetään tulokerroksen neuronien tuloihin ja verkon lähdöt ovat viimeisen kerroksen lähtösignaaleja. Syöttö- ja lähtökerrosten lisäksi monikerroksisessa hermoverkossa on yksi tai useampi piilotettu kerros. Yhdessä kerroksessa käytetään samaa aktivointitoimintoa.

Löyhästi kytketyissä hermoverkoissa neuronit sijaitsevat suorakaiteen tai kuusikulmaisen hilan solmuissa. Jokainen neuroni on yhteydessä neljään (Von Neumannin naapurusto), kuuteen (Golayn naapurusto) tai kahdeksaan (Mooren naapurusto) lähimmästä naapuristaan.

1.2. Keinotekoisten hermoverkkojen syntyhistoria

Tieteellisenä aiheena keinotekoiset hermoverkot ilmoittivat itsensä ensimmäisen kerran 40-luvulla. Toistaakseen ihmisaivojen toimintoja tutkijat loivat yksinkertaisia ​​laitteisto- (ja myöhemmin ohjelmisto-) malleja biologisesta neuronista ja sen kytkentäjärjestelmästä, joita kutsuttiin perceptroneiksi. Kun neurofysiologit saivat syvemmän ymmärryksen ihmisen hermostosta, näitä varhaisia ​​yrityksiä alettiin pitää erittäin karkeina arvioina. Siitä huolimatta ensimmäiset vaikuttavat tulokset saavutettiin perceptroneilla, mikä kannusti jatkotutkimukseen, mikä johti kehittyneempien verkkojen luomiseen. McCulloch ja Pitts suorittivat ensimmäisen systemaattisen keinotekoisten hermoverkkojen tutkimuksen vuonna 1943. Alla olevassa kuvassa esitettyä yksinkertaista hermomallia käytettiin suurimmassa osassa heidän työtään. Tulo vastaanottaa vain binäärisignaalin, ts. joko 0 tai 1. Elementti ∑ kertoo jokaisen X N -syötön painolla W N ja summaa painotetut syötteet. Jos tämä summa on suurempi kuin määritetty kynnysarvo, lähtö on yhtä suuri kuin yksi, muuten se on yhtä suuri kuin nolla (kuva 5).



Riisi. 5. Yksinkertainen hermomalli

Tällaisia ​​järjestelmiä ja monia muita niiden kaltaisia ​​järjestelmiä kutsutaan perceptroneiksi. Perceptronit koostuvat yhdestä kerroksesta (eli neuronikerrosten lukumäärä tulon X ja ulostulon OUT välillä on yksi) keinotekoisista neuroneista, jotka on painotettu useisiin tuloihin (katso kuva 6).


Riisi. 6. Esimerkki perceptronista

Kuvan vasemmalla puolella olevat ympyrän kärjet palvelevat vain tulosignaalien jakamista. Ne eivät suorita laskelmia, joten niitä ei pidetä tasona. Tästä syystä ne on merkitty ympyränä erottamaan ne laskevista neuroneista (summaimista), jotka on merkitty neliöillä.

Perceptroniteoria on perusta monille muille keinotekoisille hermoverkkotyypeille, ja perceptronit itsessään ovat looginen lähtökohta keinotekoisten hermoverkkojen tutkimukselle.

Frank Rosenblatt ehdotti järjestelmää laitteelle, joka simuloi ihmisen havainnointiprosessia, ja kutsui sitä "perceptroniksi". Perceptron välitti signaaleja valokennoista, jotka olivat aistikenttä, sähkömekaanisten muistisolujen lohkoihin. Nämä solut yhdistettiin satunnaisesti toisiinsa konnektivismin periaatteiden mukaisesti. Vuonna 1957 Cornell Aeronautics Laboratory sai onnistuneesti päätökseen perceptronin simuloinnin IBM 704 -tietokoneella, ja kaksi vuotta myöhemmin, 23. kesäkuuta 1960, Cornellin yliopistossa esiteltiin ensimmäinen neurotietokone Mark-1, joka pystyi tunnistamaan. joitain englannin aakkosten kirjaimia.. Perceptronin "opettamiseksi" luokittelemaan kuvia kehitettiin erityinen iteratiivinen kokeilu- ja virheoppimismenetelmä, joka muistuttaa ihmisen oppimisprosessia - virheenkorjausmenetelmää. Lisäksi perceptroni voisi tietyn kirjaimen tunnistaessaan korostaa kirjaimelle ominaisia ​​piirteitä, jotka ovat tilastollisesti yleisempiä kuin yksittäistapauksissa merkityksettömät erot. Siten perceptron pystyi yleistämään eri tavoin kirjoitetut kirjaimet (käsinkirjoitus) yhdeksi yleistetyksi kuvaksi. Perceptronin ominaisuudet olivat kuitenkin rajalliset: kone ei pystynyt luotettavasti tunnistamaan osittain suljettuja kirjaimia, samoin kuin erikokoisia kirjaimia, jotka sijaitsevat siirrolla tai kierrolla, kuin mitä sen koulutusvaiheessa käytettiin.

1.3 Perceptronin laajuus

Tällä hetkellä käytetään perceptronien periaatteita:

erityisten teknisten laitteiden rakentamisessa;

· luotaessa tietokoneohjelmia, jotka mahdollistavat perceptronien toiminnan simuloinnin visuaalisen (käsinkirjoitetun tekstin, piirustuksen ja muotokuvien), kuulo- ja muiden kuvien oppimis- ja tunnistamistiloissa.

lääketieteellisissä ja teknisissä diagnooseissa;

· geofysikaalisten tietojen tulkinta, ilmakuvaus;

Sääennuste

Teollisuusrobottien parantaminen.

1.4 Perceptron-koulutus

Perceptron on työkalu, joka pystyy "muistamaan" ("oppimaan") - mikä kuva kuuluu mihin luokkaan. Tällaisen "harjoittelun" jälkeen hänen pitäisi ihannetapauksessa pystyä "tunnistamaan" oikein muut kuvat, jotka eivät kuuluneet harjoitussarjaan, mutta ovat niiden kanssa riittävän samankaltaisia, tai ilmoittaa, että kuva ei ole samanlainen kuin mikään harjoituskuva. "Riittävä samankaltaisuuden" aste määräytyy sen joukon ominaisuuksien valinnan onnistumisen perusteella. Ja perceptronin kyky "oppia" riippuu joukon ominaisuuksien erotettavuudesta, eli ominaisuusjoukkojen ainutlaatuisuudesta luokkaan saakka (toisin sanoen leikkaavatko niiden luokkia rajoittavat alueet).

Kaikista keinotekoisten hermoverkkojen mielenkiintoisista ominaisuuksista mikään ei vangitse mielikuvitusta yhtä paljon kuin niiden kyky oppia. Heidän koulutuksensa muistuttaa ihmispersoonallisuuden älyllistä kehitystä siinä määrin, että saattaa vaikuttaa siltä, ​​että olemme saavuttaneet syvän ymmärryksen tästä prosessista. Mahdollisuus kouluttaa keinotekoisia hermoverkkoja on rajallinen, ja on monia vaikeita tehtäviä ratkaistavaksi sen määrittämiseksi, olemmeko oikealla tiellä.

Koulutuksen tarkoitus

Verkko on koulutettu antamaan haluttu (tai ainakin johdonmukainen) tulosjoukko joillekin tuloille. Jokaista tällaista tulo- (tai lähtö)joukkoa pidetään vektorina. Harjoittelu suoritetaan peräkkäisellä syöttövektoreiden esittämisellä ja painojen samanaikaisella säädöllä tietyn menettelyn mukaisesti. Oppimisprosessin aikana verkon painot muuttuvat vähitellen sellaisiksi, että jokainen tulovektori generoi lähtövektorin.

On oppimisalgoritmeja opettajan kanssa, ilman opettajaa ja sekoitettuja.

· Valvottu oppiminen olettaa, että jokaiselle tulovektorille on kohdevektori, joka edustaa vaadittua lähtöä. Yhdessä heitä kutsutaan harjoituspariksi. Tyypillisesti verkostoa koulutetaan tietylle määrälle tällaisia ​​harjoituspareja. Tulosvektori esitetään, verkon lähtö lasketaan ja sitä verrataan sopivaan kohdevektoriin, erotus (virhe) syötetään takaisin verkkoon ja painoja muutetaan algoritmin mukaan, joka pyrkii minimoimaan virheen. Harjoitusjoukon vektorit esitetään peräkkäin, virheet lasketaan ja painoja säädetään kullekin vektorille, kunnes koko harjoitusmatriisin virhe saavuttaa hyväksyttävän alhaisen tason.

· Ohjaamaton oppiminen on paljon todennäköisempi oppimismalli biologiselle järjestelmälle, se ei tarvitse tulosvektoria eikä siksi vaadi vertailua ennalta määriteltyihin ihanteellisiin vasteisiin. Harjoitussarja koostuu vain syöttövektoreista. Oppimisalgoritmi säätää verkon painot niin, että saadaan johdonmukaiset lähtövektorit, ts. niin, että riittävän läheisten syöttövektoreiden esittäminen antaa samat lähdöt. Siksi oppimisprosessi poimii harjoitusjoukon tilastolliset ominaisuudet ja ryhmittelee samanlaiset vektorit luokkiin. Tietyn luokan vektorin esittäminen syötteenä antaa tietyn lähtövektorin, mutta ennen oppimista on mahdotonta ennustaa, mitä tulostetta tietty syöttövektoriluokka tuottaa. Siksi tällaisen verkon tuotokset on muutettava johonkin ymmärrettävään muotoon oppimisprosessin vuoksi. Tämä ei ole vakava ongelma. Verkon muodostaman tulon ja lähdön välisen yhteyden tunnistaminen ei yleensä ole vaikeaa.

· Blended-oppimisessa osa painoista määräytyy ohjatun oppimisen kautta ja osa saadaan itseoppivilla algoritmeilla.

2. Perceptron-ohjelmointi

2.1 Perceptronin toimintaalgoritmi

Perceptron-harjoittelu koostuu painokertoimien w i rakentamisesta, missä I=0,1.....n. Harjoittelun jälkeen perceptronin on jaettava kaikki sille tunnistusta varten tarjotut kuvat kahteen luokkaan: joista toisella on nolla-arvo lähdössä ja toisen - yksittäinen.

Vaihe 1. Satunnaislukugeneraattori kaikille synaptisille asteikoille wj(j=1 ,…, n) ja hermosolujen herkkyyskynnys pienten satunnaisarvojen määrittämiseksi.

Vaihe 2 Näytä perceptron "Cross" tai "Naught".

Vaihe 3 Neuron suorittaa tulosignaalien painotetun summauksen

ja tuottaa lähtösignaalin y=1 tai y=0.

Vaihe 4 a. Jos lähtösignaali on oikea, siirry kohtaan vaihe 2 .

Vaihe 4b. Jos lähtösignaali on virheellinen ja on nolla, lisää aktiivisten tulojen painoja, lisää jokaiseen j:nneen synaptiseen painoon j:nnen tulosignaalin arvo.

Vaihe 4. Jos lähtösignaali on väärä ja yhtä suuri kuin yksi, vähennä aktiivisten tulojen painoja.

Vaihe 5 Mene Vaihe 2 tai suorita oppimisprosessi loppuun.

Tämä algoritmi muistuttaa yllättävän prosessia, jossa lapsi tai koululainen opetetaan "palkitsemis-rangaistus" -menetelmällä (tai eläimen kouluttaminen "porkkana ja tikku" -menetelmällä). Kuten tällä menetelmällä koulutetun lapsen tapauksessa, perceptronin oppimisalgoritmi rajallisella määrällä yrityksiä voi johtaa tavoitteeseen - perceptroni hankkii lopulta tarvittavan tiedon, koodaa ne tiettyjen arvojen muodossa. synaptisten yhteyksien vahvuuksien matriisi wj ja siten oppia erottamaan risti tai nolla. Luonnollisesti herää kysymys, johtaako perceptron-oppimisalgoritmi aina haluttuun tulokseen. Vastauksen tähän kysymykseen antaa perceptronin konvergenssilause:

Jos on joukko painoarvoja, jotka tarjoavat tietyn kuvan erottelun, perceptronin oppimisalgoritmi johtaa lopulta joko tähän joukkoon tai vastaavaan joukkoon siten, että tämä kuvan erottelu saavutetaan.

2.2 Käännetyn tietokoneohjelman koulutuksen esittely

Ohjelman avulla voit kouluttaa perceptronin tunnistamaan "ristit" ja "nollat". Ohjelman pääikkunat näkyvät kuvassa. 7.

Koulutus tapahtuu seuraavalla tavalla. Opettajana toimiva käyttäjä piirtää hiirellä kuvan "rististä" tai "turmasta". Sitten hän painaa "Tunnista" -painiketta, jonka jälkeen muodostuu binäärikuva (värillinen solu vastaa 1, väritön solu vastaa 0).

Tulos luodaan syötteiden ja painojen perusteella. Vastaanotettuaan 1:n lähdössä katsotaan, että perceptron tunnisti "ristin", vastaanotettuaan 0 - "nolla". Tunnistuksen tulos näkyy toisessa ikkunassa. Perceptron-virheen sattuessa käyttäjä painaa "Ei"-painiketta tulosikkunassa ja ilmoittaa näin ohjelmalle oikean vastauksen (vastakohtaisen ohjelman vastaanottaman vastauksen), jonka se muistaa. Jos ohjelma vastaa oikein, käyttäjä napsauttaa "Kyllä"-painiketta ja vahvistaa tuloksen oikeellisuuden.


Riisi. 7. Pääohjelman ikkunat

2.3 Perceptron-harjoittelutulokset

Suoritettuaan riittävän suuren iteraatiomäärän perceptroni oppi tunnistamaan tarkasti koulutukseen osallistuneet kuvat. Siten hypoteesi vahvistettiin, että ihmisen aivojen kuvaan ja kaltaisuuteen rakennettu tietokone pystyy ratkaisemaan älyllisiä ongelmia ja erityisesti ratkaisemaan hahmontunnistusongelman.

Sen lisäksi, että perceptroni on oppinut tunnistamaan tuttuja kuvia, ts. ne kuvat, jotka näytettiin hänelle oppimisprosessissa, hän selviytyi onnistuneesti kuvien tunnistamisesta, jotka hän "näki" ensimmäistä kertaa. Kävi ilmi, että perceptron pystyi tunnistamaan kuvat pienellä vääristymällä.

PÄÄTELMÄ

Nykyaikaiset keinotekoiset hermoverkot ovat laitteita, jotka käyttävät valtavaa määrää keinotekoisia hermosoluja ja niiden välisiä yhteyksiä. Huolimatta siitä, että hermoverkkojen kehityksen perimmäistä tavoitetta - ihmisen ajatteluprosessin täydellistä simulointia ei ole saavutettu, niitä käytetään jo nyt monien kuvankäsittelyn, robottien ohjauksen ja jatkuvan tuotannon ongelmien ratkaisemiseksi, ymmärtämiseksi ja puheen syntetisoimiseen, ihmisten sairauksien diagnosointiin ja koneiden ja laitteiden teknisiin toimintahäiriöihin, valuuttakurssien ennustamiseen jne.

Toisin kuin digitaaliset mikroprosessorijärjestelmät, jotka ovat monimutkaisia ​​prosessorin ja muistiyksiköiden yhdistelmiä, jotka perustuvat hermoverkkojen käyttöön, neuroprosessorit sisältävät muistia, joka on jaettu linkeissä hyvin yksinkertaisten prosessorien välillä. Siten prosessorien pääkuormitus tiettyjen toimintojen suorittamiseen kohdistuu järjestelmän arkkitehtuuriin, jonka yksityiskohdat puolestaan ​​​​määräytyvät neuronaalisten yhteyksien avulla. Tällaiseen rakenteeseen perustuvat neurotietokoneiden prototyypit tarjoavat standardin tavan ratkaista monia epätyypillisiä tehtäviä.

On huomattava, että perceptronien päätarkoitus on ratkaista luokitteluongelmia. He tekevät erinomaista työtä lineaarisesti erotettavien vektorien luokittelussa; konvergenssi on taattu rajallisessa määrässä vaiheita. Harjoittelun kesto on herkkä yksittäisten vektorien pituuden poikkeaville, mutta myös tässä tapauksessa voidaan rakentaa ratkaisu. Yksikerroksinen perceptroni voi luokitella vain lineaarisesti erotettavia vektoreita. Mahdollisia tapoja voittaa tämä vaikeus sisältää joko esikäsittelyn lineaarisesti erotettavissa olevan syöttövektoreiden joukon muodostamiseksi tai monikerroksisten perceptronien käyttämisen. Myös muun tyyppisiä hermoverkkoja voidaan soveltaa, kuten lineaarisia verkkoja tai takaisinetenemisverkkoja, jotka voivat luokitella tulovektoreita, jotka ovat lineaarisesti erottamattomia.

Kurssin aikana tehtiin seuraavaa:

1. Tarkastellaan perceptronin käsitettä ja hermoverkkojen luokittelua

2. Keinotekoisten hermoverkkojen syntyhistoriaa on tutkittu.

3. Perceptronin laajuus otetaan huomioon.

4. Esitetään erilaisia ​​menetelmiä perceptronin harjoittamiseksi.

5. Selostetaan tietokoneohjelman "Perceptron" algoritmi.

6. Esitteli koulutusohjelman esittelyn.

Voidaan siis väittää, että kurssityön tavoite saavutettiin ja kaikki tehtävät ratkaistiin onnistuneesti.

Kirjallisuus

1. Intuit / Kansallinen avoin yliopisto "INTUIT" / © NOU "INTUIT", 2003 - 2013. - Käyttötila: http://www.intuit.ru/, ilmainen. - Zagl. näytöltä.

2. Kurssin luentomuistiinpanot / Tekoälyjärjestelmien suunnittelun perusteet / © Sotnik S. L., 1997-1998. - Käyttötila: http://www.iskint.ru/?xid=books/sotnik/-part3, ilmainen. - Zagl. näytöltä.

3. Laboratoriotöiden suorittamisohjeet / Osa 1 / Keinotekoisten hermoverkkojen mallintaminen MATLAB-järjestelmässä / Penzan osavaltion yliopiston kustantamo / Penza 2005.

4. National Psychological Encyclopedia / Dushkov B.A., Korolev A.V., Smirnov B.A. / Encyclopedic Dictionary: Työpsykologia, johtaminen, insinööripsykologia ja ergonomia, 2005 - Käyttötila: http://vocabulary.ru//, ilmainen. - Zagl. näytöltä.

  1. Tekoälyportaali / projekti www.AIportal.ru © 2009-2014 / Pääsytila ​​http://www.aiportal.ru on ilmainen. - Zagl. näytöltä. - Yaz. Venäjän kieli

Samanlaisia ​​tietoja.