Neuralt netværk [1] (også kunstigt neuralt netværk , ANN ) er en matematisk model , såvel som dens software- eller hardwareimplementering, bygget på princippet om organisering og funktion af biologiske neurale netværk - netværk af nerveceller i en levende organisme. Dette koncept opstod, når man studerede de processer, der forekommer i hjernen , og når man forsøgte at modellere disse processer. Det første sådant forsøg var W. McCullochs og W. Pitts ' neurale netværk [2] . Efter udviklingen af læringsalgoritmer begyndte de resulterende modeller at blive brugt til praktiske formål: i prognoseproblemer , til mønstergenkendelse , i kontrolproblemer osv .
ANN er et system af forbundne og interagerende simple processorer ( kunstige neuroner ). Sådanne processorer er normalt ret simple (især sammenlignet med de processorer, der bruges i personlige computere). Hver processor i et sådant netværk beskæftiger sig kun med de signaler, den periodisk modtager, og de signaler, den med jævne mellemrum sender til andre processorer. Og alligevel, idet de er forbundet i et tilstrækkeligt stort netværk med kontrolleret interaktion, er sådanne enkeltstående simple processorer sammen i stand til at udføre ret komplekse opgaver.
Neurale netværk er ikke programmeret i ordets sædvanlige betydning, de er trænet [a] . Evnen til at lære er en af de vigtigste fordele ved neurale netværk i forhold til traditionelle algoritmer . Teknisk set handler læring om at finde koefficienterne for forbindelser mellem neuroner. I læringsprocessen er det neurale netværk i stand til at identificere komplekse afhængigheder mellem input og output, samt udføre generalisering . Dette betyder, at i tilfælde af vellykket træning, vil netværket være i stand til at returnere det korrekte resultat baseret på de data, der manglede i træningsprøven, såvel som ufuldstændige og/eller "støjende", delvist forvrængede data.
Genstande af forskellig karakter kan fungere som billeder: tekstsymboler, billeder, lydmønstre osv. Ved træning af netværket tilbydes forskellige mønstre af billeder med angivelse af, hvilken klasse de tilhører. En prøve er normalt repræsenteret som en vektor af funktionsværdier. I dette tilfælde skal helheden af alle funktioner entydigt bestemme den klasse , som prøven tilhører. Hvis der ikke er nok funktioner, kan netværket knytte den samme prøve til flere klasser, hvilket ikke er sandt. Ved afslutningen af netværkstræningen kan den præsenteres med hidtil ukendte billeder og få svar om tilhørsforhold til en bestemt klasse.
Topologien af et sådant netværk er karakteriseret ved, at antallet af neuroner i outputlaget normalt er lig med antallet af definerede klasser. Dette etablerer en overensstemmelse mellem outputtet af det neurale netværk og den klasse, det repræsenterer. Når et netværk præsenteres for et billede, skal et af dets output vise et tegn på, at billedet tilhører denne klasse. Samtidig skal andre udgange have et tegn på, at billedet ikke tilhører denne klasse [18] . Hvis to eller flere udgange har et tegn på at tilhøre en klasse, anses det for, at netværket er "ikke sikker" på sit svar.
Neurale netværksarkitekturer brugtDette problem er tæt på problemet med klassificering. Situationer er underlagt klassificering, hvis karakteristika føres til input fra det neurale netværk. Ved udgangen af netværket skal der vises et tegn på den beslutning, det har truffet. I dette tilfælde bruges forskellige kriterier til beskrivelse af tilstanden af det kontrollerede system som indgangssignaler [19] .
Clustering refererer til opdelingen af et sæt indgangssignaler i klasser, på trods af at hverken antallet eller karakteristika af klasserne er kendt på forhånd. Efter træning er et sådant netværk i stand til at bestemme, hvilken klasse indgangssignalet tilhører. Netværket kan også signalere, at inputsignalet ikke tilhører nogen af de valgte klasser - dette er et tegn på, at der mangler nye data fra træningsprøven. Således kan et sådant netværk detektere nye, hidtil ukendte klasser af signaler . Korrespondancen mellem de klasser, der er identificeret af netværket, og de klasser, der findes i fagområdet, etableres af en person. Clustering udføres for eksempel af Kohonen neurale netværk .
Neurale netværk i Kohonens simple version kan ikke være enorme, så de er opdelt i hyperlag (hyperkolonner) og kerner (mikrokolonner). Sammenlignet med den menneskelige hjerne bør det ideelle antal parallelle lag ikke overstige 112. Disse lag udgør til gengæld hyperlag (hyperkolonner), hvori der er fra 500 til 2000 mikrosøjler (kerner). Derudover er hvert lag opdelt i et sæt hyperkolonner, der trænger gennem disse lag. Mikrokolonnerne er kodet med cifre og enheder med resultatet opnået ved udgangen. Om nødvendigt fjernes eller tilføjes ekstra lag og neuroner. Det er ideelt at bruge en supercomputer til at vælge antallet af neuroner og lag. Et sådant system tillader neurale netværk at være plastiske.
Neurale netværksarkitekturer brugtEt neuralt netværks evne til at forudsige følger direkte af dets evne til at generalisere og fremhæve skjulte afhængigheder mellem input- og outputdata. Efter træning er netværket i stand til at forudsige den fremtidige værdi af en bestemt sekvens baseret på flere tidligere værdier og (eller) nogle aktuelt eksisterende faktorer. Forecasting er kun mulig, når de tidligere ændringer virkelig forudbestemmer fremtiden til en vis grad . For eksempel kan forudsigelse af aktiekurser baseret på sidste uges aktiekurser være succesfuld eller måske ikke, mens forudsigelse af morgendagens lotteriresultater baseret på data fra de seneste 50 år næsten helt sikkert vil mislykkes.
Neurale netværksarkitekturer brugtNeurale netværk kan tilnærme kontinuerlige funktioner. En generaliseret tilnærmelsessætning [ 20] blev bevist : ved hjælp af lineære operationer og en kaskadeforbindelse er det muligt at opnå en enhed fra et vilkårligt ikke-lineært element, der beregner enhver kontinuerlig funktion med en forudbestemt nøjagtighed . Dette betyder, at den ikke-lineære karakteristik af en neuron kan være vilkårlig: fra sigmoid til vilkårlig bølgepakke eller wavelet , sinus eller polynomium . Kompleksiteten af et bestemt netværk kan afhænge af valget af en ikke-lineær funktion , men med enhver ikke-linearitet forbliver netværket en universel approksimator og kan med det rigtige valg af struktur nøjagtigt tilnærme funktionen af enhver kontinuerlig automat.
Neurale netværksarkitekturer brugtNeurale netværks evne til at identificere relationer mellem forskellige parametre gør det muligt at udtrykke højdimensionelle data mere kompakt, hvis dataene er tæt forbundet med hinanden. Den omvendte proces - gendannelse af det originale datasæt fra et stykke information - kaldes (auto)associativ hukommelse. Associativ hukommelse giver dig også mulighed for at gendanne det originale signal/billede fra støjende/beskadigede inputdata. Løsning af problemet med heteroassociativ hukommelse gør det muligt at implementere indholdsadresserbar hukommelse [19] .
Nogle af disse trin bør overvejes mere detaljeret.
Valget af data til netværkstræning og deres behandling er det sværeste trin i løsningen af problemet. Træningsdatasættet skal opfylde flere kriterier:
De indledende data konverteres til den form, hvor de kan sendes til netværkets input. Hver indtastning i datafilen kaldes et træningspar eller en træningsvektor . Træningsvektoren indeholder én værdi for hver netværksinput og, afhængigt af træningstypen (overvåget eller ikke-overvåget), én værdi for hver netværksoutput. Træning af et netværk på et "råt" sæt giver som regel ikke resultater af høj kvalitet. Der er en række måder at forbedre "opfattelsen" af netværket.
Derudover spiller præsentationen af både input- og outputdata en vigtig rolle. Antag, at netværket er trænet til at genkende bogstaver i billeder og har ét numerisk output - bogstavets nummer i alfabetet. I dette tilfælde vil netværket få det falske indtryk, at bogstaverne nummereret 1 og 2 er mere ens end bogstaverne nummereret 1 og 3, hvilket generelt ikke er sandt. For at undgå en sådan situation anvendes en netværkstopologi med et stort antal udgange, når hver udgang har sin egen betydning. Jo flere output i netværket, jo større er afstanden mellem klasserne, og jo sværere er det at forveksle dem.
Netværkstypen bør vælges ud fra problemformuleringen og de tilgængelige træningsdata. Superviseret læring kræver en "ekspert" vurdering for hvert element i prøven. Nogle gange er det simpelthen umuligt at opnå et sådant skøn for en stor mængde data. I disse tilfælde er et naturligt valg et uovervåget læringsnetværk (f.eks. Kohonen selvorganiserende kort eller Hopfield neurale netværk ). Ved løsning af andre problemer (såsom tidsserieprognoser), er ekspertvurdering allerede indeholdt i de originale data og kan udtrækkes under behandlingen. I dette tilfælde kan du bruge en flerlagsperceptron[ klargør ] eller Word-netværket .
Efter at have valgt den generelle struktur er det nødvendigt at eksperimentelt vælge netværksparametrene. For netværk som en perceptron vil dette være antallet af lag, antallet af blokke i skjulte lag (for Word-netværk), tilstedeværelsen eller fraværet af bypass-forbindelser og neuronernes overførselsfunktioner. Når man vælger antallet af lag og neuroner i dem, skal man tage udgangspunkt i, at netværkets evne til at generalisere er jo højere, jo større er det samlede antal forbindelser mellem neuroner . På den anden side begrænses antallet af forbindelser ovenfra af antallet af poster i træningsdataene.
Efter at have valgt en specifik topologi er det nødvendigt at vælge træningsparametrene for det neurale netværk. Dette trin er især vigtigt for overvågede netværk . Det korrekte valg af parametre bestemmer ikke kun, hvor hurtigt netværkets svar vil konvergere til de korrekte svar. For eksempel vil valg af en lav indlæringshastighed øge konvergenstiden, men nogle gange undgå netværkslammelse . Forøgelse af indlæringsmomentet kan enten øge eller mindske konvergenstiden, afhængigt af formen på fejloverfladen . Baseret på en sådan modstridende påvirkning af parametrene kan det konkluderes, at deres værdier skal vælges eksperimentelt, styret af læringsgennemførelseskriteriet (for eksempel at minimere fejlen eller begrænse træningstiden).
Under læringsprocessen scanner netværket træningsprøven i en bestemt rækkefølge. Gennemsynsrækkefølgen kan være sekventiel, tilfældig osv. Nogle ikke-overvågede netværk ( f.eks. Hopfield-netværk ) scanner prøven kun én gang. Andre (såsom Kohonen-netværk ), såvel som overvågede netværk, scanner prøven mange gange, hvor en hel gennemgang af prøven kaldes en læringsepoke . Når du lærer med en lærer, er sættet af indledende data opdelt i to dele - selve træningsprøven og testdata; princippet om adskillelse kan være vilkårligt. Træningsdataene føres til netværket til træning, og testdataene bruges til at beregne netværkets fejl (testdataene bruges aldrig til at træne netværket). Hvis fejlen falder på testdataene, generaliserer netværket således. Hvis fejlen på træningsdataene fortsætter med at falde, og fejlen på testdataene stiger, så er netværket holdt op med at generalisere og "husker" simpelthen træningsdataene. Dette fænomen kaldes netværksoverfitting eller overfitting . I sådanne tilfælde stoppes træningen normalt. Under træningsprocessen kan der opstå andre problemer, såsom lammelse eller netværket kommer ind i et lokalt minimum af fejloverfladen. Det er umuligt på forhånd at forudsige manifestationen af et bestemt problem, samt at give utvetydige anbefalinger til deres løsning.
Alt ovenstående gælder kun for iterative algoritmer til at finde neurale netværksløsninger. For dem kan intet rigtig garanteres, og det er umuligt fuldt ud at automatisere træningen af neurale netværk. Men sammen med iterative læringsalgoritmer er der ikke-iterative algoritmer, der har meget høj stabilitet og giver dig mulighed for at automatisere læringsprocessen fuldt ud .
Selv i tilfælde af vellykket træning ved første øjekast lærer netværket ikke altid præcis, hvad skaberen ønskede fra det. Der er et kendt tilfælde, hvor netværket blev trænet til at genkende billeder af kampvogne fra fotografier, men senere viste det sig, at alle kampvognene var fotograferet på samme baggrund. Som et resultat "lærte" netværket at genkende denne type terræn i stedet for at "lære" at genkende tanke [22] . Netværket "forstår" således ikke, hvad der kræves af det, men hvad der er lettest at generalisere.
Test af kvaliteten af neurale netværkstræning bør udføres på eksempler, der ikke deltog i træningen. Antallet af testcases bør være jo større, jo højere kvaliteten af træningen er. Hvis neurale netværksfejl har en sandsynlighed tæt på en milliardtedel, så skal der en milliard testcases til for at bekræfte denne sandsynlighed. Det viser sig, at test af veltrænede neurale netværk bliver en meget vanskelig opgave.
I en række neurale netværk kan aktiveringsfunktionen ikke kun afhænge af vægtkoefficienterne for forbindelser , men også af tidspunktet for transmission af en impuls (signal) gennem kommunikationskanaler . Derfor har den aktiverende (overførende) funktion af forbindelsen fra element til element generelt formen: . Så er et synkront netværk et sådant netværk, hvor transmissionstiden for hver forbindelse enten er nul eller en fast konstant . Et asynkront netværk er et netværk, hvor transmissionstiden for hver forbindelse mellem elementer er forskellig , men også konstant.
I feedforward neurale netværk er alle forbindelser rettet strengt fra inputneuroner til outputneuroner. Eksempler på sådanne netværk er Rosenblatts perceptron , flerlagsperceptron , Word-netværk .
Signalet fra outputneuronerne eller skjulte lagneuroner transmitteres delvist tilbage til inputneuronerne i inputlaget ( feedback ). Det tilbagevendende Hopfield-netværk "filtrerer" inputdataene, vender tilbage til en stabil tilstand og gør det således muligt at løse problemerne med datakomprimering og opbygning af associativ hukommelse [23] . Tovejsnetværk er et særligt tilfælde af tilbagevendende netværk. I sådanne netværk er der forbindelser mellem lag både i retningen fra inputlaget til outputlaget og i den modsatte retning. Et klassisk eksempel er Cosco Neural Network .
Der er udviklet neurale netværk, der bruger radial-basic (også kaldet RBF) netværk som aktiveringsfunktioner. Generelt billede af den radiale basisfunktion:
, for eksempel,
hvor er vektoren af neuron inputsignaler, er bredden af funktionsvinduet, er en faldende funktion (oftest lig med nul uden for et bestemt segment).
Det radiale-basiske netværk er kendetegnet ved tre funktioner:
Sådanne netværk er et uovervåget konkurrencedygtigt neuralt netværk , der udfører opgaven med visualisering og klyngedannelse . Det er en metode til at projicere et multidimensionelt rum ind i et rum med en lavere dimension (oftest todimensionelt), det bruges også til at løse problemer med modellering, prognoser osv. Det er en af versionerne af Kohonens neurale netværk [ 24] . Kohonens selvorganiserende kort tjener primært til visualisering og indledende ("rekognoscering") dataanalyse [25] .
Signalet til Kohonen-netværket går til alle neuroner på én gang, vægten af de tilsvarende synapser fortolkes som koordinater for nodens position, og udgangssignalet dannes efter princippet om "vinderen tager alt" - det vil sige neuron nærmest (i betydningen synapsevægte) på inputsignalet har et udgangssignalobjekt, der ikke er nul. Under indlæringsprocessen justeres synapsevægte på en sådan måde, at gitterknuderne er "placeret" på steder med lokal datakondensering, det vil sige, at de beskriver klyngestrukturen af dataskyen, på den anden side forbindelserne mellem neuroner svarer til naborelationerne mellem de tilsvarende klynger i featurerummet.
Det er praktisk at betragte sådanne kort som todimensionale gitter af noder placeret i et flerdimensionelt rum. I første omgang er et selvorganiserende kort et gitter af noder forbundet med links. Kohonen overvejede to muligheder for at forbinde noder - i et rektangulært og sekskantet gitter - forskellen er, at i et rektangulært gitter er hver node forbundet med 4 naboknuder, og i en sekskantet - til seks nærmeste noder. For to sådanne net adskiller processen med at konstruere et Kohonen-netværk sig kun på det sted, hvor de nærmeste naboer til en given knude krydses.
Den indledende indlejring af gitteret i datarummet vælges vilkårligt. Forfatterens SOM_PAK-pakke tilbyder muligheder for en tilfældig indledende placering af noder i rummet og en variant for placering af noder i et plan. Derefter begynder noderne at bevæge sig i rummet i henhold til følgende algoritme:
Computersystemer baseret på neurale netværk har en række kvaliteter, der er fraværende i maskiner med von Neumann-arkitektur (men iboende i den menneskelige hjerne):
Inputdata er aktiekursen for året. Opgaven er at fastlægge morgendagens kurs. Følgende transformation udføres - kurset for i dag, i går, i forgårs er linet op. Den næste række forskydes efter dato med én dag og så videre. På det resulterende sæt trænes et netværk med 3 indgange og en udgang - det vil sige output: kurs til dato, input: kurs til dato minus 1 dag, minus 2 dage, minus 3 dage. Det trænede netværk bliver fodret med kursen for i dag, i går, i forgårs og får svaret for i morgen. I dette tilfælde vil netværket vise afhængigheden af en parameter af de tre foregående. Hvis det er ønskeligt at tage højde for en anden parameter (for eksempel det generelle indeks for industrien), så skal det tilføjes som input (og inkluderes i eksemplerne), genoptræne netværket og få nye resultater. For den mest præcise træning er det værd at bruge ORO-metoden , som den mest forudsigelige og nemme at implementere.
En række værker af M. G. Dorrer og medforfattere er viet til undersøgelsen af muligheden for at udvikle psykologisk intuition i neurale netværksekspertsystemer [ 27] [28] . De opnåede resultater giver en tilgang til at afsløre intuitionsmekanismen i neurale netværk, som manifesterer sig, når de løser psykodiagnostiske problemer. Der er skabt en intuitiv tilgang til psykodiagnostik , som ikke er standard for computermetoder , som består i at udelukke konstruktionen af den beskrevne virkelighed . Det giver dig mulighed for at reducere og forenkle arbejdet med psykodiagnostiske metoder.
Neurale netværk er meget brugt i kemisk og biokemisk forskning [29] . På nuværende tidspunkt er neurale netværk en af de mest almindelige metoder inden for kemoinformatik til at søge efter kvantitative struktur-egenskabsforhold [30] [31] , på grund af hvilken de bruges aktivt både til at forudsige de fysisk-kemiske egenskaber og biologiske aktivitet af kemiske forbindelser, og for rettet design af kemiske forbindelser, forbindelser og materialer med forudbestemte egenskaber, herunder udvikling af nye lægemidler.
Neurale netværk bruges med succes til syntese af styresystemer til dynamiske objekter [32] [33] .
Inden for kontrol bruges neurale systemer i problemer med objektidentifikation, i algoritmer til prognoser og diagnostik, og også til syntese af optimal ACS. For at implementere ACP baseret på ANN er produktionen af neurochips og neurocontrollere (NC) i øjeblikket ved at blive intensivt udviklet .
I en vis forstand er ANN en hjernesimulator , der har evnen til at lære og navigere i forhold med usikkerhed. Et kunstigt neuralt netværk ligner hjernen i to aspekter. Netværket tilegner sig viden i læringsprocessen, og for at lagre viden bruger det ikke selve objekterne, men deres forbindelser - værdierne af koefficienterne for interneuronale forbindelser, kaldet synaptiske vægte eller synaptiske koefficienter.
ANN-læringsproceduren består i at identificere synaptiske vægte, der giver den de nødvendige transformerende egenskaber. Et træk ved ANN er dets evne til at ændre parametrene og strukturen i læringsprocessen. [34]
Neurale netværksalgoritmer er meget brugt i økonomi [35] . Ved hjælp af neurale netværk løses problemet med at udvikle algoritmer til at finde en analytisk beskrivelse af funktionsmønstrene for økonomiske objekter (virksomhed, industri, region). Disse algoritmer anvendes til at forudsige nogle "output"-indikatorer for objekter. Brugen af neurale netværksmetoder gør det muligt at løse nogle problemer med økonomisk og statistisk modellering, øge matematiske modellers tilstrækkelighed og bringe dem tættere på den økonomiske virkelighed [36] . Da økonomiske, finansielle og sociale systemer er meget komplekse og er resultatet af menneskelige handlinger og reaktioner, er det en meget vanskelig (hvis løselig) opgave at skabe en komplet matematisk model , der tager højde for alle mulige handlinger og reaktioner. I systemer af denne kompleksitet er det naturligt og mest effektivt at bruge modeller, der direkte efterligner samfundets og økonomiens adfærd. Det er præcis, hvad metodikken for neurale netværk [37] kan tilbyde .
Ordbøger og encyklopædier | |
---|---|
I bibliografiske kataloger |
|
Typer af kunstige neurale netværk | |
---|---|
|
Viden Engineering | |
---|---|
Generelle begreber | |
Stive modeller | |
Bløde metoder | |
Ansøgninger | |
Machine learning og data mining | |
---|---|
Opgaver | |
At lære med en lærer | |
klyngeanalyse | |
Dimensionalitetsreduktion | |
Strukturel prognose | |
Anomali detektion | |
Grafer sandsynlighedsmodeller | |
Neurale netværk | |
Forstærkende læring |
|
Teori | |
Tidsskrifter og konferencer |
|