logo

Mikä on neuroverkko?

Neuraaliverkot ovat laskennallisia malleja, jotka jäljittelevät ihmisen aivojen monimutkaisia ​​toimintoja. Neuraaliverkot koostuvat toisiinsa yhdistetyistä solmuista tai neuroneista, jotka käsittelevät dataa ja oppivat niistä mahdollistaen tehtäviä, kuten hahmontunnistuksen ja päätöksenteon koneoppimisessa. Artikkeli tutkii lisää hermoverkoista, niiden toiminnasta, arkkitehtuurista ja muusta.

Sisällysluettelo



Neuraaliverkkojen evoluutio

1940-luvulta lähtien neuroverkkojen alalla on tapahtunut useita huomionarvoisia edistysaskeleita:

  • 1940-1950: Varhaiset käsitteet
    Neuroverkot saivat alkunsa McCullochin ja Pittsin ensimmäisen matemaattisen keinotekoisten hermosolujen mallin käyttöönotosta. Mutta laskennalliset rajoitteet vaikeuttivat edistymistä.
  • 1960-1970: Perceptronit
    Tämän aikakauden määrittelee Rosenblattin perceptroneja koskeva työ. Perceptronit ovat yksikerroksisia verkkoja, joiden soveltuvuus rajoittui ongelmiin, jotka voitaisiin ratkaista lineaarisesti erikseen.
  • 1980-luku: Backpropagation ja Connectionismi
    Monikerroksinen verkko Harjoittelun mahdollisti Rumelhartin, Hintonin ja Williamsin backpropagation-menetelmän keksintö. Konnektionismi sai vetovoimaa, koska se painotti oppimista toisiinsa yhdistettyjen solmujen kautta.
  • 1990-luku: puomi ja talvi
    Kuvatunnistuksen, rahoituksen ja muiden alojen sovellusten myötä neuroverkot kokivat nousukauden. Neuroverkkotutkimus kuitenkin koki talven kohtuuttomien laskentakustannusten ja paisuneiden odotusten vuoksi.
  • 2000-luku: Resurgence ja Deep Learning
    Suuremmat tietojoukot, innovatiiviset rakenteet ja parannettu prosessointikyky kannustivat paluun. Syvä oppiminen on osoittanut hämmästyttävää tehokkuutta useilla aloilla käyttämällä useita kerroksia.
  • 2010-luku nykypäivää: Deep Learning Dominance
    Konvoluutiohermoverkot (CNN) ja toistuvat hermoverkot (RNN:t), kaksi syvää oppimisarkkitehtuuria, hallitsivat koneoppimista. Niiden voima osoitti pelaamisen, kuvantunnistuksen ja luonnollisen kielenkäsittelyn innovaatiot.

Mitä ovat hermoverkot?

Neuroverkot poimi tunnisteominaisuudet tiedoista, ilman esiohjelmoitua ymmärrystä. Verkkokomponentteihin kuuluvat neuronit, yhteydet, painot, esijännitykset, etenemisfunktiot ja oppimissääntö. Neuronit vastaanottavat syötteitä, joita ohjaavat kynnykset ja aktivointitoiminnot. Yhteyksiin liittyy tiedonsiirtoa sääteleviä painotuksia ja harhoja. Oppiminen, painojen ja harhojen säätäminen tapahtuu kolmessa vaiheessa: syötteen laskenta, tulosten luominen ja iteratiivinen tarkentaminen, mikä parantaa verkon kykyä erilaisissa tehtävissä.

mb vs gb

Nämä sisältävät:



  1. Neuroverkkoa simuloi uusi ympäristö.
  2. Sitten neuroverkon vapaat parametrit muuttuvat tämän simulaation seurauksena.
  3. Sen jälkeen hermoverkko reagoi uudella tavalla ympäristöön vapaiden parametrien muutosten vuoksi.
nn-Geeksforgeeks


Neuroverkkojen merkitys

Neuroverkkojen kyky tunnistaa kuvioita, ratkaista monimutkaisia ​​pulmia ja sopeutua muuttuvaan ympäristöön on välttämätöntä. Niiden kyvyllä oppia tiedoista on kauaskantoisia vaikutuksia, jotka vaihtelevat mullistavasta tekniikasta, kuten luonnollisen kielen käsittely ja itseohjautuvat autot päätöksentekoprosessien automatisointiin ja tehokkuuden lisäämiseen useilla toimialoilla. Tekoälyn kehitys on pitkälti riippuvainen hermoverkoista, jotka myös ohjaavat innovaatioita ja vaikuttavat teknologian suuntaan.

Kuinka hermoverkot toimivat?

Ymmärrämme esimerkin avulla, kuinka hermoverkko toimii:



Harkitse neuroverkkoa sähköpostin luokittelua varten. Syötetaso sisältää ominaisuuksia, kuten sähköpostin sisällön, lähettäjän tiedot ja aiheen. Nämä syötteet kerrottuna säädetyillä painoilla kulkevat piilotettujen kerrosten läpi. Verkko oppii koulutuksen avulla tunnistamaan kuvioita, jotka osoittavat, onko sähköposti roskapostia vai ei. Tulostuskerros binääriaktivointitoiminnolla ennustaa, onko sähköposti roskapostia (1) vai ei (0). Kun verkko toistuvasti tarkentaa painojaan takaisin leviämisen kautta, se tulee taitavasti erottamaan roskapostin ja lailliset sähköpostit, esitellen hermoverkkojen käytännöllisyyttä reaalimaailman sovelluksissa, kuten sähköpostin suodatuksessa.

kumoa viimeinen sitoumus

Neuraaliverkon toiminta

Neuraaliverkot ovat monimutkaisia ​​järjestelmiä, jotka jäljittelevät joitain ihmisaivojen toiminnan piirteitä. Se koostuu syöttökerroksesta, yhdestä tai useammasta piilokerroksesta ja lähtökerroksesta, joka koostuu toisiinsa kytkettyjen keinotekoisten neuronien kerroksista. Perusprosessin kahta vaihetta kutsutaan backpropagationiksi ja eteneminen eteenpäin .

nn-ar-Geeksforgeeks


Eteenpäin leviäminen

  • Syöttötaso: Jokaista syöttökerroksen ominaisuutta edustaa verkon solmu, joka vastaanottaa syöttödataa.
  • Painot ja liitännät: Kunkin neuronaalisen yhteyden paino osoittaa, kuinka vahva yhteys on. Harjoittelun aikana näitä painoja muutetaan.
  • Piilotetut tasot: Jokainen piilokerroksen neuroni käsittelee syötteitä kertomalla ne painoilla, laskemalla ne yhteen ja ohjaamalla ne sitten aktivointitoiminnon läpi. Tämän avulla saadaan aikaan epälineaarisuus, jonka avulla verkko tunnistaa monimutkaiset kuviot.
  • Lähtö: Lopputulos saadaan toistamalla prosessia, kunnes tuloskerros on saavutettu.

Takaisin eteneminen

  • Tappiolaskelma: Verkon tuotto arvioidaan todellisia tavoitearvoja vastaan ​​ja ero lasketaan häviöfunktiolla. Regressio-ongelmalle Keskimääräinen neliövirhe (MSE) käytetään yleisesti kustannusfunktiona.
    Häviötoiminto: MSE = frac{1}{n} Sigma^{n}_{i=1} (y_{i} - hat y_{i})^2
  • Gradientti laskeutuminen: Verkko käyttää sitten gradienttilaskua häviön vähentämiseksi. Epätarkkuuden pienentämiseksi painoja muutetaan kunkin painon häviön derivaatan perusteella.
  • Painojen säätö: Painot säädetään jokaisessa yhteydessä käyttämällä tätä iteratiivista prosessia tai takaisinlisäystä , taaksepäin verkon yli.
  • Koulutus: Eri tietonäytteillä harjoitettaessa koko eteenpäin etenemis-, häviölaskennan ja takaisin-etenemisen prosessi tehdään iteratiivisesti, jolloin verkko voi mukautua ja oppia malleja tiedoista.
  • Aktivointitoiminnot: Mallin epälineaarisuus otetaan käyttöön aktivointifunktioilla, kuten oikaistu lineaarinen yksikkö (ReLU) t sigmoidi . Heidän päätöksensä siitä, laukaistaako neuroni, perustuu koko painotettuun syötteeseen.

Neuraaliverkon oppiminen

1. Oppiminen ohjatulla oppimisella

Sisään ohjattua oppimista , hermoverkkoa ohjaa opettaja, jolla on pääsy molempiin tulo-lähtö-pareihin. Verkko luo lähtöjä tulojen perusteella ympäristöä huomioimatta. Vertaamalla näitä lähtöjä opettajan tuntemiin haluttuihin lähtöihin generoidaan virhesignaali. Virheiden vähentämiseksi verkon parametreja muutetaan iteratiivisesti ja ne pysähtyvät, kun suorituskyky on hyväksyttävällä tasolla.

yritä saada java kiinni

2. Oppiminen ohjaamattomalla oppimisella

Vastaavat lähtömuuttujat puuttuvat ohjaamatonta oppimista . Sen päätavoitteena on ymmärtää saapuvan datan (X) taustarakenne. Paikalla ei ole ohjaajaa neuvomassa. Sen sijaan haluttu tulos on datamallien ja -suhteiden mallintaminen. Sanat kuten regressio ja luokittelu liittyvät ohjattuun oppimiseen, kun taas ohjaamaton oppiminen liittyy klusterointiin ja assosiaatioon.

3. Oppiminen vahvistusoppimisen kanssa

Vuorovaikutuksen kautta ympäristön kanssa ja palautteena palkkioiden tai rangaistusten muodossa verkosto saa tietoa. Verkoston tavoitteena on löytää käytäntö tai strategia, joka optimoi kumulatiiviset palkkiot ajan myötä. Tällaista käytetään usein peli- ja päätöksentekosovelluksissa.

Neuraaliverkkojen tyypit

On seitsemän käytettävät neuroverkot.

  • Feedforward-verkot: A myötäkytkentäinen neuroverkko on yksinkertainen keinotekoinen hermoverkkoarkkitehtuuri, jossa data siirtyy syötteestä lähtöön yhteen suuntaan. Siinä on syöttö-, piilo- ja tulostuskerrokset; palautesilmukat puuttuvat. Sen suoraviivainen arkkitehtuuri tekee siitä sopivan useisiin sovelluksiin, kuten regressio- ja kuviontunnistukseen.
  • Multilayer Perceptron (MLP): MLP on eräänlainen myötäkytkentäinen neuroverkko, jossa on kolme tai useampi kerros, mukaan lukien syöttökerros, yksi tai useampi piilotettu kerros ja tuloskerros. Se käyttää epälineaarisia aktivointifunktioita.
  • Konvoluutiohermoverkko (CNN): A Konvoluutiohermoverkko (CNN) on erikoistunut keinotekoinen neuroverkko, joka on suunniteltu kuvankäsittelyyn. Se käyttää konvoluutiotasoja oppiakseen automaattisesti hierarkkisia ominaisuuksia syötetyistä kuvista, mikä mahdollistaa tehokkaan kuvien tunnistamisen ja luokittelun. CNN:t ovat mullistaneet tietokonenäön ja ovat keskeisiä tehtävissä, kuten kohteen havaitsemisessa ja kuva-analyysissä.
  • Toistuva hermoverkko (RNN): Keinotekoista neuroverkkotyyppiä, joka on tarkoitettu peräkkäiseen tiedonkäsittelyyn, kutsutaan a Toistuva hermoverkko (RNN). Se sopii sovelluksiin, joissa kontekstuaaliset riippuvuudet ovat kriittisiä, kuten aikasarjojen ennustamiseen ja luonnollisen kielen käsittelyyn, koska se hyödyntää takaisinkytkentäsilmukoita, jotka mahdollistavat tiedon säilymisen verkossa.
  • Pitkä lyhytaikainen muisti (LSTM): LSTM on eräänlainen RNN, joka on suunniteltu ratkaisemaan katoava gradienttiongelma RNN:iden koulutuksessa. Se käyttää muistisoluja ja portteja tietojen selektiiviseen lukemiseen, kirjoittamiseen ja poistamiseen.

Yksinkertainen neuroverkon toteutus

Python 3

import> numpy as np> # array of any amount of numbers. n = m> X>=> np.array([[>1>,>2>,>3>],> >[>3>,>4>,>1>],> >[>2>,>5>,>3>]])> # multiplication> y>=> np.array([[.>5>, .>3>, .>2>]])> # transpose of y> y>=> y.T> # sigma value> sigm>=> 2> # find the delta> delt>=> np.random.random((>3>,>3>))>-> 1> for> j>in> range>(>100>):> > ># find matrix 1. 100 layers.> >m1>=> (y>-> (>1>/>(>1> +> np.exp(>->(np.dot((>1>/>(>1> +> np.exp(> >->(np.dot(X, sigm))))), delt))))))>*>((>1>/>(> >1> +> np.exp(>->(np.dot((>1>/>(>1> +> np.exp(> >->(np.dot(X, sigm))))), delt)))))>*>(>1>->(>1>/>(> >1> +> np.exp(>->(np.dot((>1>/>(>1> +> np.exp(> >->(np.dot(X, sigm))))), delt)))))))> ># find matrix 2> >m2>=> m1.dot(delt.T)>*> ((>1>/>(>1> +> np.exp(>->(np.dot(X, sigm)))))> >*> (>1>->(>1>/>(>1> +> np.exp(>->(np.dot(X, sigm)))))))> ># find delta> >delt>=> delt>+> (>1>/>(>1> +> np.exp(>->(np.dot(X, sigm))))).T.dot(m1)> ># find sigma> >sigm>=> sigm>+> (X.T.dot(m2))> # print output from the matrix> print>(>1>/>(>1> +> np.exp(>->(np.dot(X, sigm)))))>
>
>

Lähtö:

[[0.99999325 0.99999375 0.99999352]  [0.99999988 0.99999989 0.99999988]  [1. 1. 1. ]]>

Neuraaliverkkojen edut

Neuroverkkoja käytetään laajasti monissa eri sovelluksissa niiden monien etujen vuoksi:

  • Sopeutuvuus: Neuraaliverkot ovat hyödyllisiä toimissa, joissa syötteiden ja tulosten välinen yhteys on monimutkainen tai epäselvästi määritelty, koska ne voivat mukautua uusiin tilanteisiin ja oppia tiedosta.
  • Hahmontunnistus: Heidän taitonsa hahmontunnistuksessa tekee niistä tehokkaita tehtävissä, kuten äänen ja kuvan tunnistamisessa, luonnollisen kielen käsittelyssä ja muissa monimutkaisissa datakuvioissa.
  • Rinnakkaiskäsittely: Koska hermoverkot pystyvät luonteeltaan rinnakkaiseen prosessointiin, ne pystyvät käsittelemään useita töitä kerralla, mikä nopeuttaa ja parantaa laskennan tehokkuutta.
  • Epälineaarisuus: Neuraaliverkot pystyvät mallintamaan ja ymmärtämään monimutkaisia ​​datasuhteita hermosoluissa esiintyvien epälineaaristen aktivointifunktioiden ansiosta, jotka poistavat lineaaristen mallien haitat.

Neuraaliverkkojen haitat

Vaikka neuroverkot ovat tehokkaita, niissä ei ole haittoja ja vaikeuksia:

  • Laskennallinen intensiteetti: Suurten neuroverkkojen koulutus voi olla työläs ja laskennallisesti vaativa prosessi, joka vaatii paljon laskentatehoa.
  • Musta laatikko Luonto: Mustan laatikon malleina hermoverkot muodostavat ongelman tärkeissä sovelluksissa, koska on vaikea ymmärtää, miten ne tekevät päätöksiä.
  • Yliasennus: Ylisovitus on ilmiö, jossa hermoverkot sitovat koulutusmateriaalia muistiin sen sijaan, että ne tunnistaisivat kuvioita tiedosta. Vaikka regularisointimenetelmät auttavat lievittämään tätä, ongelma on edelleen olemassa.
  • Tarve suurille tietojoukoille: Tehokasta koulutusta varten hermoverkot tarvitsevat usein suuria, merkittyjä tietojoukkoja; muuten niiden suorituskyky voi kärsiä epätäydellisistä tai vääristyneistä tiedoista.

Usein kysytyt kysymykset (FAQ)

1. Mikä on neuroverkko?

Hermoverkko on keinotekoinen järjestelmä, joka koostuu toisiinsa liitetyistä solmuista (neuroista), jotka käsittelevät tietoa ja jotka on mallinnettu ihmisaivojen rakenteen mukaan. Sitä käytetään koneoppimistöissä, joissa kuvioita poimitaan tiedosta.

lisää taulukkoon java

2. Miten hermoverkko toimii?

Yhdistettyjen neuronien kerrokset käsittelevät dataa hermoverkoissa. Verkko käsittelee syötetietoa, muuttaa painoja harjoituksen aikana ja tuottaa tulosteen havaitsemistaan ​​kuvioista riippuen.

3. Mitkä ovat yleisimmät neuroverkkoarkkitehtuurityypit?

Feedforward-hermoverkot, toistuvat hermoverkot (RNN:t), konvoluutiohermoverkot (CNN) ja pitkäkestoiset lyhytmuistiverkot (LSTM) ovat esimerkkejä yleisistä arkkitehtuureista, jotka kukin on suunniteltu tiettyä tehtävää varten.

4. Mitä eroa on ohjatulla ja ohjaamattomalla oppimisella neuroverkoissa?

Valvotussa oppimisessa tunnistettua dataa käytetään neuroverkon kouluttamiseen, jotta se voi oppia yhdistämään syötteet vastaaviin lähtöihin. Ohjaamaton oppiminen toimii nimeämättömän datan kanssa ja etsii tiedoista rakenteita tai malleja .

5. Miten neuroverkot käsittelevät peräkkäistä dataa?

Palautesilmukat, jotka toistuvat hermoverkot (RNN) sisältävät, antavat niille mahdollisuuden käsitellä peräkkäistä dataa ja ajan mittaan siepata riippuvuuksia ja kontekstia.