ABC of AI: "Återkommande neurala nätverk. Öppet bibliotek - öppet bibliotek med pedagogisk information


kommunikation kan komma från antingen det utgående eller dolda lagret av neuroner. I varje krets av en sådan anslutning finns det ett enhetsfördröjningselement, på grund av vilket signalflödet kan betraktas som enkelriktat (utgångssignalen från föregående tidscykel betraktas som a priori given, vilket helt enkelt ökar dimensionen av ingångsvektorn av nätverket). Presenteras på detta sätt återkommande nätverk, med hänsyn till metoden för att generera utsignalen, fungerar som ett enkelriktat perceptronnätverk. Men träningsalgoritmen för ett sådant nätverk, som anpassar värdena för synaptiska vikter, är mer komplex på grund av signalernas beroende på ett ögonblick av deras värden vid tidigare ögonblick och följaktligen på grund av en mer besvärlig formel för att beräkna gradientvektorn.

När man diskuterar återkommande nätverk, där en flerskiktsperceptron används som ett utgångselement, låt oss betrakta de mest välkända strukturerna för RMLP, RTRN, Elman-nätverken.

Perceptronnätverk med feedback

Ett av de enklaste sätten att bygga återkommande nätverk baserad på enkelriktad HC består av att införa feedback i perceptronnätverket. I det följande kommer vi i förkortning att kalla ett sådant nätverk RMLP (engelska: Recurrent MultiLayer Perceptron - recurrent multilayer perceptron). Dess generaliserade struktur visas i fig. 1 (- enkla fördröjningselement).

Detta är ett dynamiskt nätverk, som kännetecknas av en fördröjning av ingångs- och utsignaler kombinerade till nätverkets invektor. Resonemanget kommer endast att gälla en ingångsnod och en utgångsneuron, samt ett dolt lager. Ett sådant system implementerar displayen:

(1)

där är antalet insignalfördröjningar och är antalet utsignalfördröjningar. Låt oss beteckna antalet neuroner i det dolda lagret. I detta fall kan RMLP-nätverket karakteriseras av en trippel av siffror. Vektorn som levereras till nätverksingången har formen:

Låt oss anta att alla neuroner har en sigmoidal aktiveringsfunktion. Låt oss beteckna den viktade summan av signaler från det dolda skiktets th neuron, a - den viktade summan av signaler utgångsneuron. Med den införda notationen beskrivs utsignalerna från specifika neuroner av beroenden

RMLP-nätverket används ofta för att simulera dynamiska processer online. Ett typiskt exempel på dess tillämpning är simulering av olinjära dynamiska objekt, för vilket nätverket

I vårt material idag kommer vi att påminna läsarna om konceptet med ett artificiellt neuralt nätverk (ANN), såväl som vad de är, och överväga frågorna om att lösa prognosproblemet med hjälp av ANN i allmänhet och återkommande ANN i synnerhet.

Neurala nätverk

Låt oss först komma ihåg vad ett artificiellt neuralt nätverk är. I en av de tidigare artiklarna har vi redan diskuterat att en ANN är ett nätverk av artificiella neuroner (en "svart låda" med många ingångar och en utgång) som omvandlar en vektor av insignaler (data) till en vektor av utsignaler med hjälp av en viss funktion som kallas en aktiveringsfunktion. Dessutom, mellan lagret av "mottagande" neuroner och utgångsskiktet finns det minst ett mellanliggande lager.

Typen av ANN-struktur avgör konceptet respons: således, i en framåtriktad fortplantning ANN, går signalen sekventiellt från ingångsskiktet av neuroner genom de mellanliggande till utgången; den återkommande strukturen innebär närvaron av återkoppling, när signalen från de utgående eller mellanliggande neuronerna delvis kommer till ingångarna till ingångsskiktet av neuroner (eller ett av de externa mellanskikten).

Återkommande neurala nätverk

Om vi ​​tittar på återkommande ANN lite mer i detalj visar det sig att den modernaste (och anses vara den mest "framgångsrika") av dem härstammar från en struktur som kallas en flerskiktsperceptron ( matematisk modell hjärna – feedforward ANN med mellanlager). Sedan deras utseende har de dessutom genomgått betydande förändringar - och den "nya generationen" ANN är mycket enklare än sina föregångare, trots att de framgångsrikt kan lösa problemet med att memorera sekvenser. Så till exempel är det mest populära Elman-nätverket idag utformat på ett sådant sätt att retursignalen från det inre lagret inte går till de "huvudsakliga" ingångsneuronerna, utan till ytterligare ingångar- det så kallade sammanhanget. Dessa neuroner lagrar information om den tidigare ingångsvektorn (stimulus); det visar sig att utsignalen (nätverksreaktionen) inte bara beror på den aktuella stimulansen utan också på den föregående.

Lösning på prognosproblemet

Det är tydligt att Elman-nätverk potentiellt är lämpliga för prognoser (särskilt tidsserier). Det är dock också känt att framkopplade neurala nätverk framgångsrikt klarar av denna uppgift - men inte i alla fall. Som ett exempel föreslår vi att överväga en av de mest populära varianterna av prognosproblemet – tidsserieprognoser (TS). Formuleringen av problemet handlar om att välja en godtycklig VR med N sampel. Därefter delas data in i tre prov - träning, testning och kontroll - och matas till ingången av ANN. Det resulterande resultatet kommer att presenteras i form av ett tidsserievärde vid önskad tidpunkt.

I allmänhet kommer uppgiften att prognostisera tidsserier med hjälp av en ANN till följande sekvens av steg:

  • samla in data för träning (ett stadium som anses vara ett av de svåraste);
  • förberedelse och normalisering av data (reduktion till VR-form);
  • val av ANN-topologi (i detta skede fattas ett beslut om antalet lager och närvaron av feedback);
  • empiriskt (genom experiment) urval av ANN-egenskaper;
  • empiriskt urval av träningsparametrar;
  • ANN utbildning;
  • kontrollera att utbildningen är lämplig för uppgiften;
  • justering av parametrar med hänsyn till föregående steg, slutlig träning;
  • verbalisering av ANN (minimerad beskrivning med flera algebraiska eller logiska funktioner) för vidare användning.

Varför återkommande ANN?

Det är tydligt att beslutet om ANN-topologin kan påverka resultatet; men låt oss återgå till början av konversationen: varför valde vi medvetet prognoser med ett återkommande nätverk som ämne för den här artikeln? När allt kommer omkring, om du googlar det, utförs VR-prediktion i verk vanligtvis med flerskiktsperceptroner (vi kommer ihåg att dessa är feedforward-nätverk) och backpropagation-metoden. Det är värt att förtydliga här: ja, faktiskt, i teorin löser sådana ANN prognosproblemet väl - förutsatt att graden av brus (fel och utelämnanden i indata), till exempel, för den ursprungliga tidsserien är minimal.

I praktiken är tidsserier ganska bullriga, vilket naturligtvis orsakar problem när man försöker prognostisera. Användningen av samlingar av feedforward-nätverk gör det möjligt att minska graden av fel, men detta ökar inte bara komplexiteten i själva strukturen, utan också dess träningstid.

Genom att använda Elmans återkommande nätverk kan du lösa prognosproblemet även på mycket bullriga tidsserier (detta är särskilt viktigt för företag). I allmänhet är denna ANN en struktur av tre lager, såväl som en uppsättning ytterligare "kontextuella" element (ingångar). Feedback går från det dolda lagret till dessa element; varje länk har en fast vikt, lika med ett. Vid varje tidsintervall fördelas indata mellan neuroner i framåtriktningen; sedan tillämpas inlärningsregeln på dem. Tack vare fasta återkopplingar, kontextelement lagra alltid en kopia av värdena från det dolda lagret från föregående steg (eftersom de skickas bakåt även innan träningsregeln tillämpas). Således jämnas bruset från tidsserien gradvis ut, och tillsammans med det minimeras felet: vi får en prognos som i det allmänna fallet kommer att vara mer exakt än resultatet av det klassiska tillvägagångssättet, vilket västerländska verk bekräftar experimentellt .

Sammanfattning

Efter att ha övervägt några aspekter av praktisk tillämpning neurala nätverk För att lösa prognosproblemet kan vi dra slutsatsen: den återkommande modellen är framtiden för prognos. Förbi minst, detta gäller bullriga tidsserier - och som du vet, i praktiken, särskilt i näringslivet, kan saker inte göras utan felaktigheter och utelämnanden i data. Västerländsk vetenskap, och därefter entusiastiska utövare, har redan förstått detta. I det postsovjetiska rummet har allmänheten ännu inte kommit fram till dessa slutsatser - vi hoppas att detta material kommer att hjälpa våra läsare att dra sina slutsatser idag.

Hälsningar! Jag publicerade ofta artiklar olika typer, där han förklarade om feedforward-nätverk. I dem pratade jag om hur neurala nätverk lär sig, hur neuroner fungerar och praktisk applikation nätverk. Nu ska jag prata om nätverk som lämpar sig för chatbots, komplexa prognoser, textklassificering och mycket mer.

Arkitektur

Som vi vet har framkopplade neurala nätverk ett indatalager, dolda lager och ett utdatalager. Återkommande nätverk har nästan samma struktur, bara ett tidsfördröjningslager läggs till dem. Till exempel, dolt lager förknippas med en tidsfördröjning. Vi skickar signaler från ingångsskiktet till det dolda skiktet, det dolda skiktet skickar den bearbetade informationen till tidsfördröjningsskiktet och till utgångsskiktet. Nästa gång vi skickar signaler igen går informationen från ingångsskiktet till det dolda, och även signaler går från fördröjningsskiktet genom samma synapser (vikter). Efter detta bearbetar det dolda lagret informationen och skickar även nya signaler till tidsfördröjningsskiktet och till utgångsskiktet. Låt oss titta på allt detta i figuren:

Låt oss beskriva det matematisk formel. Först skickar vi information från inmatningsskiktet med vikter till det dolda: h1 = (x1 * w1) + (x2 * w4); h2 = (x1 * w2) + (x2 * w3)
Nu skickar vi information från dolda neuroner till tidsfördröjningsskiktet och till nätverksutgången: c1 = h1, c2 = h2; output1 = (h1 * w5) + (h2 * w6)

Det var allt, vi fick det första svaret. Nu har vi registrerat tidsfördröjningsskiktsdata och börjar köra signalen igen, och lägger bara till signaler från tidsfördröjningen: h1 = (x1 * w1) + (x2 * w4) + (c1 * c_w1) + (c2 * c_w3); och till den andra dolda neuronen h2 = (x1 * w2) + (x2 * w3) + (c1 * c_w2) + (c2 * c_w4). Nu skickar vi återigen mottagna data till fördröjningsskiktet och till utgången: c1 = h1, c2 = h2; output1 = (h1 * w5) + (h2 * w6).

Det är inte klart vid första anblicken om du inte känner till strukturen hos artificiella neuroner. Låt mig påminna dig om att neuronen har viktningskoefficienter som multipliceras med mottagna data, som ett resultat får vi ett modifierat svar. De modifierade svaren i neuronen läggs sedan ihop och matas in i aktiveringsfunktionen. Aktiveringsfunktionen gör summeringen till ett svar som vi kan förstå. Vi kan använda tröskelfunktion eller sigmoidal (hyperbolisk tangent och logistisk funktion)

Tröskelfunktion. När vi har resultatet av summeringen och någon tröskel jämför vi dem. Om det totala resultatet är större än tröskeln, kommer neuronen att mata ut 1, och om inte, då 0.

Den hyperboliska tangensen omvandlar det totala resultatet till ett tal från -1 till 1. För att göra detta, använd formeln:
Exponenten är en exponentiell funktion.

Logistikfunktionen omvandlar det totala resultatet till ett tal från 0 till 1. För att göra detta, använd formeln:

I slutändan visar det sig att återkommande neurala nätverk är kapabla till korttidsminne.

Utbildning av återkommande nätverk

För att träna sådana nätverk används ofta gradient descent-metoden. Backpropagation av fel skulle också kunna vara möjligt, men det har skrivits så mycket om det.

Jag kommer inte att prata om denna undervisningsmetod i detalj. Jag säger bara den här algoritmen:

1. Skicka en signal till det neurala nätverket.
2. Beräkna felet (ta rätt svar och subtrahera det neurala nätverkssvaret från det)
3. Multiplicera felet med sigmoidens lutning.
4. Multiplicera indata med resultatet från steg 3.
5. Lägg till resultaten från 4 punkter (vektor eller matris)
6. Subtrahera resultaten från punkt 5 från skalorna.

Du kan få felet så här: subtrahera nätverkssvaret från det korrekta svaret.
Lutningen för sigmoiden erhålls på detta sätt: output * (1 - output)

Jag tycker att allt är åtminstone lite klart. I nästa del kommer jag att prata om hur man praktiskt tillämpar ett sådant gradient descent-nätverk och hur LSTM-nätverk fungerar.

Neurala nätverk. Typer av NS. NS utbildning. Tillämpning av NS.

Föreläsning 8.

Vid identifiering representerar X och Y systemets in- och utsignaler.

Generellt sett kan de flesta tillämpade problem reduceras till implementering av någon komplex funktionell multidimensionell transformation.

Som ett resultat av displayen X → Y Det är extremt viktigt att se till att rätt utsignaler genereras enligt:

Med alla exempel på träningssetet;

Med alla möjliga insignaler som inte ingick i träningssetet.

Det andra kravet komplicerar i hög grad uppgiften att bilda ett träningsprov. I allmänhet har detta problem ännu inte lösts, men i alla kända fall kan en speciell lösning hittas.

Återkommande neurala nätverk är de nätverk där utsignalerna från neurala element i efterföljande lager har synaptiska kopplingar med neuroner från tidigare lager. Detta leder till möjligheten att ta hänsyn till resultaten av det neurala nätverkets transformation av information i föregående steg för att bearbeta ingångsvektorn i nästa steg av nätverkets drift. Återkommande nätverk kan användas för att lösa prognos- och kontrollproblem.

Återkommande nätverksarkitektur

Existera olika alternativ arkitekturer för återkommande neurala nätverk.

Jordan Network: År 1986 ᴦ. Jordan föreslog ett återkommande nätverk (Fig. 8.1), i vilket utgångarna från de neurala elementen i det sista lagret är anslutna genom speciella ingångsneuroner till neuronerna i det mellanliggande lagret. Sådana ingångsneurala element kallas kontextuella neuroner (kontextenheter). Οʜᴎ distribuera utsignalen från det neurala nätverket till de neurala elementen i det mellanliggande lagret.

Ris. 8.1Arkitektur av ett återkommande neuralt nätverk med återkoppling från utgångsskiktets neuroner

Antalet kontextneuroner är lika med antalet utgående neurala element i det återkommande nätverket. Neurala element med en linjär aktiveringsfunktion används som utgångsskikt för sådana nätverk. Sedan utgångsvärdet j-th neuronelementet i det sista lagret bestäms av formeln

(8.1)

Var v ij- viktningskoefficient mellan i th neuron av mellanliggande och j-th neuron av utgångsskikten; P i(t) - utgångsvärde i neuron i det mellanliggande lagret; t j- tröskelvärde j utgående skiktets neuron. Vägd summa i Det neurala elementet i det mellanliggande lagret definieras enligt följande:

(8.2)

Var w ij– viktningskoefficient mellan j-th neuron av ingången och i-th neuron av de mellanliggande lagren; R– antal neuroner i utgångsskiktet; w ki– viktningskoefficient mellan k-th sammanhang neuron och i-th neuron i det mellanliggande lagret; T- tröskelvärde i neuron i det mellanliggande lagret; n– dimension av ingångsvektorn.

Sedan utgångsvärdet i neuron i det dolda lagret:

(8.3)

Som en icke-linjär transformationsfunktion F Typiskt används den hyperboliska tangenten eller sigmoidfunktionen.

För att träna återkommande neurala nätverk används en backpropagation-algoritm (diskuteras nedan).

Algoritmen för att träna ett återkommande neuralt nätverk består i det allmänna fallet av följande steg:

1. I det första ögonblicket t= 1 alla kontextneuroner är inställda på nolltillstånd - utdatavärdena är lika med noll.

2. Ingångsbilden matas till nätverket och den distribueras direkt i det neurala nätverket.

3. I enlighet med backpropagation-algoritmen modifieras viktningskoefficienterna och tröskelvärdena för de neurala elementen.

4. Installerad t = t+1 och fortsätt till steg 2. Det återkommande nätverket tränas tills det totala medelkvadratfelet för nätverket blir mindre än det specificerade.

Till en av komplexa arter artificiella neurala nätverk (ANN) är återkommande sådana där det finns återkopplingskopplingar. I de första återkommande ANN:erna var huvudidén att lära sig dess utsignal vid föregående steg. Återkommande nätverk implementerar olinjära modeller som kan användas för optimal kontroll av tidsvarierande processer, det vill säga återkoppling möjliggör adaptiv memorering av tidigare tidshändelser. Generalisering av återkommande ANN kommer att göra det möjligt att skapa ett mer flexibelt verktyg för att konstruera olinjära modeller. Låt oss överväga några arkitekturer för återkommande ANN.

Jordannätverket är baserat på en flerskiktsperceptron. Återkoppling implementeras genom tillförsel av inte bara initiala data till ingångslagret, utan även nätverksutgångssignaler med en fördröjning på en eller flera klockcykler, vilket gör det möjligt att ta hänsyn till historiken för de observerade processerna och ackumulera information för utveckling rätt kontrollstrategi.

Elman-nätverket, liksom Jordan-nätverket, erhålls från en flerskiktsperceptron genom att införa återkopplingsanslutningar. Endast signalerna till ingångsskiktet kommer inte från nätverksutgångarna, utan från utgångarna från de dolda skiktets neuroner. Ett exempel på Elmans nätverksarkitektur visas i fig. 1. Dolda lagerutgångar { c 1 , c 2 ,…, c k} levereras med en tidsfördröjning för att mata in neuroner med viktningskoefficienter { w ij} -1 , Var i (i = 1,2,…, n) , j j = 1,2…, k).

Ris. 1. Exempel på Elman nätverksarkitektur

För att generalisera återkommande ANN, föreslår artikeln att lägga till en fördröjning av de dolda lagrets återkopplingssignaler med flera klockcykler. För att göra detta, lägg till dynamiskt stackminne till lagret. Ett exempel på arkitekturen för en sådan ANN visas i fig. 2.

Ris. 2. Ett exempel på en återkommande ANN-arkitektur med dynamiskt stackminne av flera tidigare utsignaler från det dolda lagret

Dolda lagerutgångar { c 1 , c 2 ,…, c k} matas till inmatade neuroner med viktningskoefficienter { w ij} - t , Var i– index för den neuron till vilken signalen skickas (i = 1,2,…, n) , j– index för utsignalen från den dolda lagerneuronen ( j = 1,2…, k) , t– tidsfördröjningsindex (t =1,2… m). Vi kommer att ändra antalet förseningar från 1 till m. Därmed erhålls Elman-nätverket med m=1, och flerskiktsperceptronen – vid m=0.

En detaljerad undersökning av arkitekturen för ett återkommande nätverk visar att återkoppling från det dolda lagret eller från nätverksutgången kan elimineras genom att lägga till återkopplingssignaler till träningsuppsättningen.

Låt oss överväga processen att transformera träningsprovet för att lösa problemet med tidsserieprognoser med hjälp av en återkommande ANN med dynamiskt stackminne. Som ett exempel kommer vi att använda de genomsnittliga månatliga värdena för solstrålningsflödestätheten vid en våglängd på 10,7 för 2010-2012 (tabell 1).

Tabell 1. Data om solstrålningsflödestäthet vid en våglängd på 10,7 cm för 2010-2012

Exempel nr. datum Strålningsflödestäthet 10 -22 [W/m 2 ]
1 januari 2010 834,84
2 februari 2010 847,86
3 mars 2010 833,55
4 april 2010 759,67
5 maj 2010 738,71
6 juni 2010 725,67
7 juli 2010 799,03
8 augusti 2010 797,10
9 september 2010 811,67
10 oktober 2010 816,77
11 november 2010 824,67
12 december 2010 843,23
13 januari 2011 837,42
14 februari 2011 945,71
15 mars 2011 1153,87
16 april 2011 1130,67
17 maj 2011 959,68
18 juni 2011 959,33
19 juli 2011 942,58
20 augusti 2011 1017,74
21 september 2011 1345,00
22 oktober 2011 1372,90
23 november 2011 1531,67
24 december 2011 1413,55
25 januari 2012 1330,00
26 februari 2012 1067,93
27 mars 2012 1151,29
28 april 2012 1131,67
29 maj 2012 1215,48
30 juni 2012 1204,00

Vi transformerar tidsserien med hjälp av skjutfönstermetoden, som visas i tabell 2.

Tabell 2. ANN-träningsprov för att lösa prognosproblemet, erhållet som ett resultat av att transformera en tidsserie med fönstermetoden

Exempel nr. ANN-ingångar ( x) ANN-utgångar ( y)
x 1 x 2 x 3 y 1
1 834,84 847,86 833,55 759,67
2 847,86 833,55 759,67 738,71
3 833,55 759,67 738,71 725,67

Låt det dolda lagret i en återkommande ANN innehålla tre neuroner, utgångslagret innehålla en neuron, stacken dynamiskt minne– returnera signaler från det dolda lagret med en fördröjning på två klockcykler (fig. 3).

Ris. 3. Återkommande ANN med minne av två tidigare utsignaler från det dolda lagret

Eftersom antalet dolda lagerneuroner som har återkoppling till ingångslagret är tre, kommer storleken på ingångsvektorn under ANN-träning vid lagring av föregående utsignal ett steg tillbaka att öka med tre, och vid lagring av de två föregående utsignalerna - med sex. Låt oss beteckna ingångssignalerna för träningsprovet som inte ändras under transformation som ( x 1 , x 2 , x 3 ), och återkopplingssignaler – ( x 4 , x 5 , x 6 , x 7 , x 8 , x 9 ). Tabell 3 visar den transformerade träningsuppsättningen.

Tabell 3. Lägga till utsignaler från det dolda lagret till träningsuppsättningen för den återkommande ANN

Nej. ANN-ingångar ( x) ANN-utgångar ( y)
x 1 x 2 x 3 x 4 x 5 x 6 x 7 x 8 x 9 y 1
1 834,84 847,86 833,55 0 0 0 0 0 0 759,67
2 847,86 833,55 759,67 c 1-1 c 2-1 c 3-1 0 0 0 738,71
3 833,55 759,67 738,71 c 1-1 c 2-1 c 3-1 c 1 - 2 c 2 - 2 c 3 - 2 725,67

Till ingångarna ( x 4 , x 5 , x 6 ) utsignaler från det dolda lagret levereras med en fördröjning på en klockcykel ( från 1-1,c 2 -1 , c 3 -1 ), till ingångarna ( x 7 , x 8 , x 9 ) – utsignaler från det dolda lagret med en fördröjning på två klockcykler ( från 1-2,c 2 -2 , c 3 -2 }.

Således kan träning av en återkommande ANN med dynamiskt stackminne med hjälp av backpropagation-metoden reduceras till att träna en flerskiktsperceptron genom att transformera träningsuppsättningen. För att implementera den föreslagna metoden för att träna en återkommande ANN med dynamiskt stackminne har neuroemulatorns möjligheter utökats NeuroNADS .

Den objektorienterade modellen av en återkommande ANN med dynamiskt stackminne presenteras i klassdiagrammet (fig. 4).

Ris. 4. Diagram över huvudklasserna som implementerar en återkommande ANN med dynamiskt stackminne

Till skillnad från klass Lager, som är en behållare för flerskiktiga perceptronneuroner, klass LayerMemory innehåller minne stackOut, implementerad som en stapel av tidigare lagersignaler. Stackstorleken ställs in med hjälp av egenskapen stackSize. I diagrammet (fig. 5) är lagerminnet avbildat som en stapel av lagerutsignaler ( y -1 , y -2 , …, y - n), Var n– stackstorlek. Varje stackcell y - i består av en rad lagerneuronutgångar ( y 1, y 2, …, y n). Stacken är organiserad så att den sista cellen efter att minnet rinner över y - n raderas, förskjuts hela kön med en position, alltså y - i = y -(i -1) .

Ris. 5. Implementering av ett lager med minne ( LayerMemory) för återkommande ANN:er med dynamiskt stackminne

Låt oss prognostisera den genomsnittliga månatliga tätheten av solaktivitet vid en våglängd på 10,7 cm för de första sex månaderna av 2012 baserat på data för 2010-2011 från Tabell. 1. För att göra detta kommer vi att bygga och träna en återkommande ANN med dynamiskt stackminne (fig. 3) med hjälp av en neuroemulator NeuroNADS. Vi kommer att ta de första 24 exemplen av tidsserierna för träningsprovet och de återstående sex exemplen för testprovet.

Vi kommer att genomföra utbildning med hjälp av en hybridalgoritm. Algoritmparametrar: inlärningssteg – 0,3, högsta belopp individer per generation – 10, mutationskoefficient – ​​0,1. Kriterier för att avbryta träningen: rotmedelkvadratfel – 0,001, antal epoker – 1000.

En av bästa resultat träning ANN visas i fig. 6 och i fig. 7. Indikatorer för tidsserieprognosfel presenteras i tabellen. 4.

blå graf över den ursprungliga tidsserien;
röd graf över nätverksutgångsvärden på träningsuppsättningen;
grönt diagram med förutsagda nätverksvärden.

Ris. 6. Resultat av en undersökning av en återkommande ANN med dynamiskt stackminne på tränings- och testprover (x-axeln är exempelnumret, y-axeln är värdet på tidsserien)

Ris. 7. Graf över förändringar i medelkvadratfelfunktionen för en återkommande ANN med dynamiskt stackminne under träning (x-axeln är antalet epoker, y-axeln är felvärdet)

Tabell 4. Indikatorer för tidsserieprognosfel

Baserat på träningsresultaten kan vi dra slutsatsen att den återkommande ANN med dynamiskt stackminne klarade uppgiften, indikatorerna för tidsserieprognosfel motsvarar acceptabla värden. Således kan återkommande ANN med dynamiskt stackminne tränas med den föreslagna metoden, och de konstruerade ANN-modellerna kan användas för att prognostisera tidsserier.

Studien genomfördes med ekonomiskt stöd från Ryska stiftelsen för grundforskning inom ramen för vetenskapligt projekt nr 14-01-00579 a.

Bibliografi:

  1. Bodyansky E.V., Rudenko O.G. Artificiella neurala nätverk: arkitekturer, utbildning, applikationer. – Kharkov: TELETECH, 2004. – 369 s.
  2. Osovsky S. Neurala nätverk för informationsbehandling / Transl. från polska I.D. Rudinsky. – M.: Finans och statistik, 2002. – 344 sid.
  3. Informations- och analyssystem [Elektronisk resurs]: data om sol- och geomagnetisk aktivitet – Åtkomstläge: http://moveinfo.ru/data/sun/select (fri tillgång) – Kap. från skärmen. - Yaz. rus.
  4. Krug P.G. Neurala nätverk och neurodatorer. M.: MPEI Publishing House, 2002 – 176 sid.
  5. NeuroNADS neuroemulator [Elektronisk resurs]: webbtjänst - Åtkomstläge: http://www.service.. från skärmen. - Yaz. rus.
  6. Belyavsky G.I., Puchkov E.V., Lila V.B. Algoritm och mjukvaruimplementering av en hybridmetod för att träna artificiella neurala nätverk // Mjukvaruprodukter och system. Tver, 2012. Nr 4. s. 96 - 100.






2024 gtavrl.ru.