Neuroverkkojen luokittelu. Mitä ovat keinotekoiset neuroverkot

    Vaihe 4. Käytä sääntöä 2, jonka ehto on tämä lause. Saamme alkuperäisen lausunnon johtopäätöksen.

    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ää tietyn 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 on tarkoituksella valittu hyvin yksinkertaiseksi, eikä se heijasta monia ongelmia, jotka liittyvät tuotoksen järjestämiseen asiantuntijajärjestelmässä. Erityisesti esimerkki voi antaa vaikutelman, että eteenpäin suuntautuva 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 tietopohjan sisällöstä. Diagnostisissa järjestelmissä käytetään useammin suoraa päättelyä, kun taas suunnittelujärjestelmissä käänteinen päättely on tehokkaampaa. Joissakin järjestelmissä päättely perustuu käänteisen ja rajoitetun eteenpäin yhdistelmään. Tätä yhdistettyä menetelmää kutsutaan sykliseksi.

  • 2.7 Ratkaisujen 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 siinä tehdessään, mikä helpottaa asiantuntijan testaamista ja lisää käyttäjän luottamusta saatu tulos. Koska tietopohjaiset järjestelmät toteutetaan tietokoneilla, syöttötieto havaitaan joko tietokoneelle ymmärrettävässä muodossa, ts. bitteinä ja tavuina. Jotta kouluttamaton käyttäjä voisi olla vuorovaikutuksessa, sen on kuitenkin sisällettävä luonnollisen kielen viestintävälineet. Suurimmalla osalla tietopohjaisista järjestelmistä on melko primitiivinen käyttöliittymä luonnollisella kielellä - kelvolliset käyttäjän syöteviestit rajoittuvat tietokannan sisältämiin käsitteisiin. Joten käyttämällä esimerkkiä yksinkertaisesta ES:stä ja tietokannasta, käyttäjän dialogi järjestelmän kanssa voidaan kuvitella seuraavasti:

Järjestelmä: Haluatko tietää, tarvitseeko sinun ottaa 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 on otettava sateenvarjo mukaasi.

Kuten tästä esimerkistä voidaan nähdä, kuulemisen aikana keskustelualoite kuuluu järjestelmään, ja itse konsultointi ES:n kanssa näyttää samalta kuin ihmisasiantuntijan kuuleminen: kysytään useita kysymyksiä ja niiden perusteella. analyysi, annetaan asiantuntijalausunto.

Yksi tärkeimmistä tietopohjaisille järjestelmille ominaisista ongelmista 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, se on simuloitava. Tällaisissa tapauksissa on tarpeen erottaa tietokoneella käsiteltäväksi tarkoitettu tieto henkilön käyttämästä tiedosta.

Tiedon esitysmallia suunniteltaessa tulee huomioida esityksen yhtenäisyys ja ymmärtämisen helppous. Homogeeninen esitys johtaa päättelyn ohjausmekanismin yksinkertaistamiseen ja tiedonhallinnan yksinkertaistamiseen. Tiedon esityksen tulee olla asiantuntijoiden ja järjestelmän käyttäjien ymmärrettävää. Muuten tiedon hankkiminen ja arvioiminen tulee vaikeaksi. Tätä vaatimusta on kuitenkin melko vaikea täyttää yhtä lailla yksinkertaisten ja monimutkaisten ongelmien osalta. Yleensä yksinkertaisissa ongelmissa ne asettuvat johonkin keskimääräiseen (kompromissi) esitykseen, mutta monimutkaisten ja suurten ongelmien ratkaisemiseksi tarvitaan strukturointia ja modulaarista esitystapaa.

Tyypillisiä tiedon esittämisen malleja ovat: mallit: tuotantomalli, joka perustuu kehysten käyttöön, semanttinen verkko, looginen malli.

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

Keinotekoinen hermoverkko(ANN) - matemaattiset mallit sekä niiden ohjelmisto- tai laitteistototeutukset, jotka on rakennettu biologisten hermoverkkojen organisoinnin ja toiminnan periaatteelle - elävän organismin hermosolujen verkostot. Tämä käsite syntyi, kun tutkittiin aivoissa ajattelun aikana tapahtuvia prosesseja ja yritettiin mallintaa näitä prosesseja. Ensimmäinen tällainen aivomalli oli perceptroni. Myöhemmin näitä malleja alettiin käyttää käytännön tarkoituksiin, yleensä ennusteongelmiin.

ANN:t ovat yhdistettyjen ja vuorovaikutuksessa olevien yksinkertaisten prosessorien (keinotekoisten neuronien) järjestelmä. Nämä prosessorit ovat yleensä melko yksinkertaisia, etenkin verrattuna henkilökohtaisissa tietokoneissa käytettyihin prosessoreihin. Jokainen prosessori tällaisessa verkossa käsittelee vain signaaleja, joita se säännöllisesti vastaanottaa ja signaaleja, jotka se lähettää säännöllisesti muille prosessoreille. Ja kuitenkin, kun ne liitetään riittävän suureen verkkoon hallitulla vuorovaikutuksella, tällaiset paikallisesti yksinkertaiset prosessorit pystyvät yhdessä suorittamaan melko monimutkaisia ​​tehtäviä.

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

Neuraaliverkot eivät ole ohjelmoitavia sanan tavallisessa merkityksessä koulutetaan. Oppimiskyky on yksi hermoverkkojen tärkeimmistä eduista perinteisiin algoritmeihin verrattuna. Teknisesti oppiminen koostuu neuronien välisten yhteyksien kertoimien löytämisestä. Harjoitteluprosessin aikana hermoverkko pystyy tunnistamaan monimutkaiset riippuvuudet tulo- ja lähtötietojen välillä sekä suorittamaan yleistyksen. Tämä tarkoittaa, että jos koulutus onnistuu, verkko pystyy palauttamaan oikean tuloksen koulutussarjasta puuttuvien tietojen perusteella.

Tunnetut sovellukset

Hahmontunnistusja luokittelu. Kuvat voivat olla eri luonteisia esineitä: tekstisymboleja, kuvia, ääninäytteitä jne. Verkostoa koulutettaessa tarjotaan erilaisia ​​kuvanäytteitä, joista käy ilmi, mihin luokkaan ne kuuluvat. Näyte esitetään yleensä piirrearvojen vektorina. Tässä tapauksessa kaikkien merkkien kokonaisuuden pitäisi määrittää yksilöllisesti luokan, johon näyte kuuluu. Jos ominaisuuksia ei ole tarpeeksi, verkko voi määrittää saman näytteen useille luokille, mikä on väärin. Kun olet kouluttanut verkoston, voit esittää sen aiemmin tuntemattomilla kuvilla ja saada vastauksen tiettyyn luokkaan kuulumisesta.

Tällaisen verkon topologialle on ominaista se, että neuronien lukumäärä lähtökerroksessa on pääsääntöisesti yhtä suuri kuin määritettyjen luokkien lukumäärä. Tämä määrittää vastaavuuden hermoverkon lähdön ja sen edustaman luokan välille. Kun tietty kuva esitetään verkkoon, jossakin sen lähdöistä tulee näyttää merkki siitä, 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 kuulumisesta luokkaan, katsotaan, että verkko on "epävarma" vastauksestaan.

Päätöksenteko ja johtaminen. Tilanteet, joiden ominaisuudet syötetään neuroverkkoon, ovat luokiteltavia. Verkkoulostulossa pitäisi näkyä ratkaisumerkki. 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 uudesta datasta, joka puuttuu harjoitusjoukosta. Tällainen verkko siis pystyy tunnistamaan uusia, aiemmin tuntemattomia signaaliluokkia. Verkon tunnistamien luokkien ja toimialueen olemassa olevien luokkien välisen vastaavuuden määrittää henkilö. Klusterointia toteuttavat esimerkiksi Kohosen neuroverkot.

EnnustaminenJalikiarvo. Neuraaliverkon ennustusominaisuudet johtuvat suoraan sen kyvystä yleistää ja tuoda esiin 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 osakehintojen ennustaminen viime viikon hintojen perusteella voi (tai ei) onnistua, kun taas huomisen lottotulosten ennustaminen viimeisen 50 vuoden tietojen perusteella epäonnistuu lähes varmasti.

Tietojen pakkausJaAssosiatiivinen muisti. Neuraaliverkkojen kyky tunnistaa eri parametrien välisiä suhteita mahdollistaa korkeadimensionaalisen datan ilmaisemisen kompaktimmin, jos data liittyy läheisesti 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 muistiongelman ratkaiseminen mahdollistaa sisältöosoitteellisen muistin toteuttamisen.

Ongelmanratkaisun vaiheet

Tietojen kerääminen koulutusta varten;

    Tietojen valmistelu ja normalisointi;

    Verkkotopologian valinta;

    Verkon ominaisuuksien kokeellinen valinta;

    Harjoitteluparametrien kokeellinen valinta;

    Varsinainen koulutus;

    koulutuksen riittävyyden tarkistaminen;

    Parametrien säätö, loppukoulutus;

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

    Joitakin näistä vaiheista kannattaa harkita tarkemmin.

Harjoittelutietojen kerääminen

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

Edustavuus – tietojen tulee havainnollistaa aihealueen todellista tilannetta;

Johdonmukaisuus - koulutussarjan epäjohdonmukaiset tiedot johtavat verkkokoulutuksen huonoon laatuun;

Lähdetiedot muunnetaan muotoon, jossa ne voidaan toimittaa verkkotuloille. Jokainen datatiedoston tietue on kutsuttu opetuspari tai koulutusvektori. 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 vastaanottaa määriä, joiden arvot ovat 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 tunnistetaan rajallinen 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 kirjaimia kuvissa ja sillä on yksi numeerinen tulos - aakkosten kirjaimen numero. Tässä tapauksessa verkko saa väärän vaikutelman, että kirjaimet numeroilla 1 ja 2 ovat samankaltaisempia kuin kirjaimet numeroilla 1 ja 3, mikä on yleensä väärä. Tämän tilanteen välttämiseksi he käyttävät 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. Verkkotyyppi tulee valita ongelman ja käytettävissä olevien harjoitustietojen perusteella. Ohjattu oppiminen vaatii "asiantuntija-arvioinnin" jokaiselle otoksen elementille. Joskus tällaisen arvion saaminen suurelle tietojoukolle 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 lähdetietoihin ja voidaan korostaa niiden käsittelyn aikana. Tässä tapauksessa voit käyttää monikerroksista perceptronia tai Word-verkkoa.

Verkon ominaisuuksien kokeellinen valinta. Kun olet valinnut yleisen rakenteen, sinun on valittava kokeellisesti verkkoparametrit. Perceptronin kaltaisissa verkoissa tämä on kerrosten lukumäärä, piilotettujen kerrosten lohkojen määrä (Word-verkot), ohitusyhteyksien olemassaolo tai puuttuminen ja neuronien siirtotoiminnot. Kun valitaan kerrosten ja hermosolujen lukumäärä niissä, on lähdettävä siitä, että Mitä suurempi on neuronien välisten yhteyksien kokonaismäärä, sitä suurempi on verkon yleistyskyky. Toisaalta yhteyksien määrää rajoittaa edellä koulutustiedon tietueiden määrä.

Harjoitteluparametrien kokeellinen valinta. Kun olet valinnut tietyn topologian, sinun on valittava neuroverkon koulutusparametrit. Tämä vaihe on erityisen tärkeä ohjatuille oppimisverkostoille. Parametrien oikea valinta ei ratkaise vain sitä, kuinka nopeasti verkon vastaukset konvergoivat oikeiksi vastauksiksi. Esimerkiksi alhaisen oppimisnopeuden valitseminen pidentää konvergenssiaikaa, mutta joskus vältetään verkon halvaantuminen. Oppimismomentin kasvattaminen voi johtaa joko konvergenssiajan pidentämiseen tai pienenemiseen virhepinnan muodosta riippuen. Parametrien tällaisen ristiriitaisen vaikutuksen perusteella voimme päätellä, että niiden arvot on valittava kokeellisesti koulutuksen loppuun saattamista koskevan kriteerin (esimerkiksi virheiden minimoiminen tai harjoitusajan rajoittaminen) ohjaamana.

Itse asiassa verkoston koulutus. Koulutusprosessin aikana verkko tutkii koulutusnäytteen tietyssä järjestyksessä. Katselujärjestys voi olla peräkkäinen, satunnainen jne. Jotkut valvomattomat oppimisverkot, kuten Hopfield-verkot, skannaavat näytteen vain kerran. Muut, kuten Kohosen verkot ja ohjatut oppimisverkot, skannaavat näytteen monta kertaa, jolloin yksi täydellinen läpikulku näytteen läpi kutsutaan oppimisen aikakausi. Opettajan kanssa opiskellessa lähtötietojoukko jaetaan kahteen osaan - varsinaiseen koulutussarjaan ja testitietoihin; jakoperiaate voi olla mielivaltainen. Harjoitustiedot syötetään verkkoon harjoittelua varten, ja testidataa käytetään verkkovirheen laskemiseen (testitietoja ei koskaan käytetä verkon kouluttamiseen). Siten jos virhe pienenee testitiedoissa, verkko itse asiassa yleistyy. Jos harjoitustietojen virhe pienenee edelleen ja testidatan virhe kasvaa, verkko on lopettanut yleistämisen ja yksinkertaisesti "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 putoaminen virhepinnan paikalliseen minimiin. On mahdotonta ennustaa etukäteen tietyn ongelman ilmenemistä ja antaa yksiselitteisiä suosituksia niiden ratkaisemiseksi.

Harjoittelun riittävyyden tarkistaminen. Edes onnistuneen näennäisen koulutuksen tapauksessa verkosto ei aina opi tarkalleen mitä luoja halusi siltä. Tiedossa on tapaus, jossa verkkoa on koulutettu tunnistamaan tankkien kuvat 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 tankit. 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öratkaisuavaruus tunnetaan;

Ohjaamaton oppiminen - hermoverkko tuottaa tulosratkaisuavaruuden perustuen vain tulovaikutuksiin. Tällaisia ​​verkostoja kutsutaan itseorganisoituviksi;

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

Luokittelu synapsin virityksen luonteen mukaan

Verkot, joissa on kiinteät yhteydet (hermoverkon painokertoimet valitaan välittömästi, ongelman olosuhteiden perusteella, tässä tapauksessa: , 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 painotuskertoimista w ij, mutta myös pulssin (signaalin) lähetysajankohdasta viestintäkanavien τ kautta ij. Siksi yleisesti ottaen aktivoiva (lähettävä) viestintätoiminto c ij elementistä u i elementtiin u j on muotoa: . Sitten synkroninen verkko on verkko, jonka lähetysaika on τ ij jokainen yhteys on joko nolla tai kiinteä vakio τ. Asynkroninen on verkko, jonka lähetysaika on τ ij jokaiselle elementtien väliselle yhteydelle u i Ja u j oma, mutta myös pysyvä.

Luokittelu yhteyksien luonteen mukaan

Feedforward verkot

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

Toistuvat neuroverkot

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

Radiaaliset kantafunktiot

Keinotekoiset hermoverkot, jotka käyttävät säteittäisiä perusverkkoja 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:

Yksi piilotettu kerros

Vain piilokerroksen neuroneilla on epälineaarinen aktivointitoiminto

Tulo- ja piilokerrosten yhteyksien synaptiset painot ovat yhtä suuria kuin yksi

Tietoja koulutusmenettelystä - katso kirjallisuus

Itseorganisoituvat kartat. Tällaiset verkot ovat kilpailukykyinen neuroverkko, jossa on koulutusta

ilman valvontaa, suorittaa visualisointitehtävää ja

klusterointi. Se on menetelmä moniulotteisen avaruuden projisoimiseksi matalamman ulottuvuuden (useimmiten kaksiulotteiseen) tilaan. Sitä käytetään myös mallinnuksen, ennustamisen jne. ongelmien ratkaisemiseen. Se on yksi Kohosen hermoverkkojen versioista. Itseorganisoituvat Kohosen kartat palvelevat ensisijaisesti visualisointia ja alustavaa (”tiedustelu”) data-analyysiä.

Kohosen verkossa oleva signaali lähetetään kaikille hermosoluille kerralla, vastaavien synapsien painot tulkitaan solmun sijainnin koordinaatteiksi ja lähtösignaali muodostetaan ”voittaja vie kaiken” -periaatteen mukaisesti - eli , tuloon syötettyä neuronilla (synapsien painoilla mitattuna) on nollasta poikkeava lähtösignaaliobjekti. Oppimisprosessin aikana synapsien painoja säädetään siten, että hilasolmut "sijoitetaan" paikallisiin datatiivistymispaikkoihin, eli ne kuvaavat tietopilven klusterirakennetta neuronien väliset yhteydet vastaavat piirreavaruuden vastaavien klustereiden välisiä naapuruussuhteita.

On kätevää ajatella tällaisia ​​karttoja moniulotteisessa tilassa sijaitsevien solmujen kaksiulotteisina ruudukoina. Aluksi itseorganisoituva kartta on linkeillä yhdistettyjen solmujen ruudukko. Kohonen pohti kahta vaihtoehtoa solmujen yhdistämiseksi - suorakulmaiseen ja kuusikulmaiseen verkkoon - erona on, että suorakulmaisessa verkossa kukin solmu on kytketty 4 naapurisolmuun ja kuusikulmaisessa verkossa - 6 lähimpään solmuun. Kahdella tällaisella ruudukolla Kohosen verkon rakentamisprosessi eroaa vain siinä paikassa, mihin tiettyä solmua lähimpänä olevat naapurit siirretään.

Alkuperäinen ruudukon upottaminen tietoavaruuteen valitaan mielivaltaisesti. Tekijän SOM_PAK-paketti tarjoaa vaihtoehtoja solmujen satunnaiseen alkusijaintiin avaruudessa ja vaihtoehdon solmujen paikantamiseen tasossa. Tämän jälkeen solmut alkavat liikkua avaruudessa seuraavan algoritmin mukaisesti:

Datapiste valitaan satunnaisesti x.

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

Tämä solmu siirtää tietyn askeleen kohti x:ää. Se ei kuitenkaan liiku yksin, vaan kuljettaa mukanaan tietyn määrän lähellä olevia solmuja tietystä naapurustosta kartalla. Kaikista liikkuvista solmuista keskimmäinen - lähimpänä datapistettä oleva solmu - siirtyy eniten, ja loput kokevat sitä pienempiä siirtymiä, mitä kauempana ne ovat BMU:sta. Kortin asettamisessa on kaksi vaihetta - tilausvaihe ja hienosäätövaihe. Ensimmäisessä vaiheessa valitaan suuret naapurustojen arvot ja solmujen liike on kollektiivista - seurauksena kartta "suorautuu" ja heijastaa karkeasti datan rakennetta; hienosäätövaiheessa lähialueen säde on 1-2 ja solmujen yksittäisiä paikkoja säädetään. Lisäksi siirtymä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: Rosenblat-perceptron-verkko; Todennäköisyyspohjainen verkko;

Algoritmit hermoverkkojen harjoittamiseen.

Takaisin eteneminen

Nopea leviäminen

Konjugaattigradienttimenetelmä

Levenberg-Marquard-algoritmi

Kvasi-Newtonilainen algoritmi

Delta-delta viivalla

Kohosen algoritmi

LVC (oppimisvektorikvantisoija)

Pseudoinversiomenetelmä (singulaarinen hajottelu)

K-keinomenetelmä

Algoritmit poikkeamien asettamiseen

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

Saamme sen häneltä. Tämä prosessi on hyvin samanlainen kuin lapselle aakkosten opettaminen. Kun olemme näyttäneet lapselle kuvan A-kirjaimesta, kysymme häneltä: "Mikä kirjain tämä on?" Jos vastaus on väärä, kerromme lapselle vastauksen, jonka haluaisimme hänen antavan: "Tämä on A-kirjain." Lapsi muistaa tämän esimerkin oikean vastauksen kanssa, eli hänen muistissaan tapahtuu joitain muutoksia oikeaan suuntaan. Toistamme kirjainten esittämisprosessia yhä uudelleen ja uudelleen, kunnes kaikki 33 kirjainta on muistettu 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 neuroverkon sisääntuloon, saamme siitä jonkin vastauksen, ei välttämättä oikeaa. Tiedämme myös oikean (halutun) vastauksen - tässä tapauksessa toivomme, että signaalin taso hermoverkon lähdössä, joka on merkitty "A", on maksimi. Tyypillisesti luokitusongelman haluttu tulos on joukko (1, 0, 0, ...), jossa 1 on lähdössä, jonka nimi on "A", ja 0 on kaikissa muissa lähdöissä. Laskemalla ero halutun vastauksen ja verkon todellisen vastauksen välillä, saamme 33 numeroa - bugi vektori. Takaisinpropagointialgoritmi on joukko kaavoja, joiden avulla voidaan laskea tarvittavat korjaukset neuroverkon painoille virhevektorin avulla. Voimme esittää saman kirjaimen (sekä eri kuvia samasta kirjaimesta) hermoverkkoon monta kertaa. Tässä mielessä oppiminen on enemmän kuin harjoitusten toistamista urheilussa - harjoittelussa.

Osoittautuu, että toistuvan esimerkkien esittämisen jälkeen hermoverkon painot vakiintuvat ja hermoverkko antaa oikeat vastaukset kaikkiin (tai melkein kaikkiin) tietokannan esimerkkeihin. Tässä tapauksessa he sanovat, että "hermoverkko on oppinut kaikki esimerkit", "hermoverkko on koulutettu" tai "hermoverkko on koulutettu". Ohjelmistototeutuksissa on havaittavissa, että oppimisprosessin aikana virheen suuruus (kaikkien lähtöjen neliöityjen virheiden summa) pienenee vähitellen. Kun virhe saavuttaa nollan tai hyväksyttävän pienen tason, harjoittelu lopetetaan ja tuloksena oleva hermoverkko katsotaan koulutetuksi ja valmiiksi käytettäväksi uudessa datassa.

On tärkeää huomata, että kaikki tiedot, jotka neuroverkolla on ongelmasta, sisältyvät joukkoon esimerkkejä. Siksi neuroverkkokoulutuksen laatu riippuu suoraan opetusjoukon esimerkkien määrästä sekä siitä, kuinka täydellisesti nämä esimerkit kuvaavat annettua tehtävää. Esimerkiksi finanssikriisin ennustamiseen on turhaa käyttää neuroverkkoa, jos kriisit eivät ole edustettuina koulutussarjassa. Uskotaan, että neuroverkon täydelliseen kouluttamiseen tarvitaan ainakin useita kymmeniä (tai vielä parempi satoja) esimerkkejä.

Toistakaamme vielä kerran, että neuroverkkojen koulutus on monimutkainen ja tietointensiivinen prosessi. Neuroverkkokoulutusalgoritmeilla on erilaisia ​​parametreja ja asetuksia, joiden hallinta edellyttää niiden vaikutuksen ymmärtämistä.

Neuroverkon sovellus

Kun hermoverkko on koulutettu, voimme käyttää sitä hyödyllisten ongelmien ratkaisemiseen. Ihmisaivojen tärkein ominaisuus on, että kun se on oppinut tietyn prosessin, se voi toimia oikein tilanteissa, joissa se ei ole paljastunut oppimisprosessin aikana. Voimme esimerkiksi lukea melkein minkä tahansa käsialan, vaikka näemme sen ensimmäistä kertaa elämässämme. Samoin oikein koulutettu hermoverkko voi suurella todennäköisyydellä vastata oikein uuteen dataan, jota sille ei ole aiemmin esitetty. Voimme esimerkiksi piirtää kirjaimen "A" eri käsialalla ja pyytää sitten hermoverkkoamme luokittelemaan uuden kuvan. Koulutetun hermoverkon painot tallentavat melko paljon tietoa kirjainten yhtäläisyydestä ja eroista, joten voit luottaa oikean vastauksen uuteen kuvan versioon.

Neuroverkkojen soveltaminen hahmontunnistusongelmiin.

Käsinkirjoitetun kirjaimen tunnistustehtävä

Annettu: rasterimustavalkoinen kuva kirjaimesta, jonka koko on 30x30 pikseliä

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 merkittyjä tulosteita. Jos neuroverkon sisääntulo on kirjaimen “A” kuva, niin lähtösignaalin maksimiarvo saavutetaan lähdössä “A”. Neuroverkko toimii samalla tavalla 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 tietystä segmentistä. Tässä tehtävässä emme kuitenkaan ole kiinnostuneita analogisesta vastauksesta, vaan vain luokan numerosta (aakkosten kirjainnumero). Siksi käytetään seuraavaa lähestymistapaa - jokaiseen kategoriaan liitetään oma ulostulonsa ja hermoverkon vasteeksi katsotaan se kategoria, jonka lähtösignaalin taso on maksimi. Tietyssä mielessä signaalin taso lähdössä "A" on sen tosiasian luotettavuus, että käsin kirjoitettu kirjain "A" lähetettiin hermoverkon tuloon. Ongelmia, joissa sinun on luokiteltava syöttötiedot johonkin tunnetuista luokista, kutsutaan luokitteluongelmia. Esitetty lähestymistapa on standardi luokittelumenetelmä neuroverkkoja käyttämällä.

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 (arkkitehtuurin) valinta.

Neuraaliverkon painojen valinta (harjoittelu).

Ensimmäinen vaihe on valita seuraavat:

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

miten ne pitäisi yhdistää toisiinsa?

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

Tämä tehtävä näyttää ensi silmäyksellä valtavalta, 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" valittua hermoverkkoa, eli valita sen painoarvot niin, että se toimii halutulla tavalla. 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 määrittää hermoverkon painot tietyllä tavalla. Suosituin näistä algoritmeista on Error Back Propagation -menetelmä, jota käytetään esimerkiksi perceptronin kouluttamiseen.

NS:n tässä kehitysvaiheessa onnistuneesti ratkaisemia tehtäviä ovat:

visuaalisten ja kuulollisten kuvien tunnistus; valtava valikoima sovelluksia: tekstintunnistuksesta ja tutkanäytön kohteista puheohjausjärjestelmiin;

assosiatiivisen tiedon haku ja assosiatiivisten mallien luominen; puhesynteesi; luonnollisen kielen muodostuminen;

mallien ja erilaisten epälineaaristen ja matemaattisesti vaikeasti kuvattavien järjestelmien muodostaminen ennustaen näiden järjestelmien kehitystä ajan mittaan:

teolliseen käyttöön; 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 koneet: jono- ja kytkentäjärjestelmät, tietoliikennejärjestelmät;

päätöksenteko ja diagnostiikka, jotka sulkevat pois loogisen päättelyn; varsinkin alueilla, joilla

ei ole selkeitä matemaattisia malleja: lääketiede, kriminologia, rahoitus;

Vaikka lähes kaikkien lueteltujen ongelmien ratkaisemiseen on olemassa tehokkaita matemaattisia menetelmiä ja huolimatta siitä, että NN:t ovat huonompia kuin erikoistuneet menetelmät tiettyihin tehtäviin, johtuen niiden monipuolisuudesta ja lupaavuudesta ratkaista globaaleja ongelmia, esimerkiksi tekoälyn rakentamiseen ja ajattelun mallintamiseen. prosessi, ne ovat tärkeä tutkimusalue, joka vaatii huolellista tutkimista.

Tason pisteistä ja niiden välisistä yhteyksistä voit rakentaa monia graafisia kuvioita, joita kutsutaan kaavioiksi. Jos kuvittelemme jokaisen pisteen yhdeksi neuroniksi ja pisteiden väliset yhteydet dendriiteiksi ja synapseiksi, saamme hermoverkon.

Mutta jokainen neuronien yhteys ei ole tehokas tai edes suositeltavaa. Siksi nykyään on olemassa vain muutama toimiva ja ohjelmistolla toteutettu hermoverkkoarkkitehtuuri. Kuvaan vain lyhyesti niiden suunnittelua ja niiden ratkaisemia ongelmaluokkia.

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

Kuva 2 Feedforward-hermoverkot

Kuva 3 Toistuvat neuroverkot

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

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

Tarkastellaan yksinkertaisimman monikerroksisen hermoverkon suunnittelua. Mikä tahansa hermoverkko koostuu syöttökerros ja tulostuskerros. Riippumattomat ja riippuvat muuttujat esitetään vastaavasti. Verkon neuronit muuntavat syöttödataa ja verraavat niitä ulostuloon. Jos poikkeama on annettua suurempi, hermosolujen välisten yhteyksien painot ja hermosolujen kynnysarvot muuttuvat erityisellä tavalla. Lähtöarvon laskeminen ja sen vertailu standardiin tapahtuu uudelleen. Jos poikkeamat ovat pienempiä kuin määritetty virhe, oppimisprosessi pysähtyy.

Monikerroksisessa verkossa on tulo- ja lähtökerrosten lisäksi ns piilotetut kerrokset. Ne ovat neuroneja, joilla ei ole suoria tuloja alkuperäisestä tiedosta, 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 malliin epälineaarisuutta. Ymmärtääksesi paremmin monikerroksisen perceptronin suunnittelua, katso kuva 4

Kuva 4 Monikerroksinen perceptroni

Jos yksikerroksinen hermoverkko selviytyy erittäin hyvin luokitteluongelmista, koska neuronien lähtökerros vertaa edelliseltä kerrokselta saatuja arvoja kynnykseen ja tuottaa arvon joko nolla, eli alle kynnysarvon. arvo tai yksi, enemmän kuin kynnys (kynnyksen sisäisen hermosolutoiminnon tapauksessa), eikä se pysty ratkaisemaan useimpia käytännön ongelmia (minsky ja Papert ovat todistaneet), niin monikerroksinen perceptroni, jossa on sigmoidipäätösfunktiot, pystyy likimääräinen funktionaalinen riippuvuus (tämä todistettiin lauseen muodossa). Mutta samaan aikaan ei tiedetä tarvittavaa kerrosten määrää, vaadittua määrää piilotettuja hermosoluja eikä verkon kouluttamiseen tarvittavaa aikaa. Nämä ongelmat kohtaavat edelleen tutkijoita ja neuroverkkojen kehittäjiä. 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 todistuksessa.



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

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

Toistuvien verkkojen joukosta voimme erottaa Hopfield-verkot ja Kohosen verkot.

Hopfield-verkot voivat käsitellä järjestämättömiä (käsinkirjoitetut kirjaimet), ajallisesti (aikasarjat) tai spatiaalisesti järjestettyjä (kaavioita) kuvioita. 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 itseopiskeluun koulutuksen aikana, sille ei tarvitse kertoa oikeita vastauksia. Koulutusprosessin aikana verkkotuloon syötetään erilaisia ​​näytteitä. Verkko vangitsee niiden rakenteen piirteet ja jakaa näytteet klusteriin, ja jo koulutettu verkko kohdistaa jokaisen vastikään saapuvan esimerkin johonkin klusteriin 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 ryhtyä toimiin ja "saada oppitunti". Voittaja on se, jonka painovektori on lähimpänä syötevektoria.

Neuroverkoille voidaan tehdä seuraava luokittelu:

Harjoittelun luonne

Neuroverkkojen luokittelu oppimisen luonteen mukaan jakaa ne:

  • ohjattua oppimista käyttävät neuroverkot;
  • hermoverkot käyttämällä ohjaamatonta oppimista.

Katsotaanpa tätä tarkemmin.

Ohjattua oppimista käyttävät neuroverkot. Valvottu oppiminen olettaa, että jokaiselle tulovektorille on kohdevektori, joka edustaa haluttua lähtöä. Yhdessä heitä kutsutaan harjoituspariksi. Tyypillisesti verkostoa koulutetaan tietyllä määrällä tällaisia ​​harjoituspareja. Tulosvektori esitetään, verkon lähtö lasketaan ja sitä verrataan vastaavaan kohdevektoriin. Painoja muutetaan sitten algoritmin mukaan, joka pyrkii minimoimaan virheen. Harjoitussarjan vektorit esitetään peräkkäin, virheet lasketaan ja painoja säädetään kullekin vektorille, kunnes virhe koko harjoitussarjassa 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 vaadi tulosteille kohdevektoria, eikä siksi vaadi vertailua ennalta määriteltyihin ihanteellisiin vasteisiin. Harjoitussarja koostuu vain syöttövektoreista. Oppimisalgoritmi säätää verkon painot siten, että saadaan johdonmukaiset lähtövektorit, eli niin, että riittävän läheisten tulovektorien esittäminen tuottaa identtiset ulostulot. Siksi oppimisprosessi poimii harjoitusjoukon tilastolliset ominaisuudet ja ryhmittelee samanlaiset vektorit luokkiin.

Vaakojen asettaminen

  • verkot, joissa on kiinteät yhteydet – hermoverkon painokertoimet valitaan välittömästi ongelman olosuhteiden perusteella;
  • verkot dynaamisilla yhteyksillä – niille synaptisia painoja säädetään oppimisprosessin aikana.

Syöttötietojen tyyppi

  • analoginen – tulotiedot esitetään reaalilukuina;
  • binääri - kaikki syötetiedot tällaisissa verkoissa esitetään nollien ja ykkösten muodossa.

Sovellettava neuroverkkomalli

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

Toistuvat hermoverkot - signaali lähtöhermosoluista tai piilokerroksen neuroneista välitetään osittain takaisin tulokerroksen hermosolujen tuloihin.

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 oppivat nopeasti. Broomheadin ja Lowen (1988) sekä Moody ja Darkinin (1989) ehdotus. Säteittäisellä kantaverkolla on seuraavat ominaisuudet: yksi piilotettu kerros, vain piilokerroksen neuroneilla on epälineaarinen aktivointifunktio, ja tulo- ja piilokerrosten synaptiset painot ovat yhtä suuria kuin yksi.

Itseorganisoituvat kartat eli Kohonen Networks - tämä verkkoluokka on pääsääntöisesti koulutettu ilman opettajaa ja sitä käytetään menestyksekkäästi tunnistusongelmissa. Tämän luokan verkot pystyvät havaitsemaan syöttötiedon uutuuden: jos verkko koulutuksen jälkeen kohtaa tietojoukon, joka on erilainen kuin mikään tunnettu näyte, se ei pysty luokittelemaan tällaista joukkoa ja siten tunnistamaan sen uutuutta. Kohosen verkossa on vain kaksi kerrosta: tulo ja lähtö, jotka koostuvat säteittäisistä elementeistä.

Luento nro 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ösignaalit voivat olla kaikkia tai useita lähtöhermosoluja tietyn verkon toimintajaksojen jälkeen.

2. Monikerroksiset verkot (kerroksiset).

Ne koostuvat verkkoon yhdistetyistä neuroneista, ja kerros sisältää joukon neuroneja yhteisillä lähtösignaaleilla. Tässä tapauksessa kerrosten ja hermosolujen lukumäärä kussakin kerroksessa voi olla mielivaltainen, eikä se liity etukäteen muiden kerrosten hermosolujen määrään. Sitä rajoittavat kuitenkin tietokoneen tai erikoissirun resurssit, jolle hermoverkko yleensä toteutetaan.

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

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

Piilotetuilla kerroksilla varustetun hermoverkon avulla voit korostaa globaaleja datayhteyksiä synoptisten lisäyhteyksien läsnäolon ja hermosolujen välisen vuorovaikutuksen lisäämisen vuoksi.

3. Heikot verkot.

Monikerroksiset neuroverkot jaetaan seuraaviin tyyppeihin:

  1. Monotoniset neuroverkot.

Nämä ovat neuroverkkoja, jotka ovat monikerroksisten verkkojen erikoistapaus, jossa on lisäehtoja yhteyksille ja elementeille. Jokainen verkkokerros tuloskerrosta lukuun ottamatta on jaettu kahteen lohkoon: A) Jännittävää B) Jarrutus.

Lohkojen väliset yhteydet jaetaan myös inhiboiviin ja kiihottaviin. Salli lohkosta A lohkoon B vain kiihottavat kytkennät menevät, tämä 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 lohkon minkä tahansa lähtösignaalin monotonisesti ei-nouseva funktio A. On tärkeää, että monotonisten verkkojen elementeille vaaditaan elementin lähtösignaalin monotoninen riippuvuus tulosignaalien parametreista.

2. Neuroverkot ilman palautetta

Näissä verkoissa syöttökerroksen neuronit vastaanotettuaan tulosignaalit muuntavat ne ja lähettävät ne ensimmäisen piilokerroksen neuronille, jonka jälkeen ensimmäinen piilotettu kerros laukeaa ja niin edelleen, kunnes Q. kerros, joka tuottaa lähtösignaaleja.



Klassinen versio monikerroksisista verkoista ovat myötäkytkentäisiä verkkoja, joita kutsutaan monikerroksisiksi perceptroneiksi. Yli 80 % hermoverkkosovelluksista kuuluu monikerroksisiin verkkoihin ilman palautetta.

Riisi. 1

Neuraaliverkot, joissa on palautetta näissä verkoissa, seuraavien kerrosten tiedot 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 differentiaaliyhtälöillä, yleensä ensimmäisen kertaluokan.

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

Poistu
Riisi. 3
Giordano verkko

On huomattava, että keinotekoisen hermoverkon syntetisoinnin ongelma riippuu voimakkaasti ratkaistavasta ongelmasta.

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

Usein hermoverkon optimaalinen variantti voidaan saada intuitiivisen valinnan avulla. Käytännössä usein valitaan joko tarkoituksella pieni hermoverkko ja sitä asteittain kasvatetaan tai tietoisesti suuri ja pienennetään sitä vähitellen tunnistaen käyttämättömät yhteydet.

  1. Neuroverkkojen koulutus.

Hermoverkko on mukautuva järjestelmä.

Sen sykli koostuu 2 vaiheesta: koulutus (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 sen suorituskykyä on hermoverkkojen tärkein ominaisuus. Verkon kyky ratkaista työvaiheessa eteen tulevia ongelmia riippuu siitä, kuinka hyvin hermoverkon koulutusvaihe on suoritettu.

Oppimisteoriassa tarkastellaan kolmea perusominaisuutta, jotka liittyvät neuroverkon oppimiseen esimerkeistä:

1) Kapasiteetti - se määrittää kuinka monta kuvaa verkko voi muistaa ja mitä toimintoja ja päätöksentekorajoja 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äiden parametrien valinta vaatii kompromissin.

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ää:

Koulutus on prosessi, jossa hermoverkon vapaita parametreja viritetään simuloimalla ympäristöä, johon verkko on upotettu. Harjoittelun tyyppi määräytyy näiden parametrien säätötavan mukaan. Tämä oppimisprosessin määritelmä olettaa seuraavan tapahtumasarjan:

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

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

SISÄÄN) 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 tavasta, jolla ne säätävät neuronien synoptisia painoja ja kynnysarvoja. Erottuva ominaisuus on tapa, jolla koulutettu hermoverkko kommunikoi ulkomaailman kanssa. Tässä yhteydessä puhumme oppimisparadigmasta, joka liittyy sen ympäristön malliin, jossa tietty hermoverkko toimii.

Monet oppimisalgoritmit on jaettu kahteen luokkaan: deterministinen (antattu) ja stokastinen (todennäköisyys). Ensimmäisessä niistä neuronien synoptisten painojen säätö on jäykkä toimintosarja, ja toisessa se suoritetaan toimien perusteella, jotka ovat jonkin satunnaisen prosessin alaisia.

Paradigmat neuroverkkojen koulutukseen

Neuroverkkojen harjoittamiseen on kolme paradigmaa:

1) Ohjattu oppiminen (ohjattu oppiminen)

2) Oppiminen ilman opettajaa (itseoppiminen)

3) Mixed (opettajan kanssa ja ilman)

Tutoroitu koulutus

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

Valvotut hermoverkot ovat keino poimia tietojoukosta tietoa hermoverkon lähtöjen ja tulojen välisistä suhteista. Neuroverkon laatu riippuu sille opetusprosessin aikana esitettävästä opetusdatan joukosta, ja opetusdatan tulee olla tyypillistä tehtävälle, jota neuroverkko koulutetaan ratkaisemaan.

Tiedot, joita tyypillisesti käytetään neuroverkon kouluttamiseen, jaetaan usein kahteen luokkaan:

Joitakin tietoja käytetään harjoitteluun ja toisia 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ötehermosoluja, joihin syötetään tuloefektiä koodaava vektori tai ulkoisen ympäristön kuva, ei yleensä suoriteta laskennallisia proseduureja, vaan informaatio siirretään 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. Niiden tärkeä tehtävä on tuoda verkon lähtöarvo vaaditulle alueelle (tämä tehdään aktivointitoiminnolla);

3. Välihermosolut, jotka muodostavat perustan hermoverkkoille, joissa muunnoksia myös suoritetaan lausekkeiden avulla.

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

Topologisesta näkökulmasta hermoverkkojen kolme päätyyppiä voidaan erottaa: 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. Neuraaliverkkoarkkitehtuurit: a - täysin yhdistetty verkko; b - monikerroksinen verkko sarjaliitännöillä;

c - heikosti yhdistetyt verkot

Täysin yhdistetyissä hermoverkoissa jokainen neuroni lähettää lähtösignaalinsa muille neuroneille, mukaan lukien itselleen. Kaikki tulosignaalit annetaan kaikille neuroneille. Verkon lähtösignaalit voivat olla kaikki tai osa neuronien lähtösignaaleista useiden verkon toimintajaksojen jälkeen.

Monikerroksisissa hermoverkoissa neuronit yhdistetään kerroksiksi. Kerros sisältää kokoelman hermosoluja yhteisillä tulosignaaleilla. Kerroksessa olevien neuronien lukumäärä voi olla mikä tahansa, eikä se riipu muiden kerrosten hermosolujen lukumäärästä. Yleensä verkko koostuu Q-tasoista, jotka on numeroitu vasemmalta oikealle. Ulkoiset tulosignaalit syötetään sisääntulokerroksen hermosolujen 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. Samassa 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 neuroverkkojen historia

Keinotekoiset hermoverkot nousivat ensimmäisen kerran tieteelliseksi aiheeksi 40-luvulla. Yrittäessään toistaa ihmisaivojen toimintoja tutkijat loivat yksinkertaisia ​​laitteisto- (ja myöhemmin ohjelmisto-) malleja biologisesta neuronista ja sen yhteysjärjestelmistä, joita kutsutaan perceptroneiksi. Kun neurotieteilijät saivat syvemmän ymmärryksen ihmisen hermostosta, näitä varhaisia ​​yrityksiä alettiin pitää erittäin karkeina arvioina. Kuitenkin perceptroneilla saavutettiin ensimmäiset vaikuttavat tulokset, jotka stimuloivat lisätutkimusta, joka johti kehittyneempien verkkojen luomiseen. McCulloch ja Pitts suorittivat ensimmäisen systemaattisen keinotekoisten hermoverkkojen tutkimuksen vuonna 1943. Alla olevassa kuvassa esitettyä yksinkertaista hermomallia käytettiin suuressa osassa heidän työtään. Tuloon vastaanotetaan vain binäärisignaali, ts. joko 0 tai 1. Elementti ∑ kertoo jokaisen tulon X N painolla W N ja summaa painotetut syötteet. Jos tämä summa on suurempi kuin annettu kynnysarvo, lähtö on yhtä suuri kuin yksi, muuten se on nolla (kuva 5).



Riisi. 5. Yksinkertainen hermomalli

Juuri sellaisia ​​järjestelmiä ja monia samankaltaisia ​​järjestelmiä kutsutaan perceptroneiksi. Perceptronit koostuvat yhdestä kerroksesta (ts. tulon X ja ulostulon OUT välissä olevien hermosolujen kerrosten lukumäärä on yksi) keinotekoisista neuroneista, jotka on liitetty painojen avulla useisiin tuloihin (katso kuva 6).


Riisi. 6. Perceptron-esimerkki

Kuvan vasemmalla puolella olevat ympyrän kärjet toimivat vain tulosignaalien jakamiseen. Ne eivät suorita laskelmia, joten niitä ei pidetä tasona. Tästä syystä ne on nimetty ympyröiksi erottamaan ne laskentahermosoluista (summaimista), jotka on nimetty neliöiksi.

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

Frank Rosenblatt ehdotti laitetta, joka simuloi ihmisen havainnointiprosessia, ja kutsui sitä "perceptroniksi". Perceptron välitti signaaleja valokennoista, jotka edustivat anturikenttää, sähkömekaanisten muistikennojen lohkoihin. Nämä solut yhdistettiin satunnaisesti toisiinsa konnektivismin periaatteiden mukaisesti. Vuonna 1957 Cornellin ilmailulaboratoriossa perceptronin simulointi IBM 704 -tietokoneella saatiin onnistuneesti päätökseen, 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 saattoi tietyn kirjaimen tunnistaessaan korostaa kirjaimelle ominaisia ​​piirteitä, jotka olivat 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 peitettyjä kirjaimia tai erikokoisia kirjaimia, jotka oli siirretty tai kierretty kuin mitä sen harjoituksen aikana käytettiin.

1.3 Perceptronin soveltamisala

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

· kun rakennetaan erityisiä teknisiä laitteita;

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

· lääketieteellisissä ja teknisissä diagnooseissa;

· geofysikaalisten tietojen tulkinta, ilmakuvaus;

· Sääennuste

· teollisuusrobottien parantaminen.

1.4 Perceptron-koulutus

Perceptroni on tietty instrumentti, 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 sisältyneet harjoitussarjaan, mutta ovat niiden kanssa melko samankaltaisia, tai ilmoittaa, että kuva ei ole samanlainen kuin mikään monista harjoituskuvista . "Riittävä samankaltaisuuden" asteen määrää sen joukon ominaisuuksien valinnan onnistuminen. Ja perceptronin kyky "oppia" riippuu joukon ominaisuuksien erotettavuudesta, eli ominaisuusjoukkojen ainutlaatuisuudesta luokkaan asti (toisin sanoen, eivätkö niiden luokkia rajoittavat alueet mene päällekkäin).

Kaikista keinotekoisten hermoverkkojen mielenkiintoisista ominaisuuksista mikään ei vangitse mielikuvitusta enemmän kuin niiden kyky oppia. Heidän koulutuksensa muistuttaa siinä määrin ihmispersoonallisuuden älyllisen kehityksen prosessia, että saattaa näyttää siltä, ​​että olemme saavuttaneet syvän ymmärryksen tästä prosessista. Mahdollisuus kouluttaa keinotekoisia hermoverkkoja on rajallinen, ja monia monimutkaisia ​​ongelmia on ratkaistava, jotta voidaan määrittää, olemmeko oikealla tiellä.

Koulutuksen tarkoitus

Verkko on koulutettu tuottamaan haluttu (tai ainakin sen mukainen) ulostulojoukko tietylle tulojoukolle. 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. Harjoitteluprosessin aikana verkon painoja säädetään vähitellen siten, että jokainen tulovektori tuottaa lähtövektorin.

On olemassa valvottuja, valvomattomia ja sekoitettuja oppimisalgoritmeja.

· Valvottu oppiminen olettaa, että jokaiselle tulovektorille on kohdevektori, joka edustaa haluttua lähtöä. Yhdessä heitä kutsutaan harjoituspariksi. Tyypillisesti verkostoa koulutetaan tietyllä määrällä tällaisia ​​harjoituspareja. Esitetään lähtövektori, verkon lähtö lasketaan ja sitä verrataan vastaavaan kohdevektoriin, erotus (virhe) syötetään takaisin verkkoon ja painoja muutetaan virheen minimoimiseen pyrkivän algoritmin mukaan. Harjoittelusarjavektorit esitetään peräkkäin, virheet lasketaan ja painoja säädetään kullekin vektorille, kunnes virhe koko harjoitussarjassa saavuttaa hyväksyttävän alhaisen tason.

· Ohjaamaton oppiminen on paljon todennäköisempi oppimismalli biologiselle järjestelmälle, se ei tarvitse kohdevektoria ulostuloille 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 identtiset lähdöt. Siksi oppimisprosessi poimii harjoitusjoukon tilastolliset ominaisuudet ja ryhmittelee samanlaiset vektorit luokkiin. Tietyn luokan vektorin esittäminen syötteenä tuottaa tietyn lähtövektorin, mutta ennen harjoittelua on mahdotonta ennustaa, mitä lähtövektorit tietyn luokan tulovektorit tuottavat. Tämän seurauksena tällaisen verkon tuotokset on muutettava johonkin ymmärrettävään muotoon, jonka oppimisprosessi määrittää. 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 muodostamisesta, missä I=0,1.....n. Harjoittelun jälkeen perceptronin on jaettava kaikki sille tunnistettavaksi tarjotut kuvat kahteen luokkaan: joista toinen vastaa lähdössä nolla-arvoa ja toinen yksikköarvoa.

Vaihe 1. Satunnaislukuanturi kaikille synaptisille painoille w j(j=1 ,…, n) ja anna joitain pieniä satunnaisia ​​arvoja neuronin herkkyyskynnykselle.

Vaihe 2 Esitä "Risti" tai "Toe" perceptronille.

Vaihe 3. Neuroni suorittaa tulosignaalien painotetun summauksen

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

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

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

Vaihe 4, c. 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 harjoitusalgoritmi rajallisella määrällä yrityksiä voi johtaa tavoitteeseen - perceptroni oppii lopulta tarvittavat tiedot, koodaa sen matriisin tiettyjen arvojen muodossa. synaptisten yhteysvahvuuksien w j ja siten oppia erottamaan " Cross" tai "Toe" Herää luonnollisesti kysymys, johtaako perceptronin harjoitusalgoritmi aina haluttuun tulokseen. Vastauksen tähän kysymykseen antaa perceptronin konvergenssilause:

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

2.2 Harjoittelun demonstrointi kootulla tietokoneohjelmalla

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

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

Syötetietojen ja painokertoimien perusteella muodostetaan tulos. Kun lähdössä vastaanotetaan 1, perceptronin katsotaan tunnistaneen "ristin", kun se vastaanottaa 0:n, sen katsotaan tunnistaneen "nollan". Tunnistustulos näkyy toisessa ikkunassa. Perceptron-virheen sattuessa käyttäjä napsauttaa tulosikkunassa "Ei"-painiketta 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ä tietokone, joka on rakennettu ihmisen aivojen kuvaan ja kaltaisuuteen, 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 oppimisprosessin aikana, hän selviytyi onnistuneesti kuvien tunnistamisesta, jotka hän "näki" ensimmäistä kertaa. Kävi ilmi, että perceptron pystyi tunnistamaan kuvia pienin vääristymin.

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 kehittämisen perimmäistä tavoitetta - ihmisen ajatteluprosessin täydellistä mallintamista - ei ole saavutettu, niitä käytetään jo nyt monien ongelmien ratkaisemiseen kuvankäsittelyssä, robottien ohjauksessa ja jatkuvassa tuotannossa, puheen ymmärtämisessä ja syntetisoinnissa, sekä ihmisten sairauksien ja koneiden ja instrumenttien teknisten ongelmien diagnosointiin, valuuttakurssien ennustamiseen jne.

Toisin kuin digitaaliset mikroprosessorijärjestelmät, jotka ovat monimutkaisia ​​prosessointi- ja tallennusyksiköiden yhdistelmiä, hermoverkkojen käyttöön perustuvat neuroprosessorit sisältävät muistia, joka on hajautettu yhteyksissä hyvin yksinkertaisten prosessorien välillä. Siten prosessorien pääkuormitus tiettyjen toimintojen suorittamiseen kohdistuu järjestelmäarkkitehtuuriin, jonka yksityiskohdat puolestaan ​​​​määräytyvät interneuroniyhteyksien avulla. Tähän rakenteeseen perustuvat neurotietokoneprototyypit tarjoavat standardin tavan ratkaista monia epätyypillisiä ongelmia.

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 tämän vaikeuden voittamiseksi ovat joko esikäsittely lineaarisesti erotettavissa olevan syöttövektoreiden joukon muodostamiseksi tai monikerroksisten perceptronien käyttö. Myös muun tyyppisiä hermoverkkoja voidaan soveltaa, kuten lineaarisia verkkoja tai backpropagation verkkoja, jotka voivat suorittaa lineaarisesti erottamattomien syöttövektoreiden luokittelun.

Kurssin aikana tehtiin seuraavaa:

1. Tarkastellaan perceptronin käsitettä ja hermoverkkojen luokittelua

2. Keinotekoisten hermoverkkojen syntyhistoriaa on tutkittu.

3. Perceptronin käyttöaluetta tarkastellaan.

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

5. Kuvataan tietokoneohjelman “Perceptron” toiminta-algoritmi.

6. Ohjelman koulutusesittely esitetään.

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. - Korkki 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. - Korkki näytöltä.

3. Laboratoriotöiden suorittamisohjeet / Osa 1 / Keinotekoisten hermoverkkojen mallintaminen MATLAB-järjestelmässä / Penza State University Publishing House / Penza 2005.

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

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

Liittyviä tietoja.